Verti-OSI CLI Tool Documentation
Overview
Verti-OSI is a command-line tool for generating OCI-compliant container images and Dockerfiles based on your application source code.
It supports flexible configurations via CLI parameters or a YAML file.
You can:
- Generate a Dockerfile
- Build a container image
- Supply custom build-time and run-time base images
- Use custom build commands, pre-build commands, and environment variables
- Pull code from a remote repository
- Support multiple platforms (e.g.,
linux/amd64,linux/arm64)
Supported Languages
- Python (detects
requirements.txt/pyproject.toml) - Node.js (detects
package.json)
Prerequisites
Make sure you have:
-
Python 3.7+ installed:
python --version -
pipx installed:
pipx --versionIf not installed:
python -m pip install --user pipx pipx ensurepath
-
A container daemon running:
- Docker:
docker info - Podman:
podman info
- Docker:
Installation
Install Verti-OSI globally with pipx:
pipx install verti-osi
Usage
After installing, invoke the CLI tool using:
verti-osi
Verti-OSI has two main commands:
| Command | Description |
|---|---|
dockerfile |
Generate a Dockerfile only |
image |
Build a container image (can also generate the Dockerfile internally) |
Command Reference
Generate an Image
verti-osi image [OPTIONS]
Key CLI options:
| Option | Description |
|---|---|
--file-dir |
Path to verti-osi.yaml config file |
--root-directory |
Project's root directory (default: .) |
--source-directory |
Source code directory (default: .) |
--image-name |
Name of the generated image |
--build-image |
Base image to use during build |
--run-time-image |
Base image for runtime |
--platforms |
Comma-separated build platforms |
--repository-url |
Git repository URL |
--repository-branch |
Git repository branch |
--env-vars |
Environment variables for all stages |
--env-vars-rt |
Runtime-specific environment variables |
--env-vars-bt |
Build-time-specific environment variables |
--pre-build-commands |
Commands before build |
--build-commands |
Build commands |
--output |
Image output: tar, registry, standard |
--delete-generated-dockerfile |
Delete Dockerfile after build (True/False) |
--run-generated-image |
Run image after build (True/False) |
--port |
Port to expose (default: 8080) |
--daemon |
Container daemon (docker or podman) |
Generate a Dockerfile
verti-osi dockerfile [OPTIONS]
Key CLI options:
Same as image command, but without:
--platforms--output--run-generated-image
Configuration via YAML
You can define all parameters using a verti-osi.yaml config file.
Then invoke:
verti-osi <image | dockerfile> --file-dir <path-to-directory>
Example verti-osi.yaml
image-name: verti-node-app:v1
source-directory: ./src
root-directory: .
delete-generated-dockerfile: true
daemon: docker
output-type: tar
platform:
- linux/amd64
- linux/arm64
pre-build:
- echo "Running pre-build steps"
build:
- npm run build
env-vars:
- name: API_KEY
value: abc123
type: both
- name: DEBUG
value: true
type: runtime
port: 8080
remote-source-repository:
git:
url: https://github.com/example/project
branch: main
images:
build: node:20-slim
run-time: node:20-alpine
Examples
1. Build and Push an Image to Registry
verti-osi image --root-directory . \
--source-directory ./src \
--image-name myorg/myapp:v1 \
--output registry
2. Generate Dockerfile Only
verti-osi dockerfile --root-directory . \
--source-directory ./src \
--output-directory ./dockerfiles
3. Full Flow (YAML + Build + Push + Clean Dockerfile)
verti-osi image --file-dir ./configs \
--output registry \
--delete-generated-dockerfile True
Features Summary
✅ Automatic Language Detection
✅ Custom Build & Run-time Images
✅ Pre-Build and Build Commands
✅ Pull Source from Git Repositories
✅ Multi-Platform Build Support
✅ Dockerfile Only Generation
✅ Docker or Podman Support
✅ Configurable via CLI or YAML
License
Verti-OSI is licensed under the MIT License.
Metadata
Release files for verti-osi 2.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| verti_osi-2.5.2.tar.gz | 21.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| verti_osi-2.5.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.8 kB
Release files / verti_osi-2.5.2.tar.gz
| Download URL | verti_osi-2.5.2.tar.gz |
|---|---|
| Size | 21.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67c0310a9cd2da69221abcc61b72258ce392a57386a51f8eb8941e9a1a23a005
|
|
BLAKE2b-256 checksum How to use checksums |
d84fee340f0990f5642a1ae6fd4df560fe87a0005f989c9b3a9665bc781e9786
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / verti_osi-2.5.2-py3-none-any.whl
| Download URL | verti_osi-2.5.2-py3-none-any.whl |
|---|---|
| Size | 30.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f9d26b152e098be7ad8b322007cb686fb3fc4f1e5a4c79cb2ec10253669bdeb9
|
|
BLAKE2b-256 checksum How to use checksums |
4a16bd2adf5d7cb998614ed086ed5c4fdaf535d0a6ef367e7af9c4efa9989be6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|