Last Updated : 2025-10-06
Welcome to the comprehensive documentation for the Provisioning Platform - a modern, cloud-native infrastructure automation system built with Nushell, KCL, and Rust.
ADR Title Status
ADR-001 Project Structure Decision Accepted
ADR-002 Distribution Strategy Accepted
ADR-003 Workspace Isolation Accepted
ADR-004 Hybrid Architecture Accepted
ADR-005 Extension Framework Accepted
ADR-006 CLI Refactoring Accepted
docs/
βββ README.md (this file) # Documentation hub
βββ architecture/ # System architecture
β βββ ADR/ # Architecture Decision Records
β βββ design-principles.md
β βββ integration-patterns.md
β βββ system-overview.md
βββ user/ # User guides
β βββ getting-started.md
β βββ cli-reference.md
β βββ installation-guide.md
β βββ troubleshooting-guide.md
βββ api/ # API documentation
β βββ rest-api.md
β βββ websocket.md
β βββ extensions.md
βββ development/ # Developer guides
β βββ README.md
β βββ implementation-guide.md
β βββ kcl/ # KCL documentation
βββ guides/ # How-to guides
β βββ from-scratch.md
β βββ update-infrastructure.md
β βββ customize-infrastructure.md
βββ configuration/ # Configuration docs
β βββ workspace-config-architecture.md
βββ troubleshooting/ # Troubleshooting
β βββ CTRL-C_SUDO_HANDLING.md
βββ quick-reference/ # Quick refs
βββ SUDO_PASSWORD_HANDLING.md
The provisioning platform uses declarative configuration to manage infrastructure. Instead of manually creating resources, you define what you want in KCL configuration files, and the system makes it happen.
The system supports four operational modes:
Solo : Single developer local development
Multi-user : Team collaboration with shared services
CI/CD : Automated pipeline execution
Enterprise : Production deployment with strict compliance
Extensibility through:
Providers : Cloud platform integrations (AWS, UpCloud, Local)
Task Services : Infrastructure components (Kubernetes, databases, etc.)
Clusters : Complete deployment configurations
Extensions and packages distributed as OCI artifacts, enabling:
Industry-standard packaging
Efficient caching and bandwidth
Version pinning and rollback
Air-gapped deployments
Start with Installation Guide
Read Getting Started
Follow From Scratch Guide
Reference Quickstart Cheatsheet
Review System Overview
Study Design Principles
Read relevant ADRs
Follow Development Guide
Reference KCL Quick Reference
Understand Mode System
Learn Service Management
Review Infrastructure Management
Study OCI Registry
Read System Overview
Study all ADRs
Review Integration Patterns
Understand Multi-Repo Architecture
Multi-cloud support (AWS, UpCloud, Local)
Declarative configuration with KCL
Automated dependency resolution
Batch operations with rollback
Hybrid Rust/Nushell orchestration
Checkpoint-based recovery
Parallel execution with limits
Real-time monitoring
Containerized testing
Multi-node cluster simulation
Topology templates
Automated cleanup
Solo: Local development
Multi-user: Team collaboration
CI/CD: Automated pipelines
Enterprise: Production deployment
OCI-native distribution
Automatic dependency resolution
Version management
Local and remote sources
Provider-agnostic batch operations
Mixed provider support (UpCloud + AWS + local)
Dependency resolution with soft/hard dependencies
Real-time monitoring and rollback
Solves Nushell deep call stack limitations
Preserves all business logic
REST API for external integration
Checkpoint-based state management
Migrated from ENV to config-driven
Hierarchical configuration loading
Variable interpolation
True IaC without hardcoded fallbacks
84% reduction in main file size
Domain-driven handlers
80+ shortcuts
Bi-directional help system
Automated containerized testing
Multi-node cluster topologies
CI/CD integration ready
Template-based configurations
Centralized workspace management
Single-command workspace switching
Active workspace tracking
User preference system
Component Technology Purpose
Core CLI Nushell 0.107.1 Shell and scripting
Configuration KCL 0.11.2 Type-safe IaC
Orchestrator Rust High-performance coordination
Templates Jinja2 (nu_plugin_tera) Code generation
Secrets SOPS 3.10.2 + Age 1.2.1 Encryption
Distribution OCI (skopeo/crane/oras) Artifact management
Documentation : Youβre reading it!
Quick Reference : Run provisioning sc or provisioning guide quickstart
Help System : Run provisioning help or provisioning <command> help
Interactive Shell : Run provisioning nu for Nushell REPL
Check Troubleshooting Guide
Review FAQ
Enable debug mode: provisioning --debug <command>
Check logs: provisioning platform logs <service>
This project welcomes contributions! See Development Guide for:
Development setup
Code style guidelines
Testing requirements
Pull request process
[Add license information]
Version Date Major Changes
3.5.0 2025-10-06 Mode system, OCI registry, comprehensive documentation
3.4.0 2025-10-06 Test environment service
3.3.0 2025-09-30 Interactive guides system
3.2.0 2025-09-30 Modular CLI refactoring
3.1.0 2025-09-25 Batch workflow system
3.0.0 2025-09-25 Hybrid orchestrator architecture
2.0.5 2025-10-02 Workspace switching system
2.0.0 2025-09-23 Configuration system migration
Maintained By : Provisioning Team
Last Review : 2025-10-06
Next Review : 2026-01-06