Skip to main content

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 --version
    

    If not installed:

    python -m pip install --user pipx
    pipx ensurepath
    
  • A container daemon running:

    • Docker:
      docker info
      
    • Podman:
      podman info
      

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)

Source distribution for verti-osi 2.5.2
File Size Uploaded
verti_osi-2.5.2.tar.gz 21.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for verti-osi 2.5.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.5.2 This release

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.9.9

2 release files

1.8.7

2 release files

1.8.6

2 release files

1.8.5

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.6

2 release files

1.7.5

2 release files

1.5.0

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page