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 --versionIf 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
- Docker: Ensure the daemon is running:
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 (dockerorpodman).--output(default:'') - The output type for the generated image. Supportstar,registrypush, and standard image generation.--delete-generated-dockerfile(default:False) - IfTrue, the generated Dockerfile will be deleted after image creation.--run-generated-image(default:False) - IfTrue, 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.txtorpyproject.tomlis found, the CLI generates a Python-based image. - Node.js: If
package.jsonis 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:
-
Clone the repository:
git clone https://github.com/your-repo/verti-osi.git cd verti-osi
-
Install the package in development mode:
pip install -e .
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file verti_osi-1.4.1.tar.gz.
File metadata
- Download URL: verti_osi-1.4.1.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64b2cc5073dff9ff74b4762ddab42dafd39becd566e6c72821b6e86c2d0d8dd6
|
|
| MD5 |
f21b4d4fd4aef71578009f617ff0cdd9
|
|
| BLAKE2b-256 |
9169cc68ac1681484312e707037accdb7d14044562b878aa7be1f48b3a298014
|
File details
Details for the file verti_osi-1.4.1-py3-none-any.whl.
File metadata
- Download URL: verti_osi-1.4.1-py3-none-any.whl
- Upload date:
- Size: 23.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b89b11e311cab5fb4a1779723fa95a1c6cf7270beb326000d1062f138b2ad06f
|
|
| MD5 |
5cbc444a3a326bc98ab8fa9a3684d53d
|
|
| BLAKE2b-256 |
4f0aa65fd11193fb84f3f5adb10c184adf345f1499f01bad831c8cec51f6d37a
|