Skip to main content

A CLI tool for generating OCI-compliant container images for Python and Node.js projects.

Project description

Verti-OSI CLI Tool Documentation

Overview

Verti-OSI is a command-line tool designed to generate OCI-compliant container images. It allows users to create container images from a specified project source directory while offering various customization options such as selecting the container runtime daemon, output type, and execution of the generated image.

Supported Languages

Currently, verti-osi supports Python and Node.js projects. The CLI automatically detects the language package manager and generates the appropriate container image.

Prerequisites

To use verti-osi, ensure the following:

  • Python 3.7+ installed. Check with:
    python --version
    
  • PIPX installed. Check with:
    pipx --version
    
    If missing, install it via:
    python -m pip install --user pipx
    pipx ensurepath
    
  • A running container daemon (Docker or Podman).
    • Docker: Ensure the daemon is running:
      docker info
      
    • Podman: Ensure Podman is installed and running:
      podman info
      

Installation (via pipx)

To install verti-osi globally using pipx, run:

pipx install verti-osi

Usage

After installation, invoke the CLI tool using verti-osi. Below is the command structure and available options:

verti-osi --root-directory <path> \
          --source-directory <path> \
          --image-name <name> \
          --daemon <daemon-type> \
          --output <output-type> \
          --delete-generated-dockerfile <True/False> \
          --run-generated-image <True/False>

Command Parameters

  • --root-directory (default: .) - The root directory of the project.
  • --source-directory (default: .) - The directory containing the project’s source code.
  • --image-name (required) - The name of the image to be generated.
  • --daemon (default: docker) - The container runtime daemon to be used (docker or podman).
  • --output (default: '') - The output type for the generated image. Supports tar, registry push, and standard image generation.
  • --delete-generated-dockerfile (default: False) - If True, the generated Dockerfile will be deleted after image creation.
  • --run-generated-image (default: False) - If True, the generated container image will be executed immediately.

Automatic Language Detection

verti-osi automatically detects the programming language based on the project structure:

  • Python: If requirements.txt or pyproject.toml is found, the CLI generates a Python-based image.
  • Node.js: If package.json is detected, the CLI generates a Node.js-based image.

Example Usage

1. Generating a container image

verti-osi --root-directory . \
          --source-directory ./src \
          --image-name nodey-js-verti:v1-normal

2. Generating and pushing an image to a registry

verti-osi --root-directory . \
          --source-directory ./src \
          --image-name my-repo/nodey-js-verti:v1 \
          --output registry

3. Generating an image and deleting the Dockerfile

verti-osi --root-directory . \
          --source-directory ./src \
          --image-name nodey-js-verti:v1 \
          --delete-generated-dockerfile True

4. Generating an image and running it immediately

verti-osi --root-directory . \
          --source-directory ./src \
          --image-name nodey-js-verti:v1 \
          --run-generated-image True

Development

If you wish to contribute or modify the tool, follow these steps:

  1. Clone the repository:

    git clone https://github.com/your-repo/verti-osi.git
    cd verti-osi
    
  2. Install the package in development mode:

    pip install -e .
    
  3. Run the CLI tool:

    verti-osi --help
    

Uninstallation

To remove verti-osi, run:

pipx uninstall verti-osi

License

Verti-OSI is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

verti_osi-1.4.4.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

verti_osi-1.4.4-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file verti_osi-1.4.4.tar.gz.

File metadata

  • Download URL: verti_osi-1.4.4.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for verti_osi-1.4.4.tar.gz
Algorithm Hash digest
SHA256 d56ccd93d097ca1f4852ee6359e4b3830c0ad60e9f441c928654e800e5d83e92
MD5 10a1949c0a7b2352f41c50973ca1de01
BLAKE2b-256 71d05fa026b6c1145f90fff664722781905a68df5f2311ab06548cf8a0a9fab5

See more details on using hashes here.

File details

Details for the file verti_osi-1.4.4-py3-none-any.whl.

File metadata

  • Download URL: verti_osi-1.4.4-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for verti_osi-1.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 23ce9fe801bb59226ef9b579b27c52b2b68c97f7ff77865490113fad051f1d30
MD5 b84764123413aa834e7eb25a95542f45
BLAKE2b-256 a2bbd5aa423e50b9055b5e1b781c71652cfdfd6e102b1e3739ff6a10320e1ec9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page