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.7.tar.gz (19.0 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.7-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: verti_osi-1.4.7.tar.gz
  • Upload date:
  • Size: 19.0 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.7.tar.gz
Algorithm Hash digest
SHA256 38b5bad41637c4f59afe43eb8754ca7ff53e3614ed1e6014c0abd5fd37e860c6
MD5 95c09d44f59e6d0ae889bdf16fc8e74e
BLAKE2b-256 98fca25064325cc745c351ada4a2df4611b1b3b8e97c17a416e799fe9af06ffc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verti_osi-1.4.7-py3-none-any.whl
  • Upload date:
  • Size: 31.6 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 165df066658a89a24f71034e43fe5932fe2161f7ecc3b1a0dc77fb03007ec58e
MD5 31a8cc2215aa38a49574e72752e157bd
BLAKE2b-256 0528db60bc2d69fd4b131c6d86db26e04f19f3803d4bdc3adb5bd38f2601e4bc

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