Provisioning Platform Installer
Interactive Ratatui-based installer for the Provisioning Platform with Nushell fallback for automation.
Source:
provisioning/platform/installer/Status: COMPLETE - All 7 UI screens implemented (1,480 lines)
Features
- Rich Interactive TUI: Beautiful Ratatui interface with real-time feedback
- Headless Mode: Automation-friendly with Nushell scripts
- One-Click Deploy: Single command to deploy entire platform
- Platform Agnostic: Supports Docker, Podman, Kubernetes, OrbStack
- Live Progress: Real-time deployment progress and logs
- Health Checks: Automatic service health verification
Installation
cd provisioning/platform/installer
cargo build --release
cargo install --path .
Usage
Interactive TUI (Default)
provisioning-installer
The TUI guides you through:
- Platform detection (Docker, Podman, K8s, OrbStack)
- Deployment mode selection (Solo, Multi-User, CI/CD, Enterprise)
- Service selection (check/uncheck services)
- Configuration (domain, ports, secrets)
- Live deployment with progress tracking
- Success screen with access URLs
Headless Mode (Automation)
# Quick deploy with auto-detection
provisioning-installer --headless --mode solo --yes
# Fully specified
provisioning-installer \
--headless \
--platform orbstack \
--mode solo \
--services orchestrator,control-center,coredns \
--domain localhost \
--yes
# Use existing config file
provisioning-installer --headless --config my-deployment.toml --yes
Configuration Generation
# Generate config without deploying
provisioning-installer --config-only
# Deploy later with generated config
provisioning-installer --headless --config ~/.provisioning/installer-config.toml --yes
Deployment Platforms
Docker Compose
provisioning-installer --platform docker --mode solo
Requirements: Docker 20.10+, docker-compose 2.0+
OrbStack (macOS)
provisioning-installer --platform orbstack --mode solo
Requirements: OrbStack installed, 4GB RAM, 2 CPU cores
Podman (Rootless)
provisioning-installer --platform podman --mode solo
Requirements: Podman 4.0+, systemd
Kubernetes
provisioning-installer --platform kubernetes --mode enterprise
Requirements: kubectl configured, Helm 3.0+
Deployment Modes
Solo Mode (Development)
- Services: 5 core services
- Resources: 2 CPU cores, 4GB RAM, 20GB disk
- Use case: Single developer, local testing
Multi-User Mode (Team)
- Services: 7 services
- Resources: 4 CPU cores, 8GB RAM, 50GB disk
- Use case: Team collaboration, shared infrastructure
CI/CD Mode (Automation)
- Services: 8-10 services
- Resources: 8 CPU cores, 16GB RAM, 100GB disk
- Use case: Automated pipelines, webhooks
Enterprise Mode (Production)
- Services: 15+ services
- Resources: 16 CPU cores, 32GB RAM, 500GB disk
- Use case: Production deployments, full observability
CLI Options
provisioning-installer [OPTIONS]
OPTIONS:
--headless Run in headless mode (no TUI)
--mode <MODE> Deployment mode [solo|multi-user|cicd|enterprise]
--platform <PLATFORM> Target platform [docker|podman|kubernetes|orbstack]
--services <SERVICES> Comma-separated list of services
--domain <DOMAIN> Domain/hostname (default: localhost)
--yes, -y Skip confirmation prompts
--config-only Generate config without deploying
--config <FILE> Use existing config file
-h, --help Print help
-V, --version Print version
CI/CD Integration
GitLab CI
deploy_platform:
stage: deploy
script:
- provisioning-installer --headless --mode cicd --platform kubernetes --yes
only:
- main
GitHub Actions
- name: Deploy Provisioning Platform
run: |
provisioning-installer --headless --mode cicd --platform docker --yes
Nushell Scripts (Fallback)
If the Rust binary is unavailable:
cd provisioning/platform/installer/scripts
nu deploy.nu --mode solo --platform orbstack --yes
Related Documentation
- Deployment Guide: Platform Deployment
- Architecture: Platform Overview