provisioning/docs/book/index.html
Jesús Pérez 6a59d34bb1
chore: update provisioning configuration and documentation
Update configuration files, templates, and internal documentation
for the provisioning repository system.

Configuration Updates:
- KMS configuration modernization
- Plugin system settings
- Service port mappings
- Test cluster topologies
- Installation configuration examples
- VM configuration defaults
- Cedar authorization policies

Documentation Updates:
- Library module documentation
- Extension API guides
- AI system documentation
- Service management guides
- Test environment setup
- Plugin usage guides
- Validator configuration documentation

All changes are backward compatible.
2025-12-11 21:50:42 +00:00

569 lines
33 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML>
<html lang="en" class="ayu sidebar-visible" dir="ltr">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>Introduction - Provisioning Platform Documentation</title>
<!-- Custom HTML head -->
<meta name="description" content="Complete documentation for the Provisioning Platform - Infrastructure automation with Nushell, KCL, and Rust">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff">
<link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" id="highlight-css" href="highlight.css">
<link rel="stylesheet" id="tomorrow-night-css" href="tomorrow-night.css">
<link rel="stylesheet" id="ayu-highlight-css" href="ayu-highlight.css">
<!-- Custom theme stylesheets -->
<!-- Provide site root and default themes to javascript -->
<script>
const path_to_root = "";
const default_light_theme = "ayu";
const default_dark_theme = "navy";
</script>
<!-- Start loading toc.js asap -->
<script src="toc.js"></script>
</head>
<body>
<div id="mdbook-help-container">
<div id="mdbook-help-popup">
<h2 class="mdbook-help-title">Keyboard shortcuts</h2>
<div>
<p>Press <kbd></kbd> or <kbd></kbd> to navigate between chapters</p>
<p>Press <kbd>S</kbd> or <kbd>/</kbd> to search in the book</p>
<p>Press <kbd>?</kbd> to show this help</p>
<p>Press <kbd>Esc</kbd> to hide this help</p>
</div>
</div>
</div>
<div id="body-container">
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script>
try {
let theme = localStorage.getItem('mdbook-theme');
let sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script>
const default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? default_dark_theme : default_light_theme;
let theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
const html = document.documentElement;
html.classList.remove('ayu')
html.classList.add(theme);
html.classList.add("js");
</script>
<input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
<!-- Hide / unhide sidebar before it is displayed -->
<script>
let sidebar = null;
const sidebar_toggle = document.getElementById("sidebar-toggle-anchor");
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
} else {
sidebar = 'hidden';
}
sidebar_toggle.checked = sidebar === 'visible';
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<!-- populated by js -->
<mdbook-sidebar-scrollbox class="sidebar-scrollbox"></mdbook-sidebar-scrollbox>
<noscript>
<iframe class="sidebar-iframe-outer" src="toc.html"></iframe>
</noscript>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
</div>
</nav>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky">
<div class="left-buttons">
<label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</label>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="default_theme">Auto</button></li>
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
</ul>
<button id="search-toggle" class="icon-button" type="button" title="Search (`/`)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="/ s" aria-controls="searchbar">
<i class="fa fa-search"></i>
</button>
</div>
<h1 class="menu-title">Provisioning Platform Documentation</h1>
<div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i>
</a>
<a href="https://github.com/provisioning/provisioning-platform" title="Git repository" aria-label="Git repository">
<i id="git-repository-button" class="fa fa-github"></i>
</a>
<a href="https://github.com/provisioning/provisioning-platform/edit/main/provisioning/docs/src/README.md" title="Suggest an edit" aria-label="Suggest an edit">
<i id="git-edit-button" class="fa fa-edit"></i>
</a>
</div>
</div>
<div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>
<div id="searchresults-outer" class="searchresults-outer hidden">
<div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script>
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
<p align="center">
<img src="resources/provisioning_logo.svg" alt="Provisioning Logo" width="300"/>
</p>
<p align="center">
<img src="resources/logo-text.svg" alt="Provisioning" width="500"/>
</p>
<h1 id="provisioning-platform-documentation"><a class="header" href="#provisioning-platform-documentation">Provisioning Platform Documentation</a></h1>
<p><strong>Last Updated</strong>: 2025-10-06</p>
<p>Welcome to the comprehensive documentation for the Provisioning Platform - a modern, cloud-native infrastructure automation system built with Nushell, KCL, and Rust.</p>
<hr />
<h2 id="quick-navigation"><a class="header" href="#quick-navigation">Quick Navigation</a></h2>
<h3 id="-getting-started"><a class="header" href="#-getting-started">🚀 Getting Started</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Document</th><th>Description</th><th>Audience</th></tr></thead><tbody>
<tr><td><strong><a href="user/installation-guide.html">Installation Guide</a></strong></td><td>Install and configure the system</td><td>New Users</td></tr>
<tr><td><strong><a href="user/getting-started.html">Getting Started</a></strong></td><td>First steps and basic concepts</td><td>New Users</td></tr>
<tr><td><strong><a href="guides/quickstart-cheatsheet.html">Quick Reference</a></strong></td><td>Command cheat sheet</td><td>All Users</td></tr>
<tr><td><strong><a href="guides/from-scratch.html">From Scratch Guide</a></strong></td><td>Complete deployment walkthrough</td><td>New Users</td></tr>
</tbody></table>
</div>
<h3 id="-user-guides"><a class="header" href="#-user-guides">📚 User Guides</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Document</th><th>Description</th></tr></thead><tbody>
<tr><td><strong><a href="user/cli-reference.html">CLI Reference</a></strong></td><td>Complete command reference</td></tr>
<tr><td><strong><a href="user/workspace-setup.html">Workspace Management</a></strong></td><td>Workspace creation and management</td></tr>
<tr><td><strong><a href="user/WORKSPACE_SWITCHING_GUIDE.html">Workspace Switching</a></strong></td><td>Switch between workspaces</td></tr>
<tr><td><strong><a href="user/infrastructure-management.html">Infrastructure Management</a></strong></td><td>Server, taskserv, cluster operations</td></tr>
<tr><td><strong><a href="user/MODE_SYSTEM_QUICK_REFERENCE.html">Mode System</a></strong></td><td>Solo, Multi-user, CI/CD, Enterprise modes</td></tr>
<tr><td><strong><a href="user/SERVICE_MANAGEMENT_GUIDE.html">Service Management</a></strong></td><td>Platform service lifecycle management</td></tr>
<tr><td><strong><a href="user/OCI_REGISTRY_GUIDE.html">OCI Registry</a></strong></td><td>OCI artifact management</td></tr>
<tr><td><strong><a href="user/GITEA_INTEGRATION_GUIDE.html">Gitea Integration</a></strong></td><td>Git workflow and collaboration</td></tr>
<tr><td><strong><a href="user/COREDNS_GUIDE.html">CoreDNS Guide</a></strong></td><td>DNS management</td></tr>
<tr><td><strong><a href="user/test-environment-usage.html">Test Environments</a></strong></td><td>Containerized testing</td></tr>
<tr><td><strong><a href="user/extension-development.html">Extension Development</a></strong></td><td>Create custom extensions</td></tr>
</tbody></table>
</div>
<h3 id="-architecture"><a class="header" href="#-architecture">🏗️ Architecture</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Document</th><th>Description</th></tr></thead><tbody>
<tr><td><strong><a href="architecture/system-overview.html">System Overview</a></strong></td><td>High-level architecture</td></tr>
<tr><td><strong><a href="architecture/MULTI_REPO_ARCHITECTURE.html">Multi-Repo Architecture</a></strong></td><td>Repository structure and OCI distribution</td></tr>
<tr><td><strong><a href="architecture/design-principles.html">Design Principles</a></strong></td><td>Architectural philosophy</td></tr>
<tr><td><strong><a href="architecture/integration-patterns.html">Integration Patterns</a></strong></td><td>System integration patterns</td></tr>
<tr><td><strong><a href="architecture/kcl-import-patterns.html">KCL Import Patterns</a></strong></td><td>KCL module organization</td></tr>
<tr><td><strong><a href="architecture/orchestrator-integration-model.html">Orchestrator Model</a></strong></td><td>Hybrid orchestration architecture</td></tr>
</tbody></table>
</div>
<h3 id="-architecture-decision-records-adrs"><a class="header" href="#-architecture-decision-records-adrs">📋 Architecture Decision Records (ADRs)</a></h3>
<div class="table-wrapper"><table><thead><tr><th>ADR</th><th>Title</th><th>Status</th></tr></thead><tbody>
<tr><td><strong><a href="architecture/ADR-001-project-structure.html">ADR-001</a></strong></td><td>Project Structure Decision</td><td>Accepted</td></tr>
<tr><td><strong><a href="architecture/ADR-002-distribution-strategy.html">ADR-002</a></strong></td><td>Distribution Strategy</td><td>Accepted</td></tr>
<tr><td><strong><a href="architecture/ADR-003-workspace-isolation.html">ADR-003</a></strong></td><td>Workspace Isolation</td><td>Accepted</td></tr>
<tr><td><strong><a href="architecture/ADR-004-hybrid-architecture.html">ADR-004</a></strong></td><td>Hybrid Architecture</td><td>Accepted</td></tr>
<tr><td><strong><a href="architecture/ADR-005-extension-framework.html">ADR-005</a></strong></td><td>Extension Framework</td><td>Accepted</td></tr>
<tr><td><strong><a href="architecture/ADR-006-provisioning-cli-refactoring.html">ADR-006</a></strong></td><td>CLI Refactoring</td><td>Accepted</td></tr>
</tbody></table>
</div>
<h3 id="-api-documentation"><a class="header" href="#-api-documentation">🔌 API Documentation</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Document</th><th>Description</th></tr></thead><tbody>
<tr><td><strong><a href="api/rest-api.html">REST API</a></strong></td><td>HTTP API endpoints</td></tr>
<tr><td><strong><a href="api/websocket.html">WebSocket API</a></strong></td><td>Real-time event streams</td></tr>
<tr><td><strong><a href="api/extensions.html">Extensions API</a></strong></td><td>Extension integration APIs</td></tr>
<tr><td><strong><a href="api/sdks.html">SDKs</a></strong></td><td>Client libraries</td></tr>
<tr><td><strong><a href="api/integration-examples.html">Integration Examples</a></strong></td><td>API usage examples</td></tr>
</tbody></table>
</div>
<h3 id="-development"><a class="header" href="#-development">🛠️ Development</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Document</th><th>Description</th></tr></thead><tbody>
<tr><td><strong><a href="development/README.html">Development README</a></strong></td><td>Developer overview</td></tr>
<tr><td><strong><a href="development/implementation-guide.html">Implementation Guide</a></strong></td><td>Implementation details</td></tr>
<tr><td><strong><a href="development/kcl/KCL_MODULE_SYSTEM_IMPLEMENTATION.html">KCL Module System</a></strong></td><td>KCL organization</td></tr>
<tr><td><strong><a href="development/kcl/KCL_QUICK_REFERENCE.html">KCL Quick Reference</a></strong></td><td>KCL syntax and patterns</td></tr>
<tr><td><strong><a href="development/QUICK_PROVIDER_GUIDE.html">Provider Development</a></strong></td><td>Create cloud providers</td></tr>
<tr><td><strong><a href="development/TASKSERV_DEVELOPER_GUIDE.html">Taskserv Development</a></strong></td><td>Create task services</td></tr>
<tr><td><strong><a href="development/extensions.html">Extension Framework</a></strong></td><td>Extension system</td></tr>
<tr><td><strong><a href="development/COMMAND_HANDLER_GUIDE.html">Command Handlers</a></strong></td><td>CLI command development</td></tr>
</tbody></table>
</div>
<h3 id="-troubleshooting"><a class="header" href="#-troubleshooting">🐛 Troubleshooting</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Document</th><th>Description</th></tr></thead><tbody>
<tr><td><strong><a href="user/troubleshooting-guide.html">Troubleshooting Guide</a></strong></td><td>Common issues and solutions</td></tr>
<tr><td><strong><a href="troubleshooting/CTRL-C_SUDO_HANDLING.html">CTRL-C Handling</a></strong></td><td>Signal and sudo handling</td></tr>
</tbody></table>
</div>
<h3 id="-how-to-guides"><a class="header" href="#-how-to-guides">📖 How-To Guides</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Document</th><th>Description</th></tr></thead><tbody>
<tr><td><strong><a href="guides/from-scratch.html">From Scratch</a></strong></td><td>Complete deployment from zero</td></tr>
<tr><td><strong><a href="guides/update-infrastructure.html">Update Infrastructure</a></strong></td><td>Safe update procedures</td></tr>
<tr><td><strong><a href="guides/customize-infrastructure.html">Customize Infrastructure</a></strong></td><td>Layer and template customization</td></tr>
</tbody></table>
</div>
<h3 id="-configuration"><a class="header" href="#-configuration">🔐 Configuration</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Document</th><th>Description</th></tr></thead><tbody>
<tr><td><strong><a href="user/configuration.html">Configuration Guide</a></strong></td><td>Configuration system overview</td></tr>
<tr><td><strong><a href="configuration/workspace-config-architecture.html">Workspace Config Architecture</a></strong></td><td>Configuration architecture</td></tr>
<tr><td><strong><a href="configuration/TARGET_BASED_CONFIG_COMPLETE_IMPLEMENTATION.html">Target-Based Config</a></strong></td><td>Configuration targeting</td></tr>
</tbody></table>
</div>
<h3 id="-quick-references"><a class="header" href="#-quick-references">📦 Quick References</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Document</th><th>Description</th></tr></thead><tbody>
<tr><td><strong><a href="guides/quickstart-cheatsheet.html">Quickstart Cheatsheet</a></strong></td><td>Command shortcuts</td></tr>
<tr><td><strong><a href="QUICK_REFERENCE_OCI.html">OCI Quick Reference</a></strong></td><td>OCI operations</td></tr>
<tr><td><strong><a href="user/MODE_SYSTEM_QUICK_REFERENCE.html">Mode System Quick Reference</a></strong></td><td>Mode commands</td></tr>
<tr><td><strong><a href="user/COREDNS_QUICK_REFERENCE.html">CoreDNS Quick Reference</a></strong></td><td>DNS commands</td></tr>
<tr><td><strong><a href="user/SERVICE_MANAGEMENT_QUICKREF.html">Service Management Quick Reference</a></strong></td><td>Service commands</td></tr>
</tbody></table>
</div>
<hr />
<h2 id="documentation-structure"><a class="header" href="#documentation-structure">Documentation Structure</a></h2>
<pre><code>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
</code></pre>
<hr />
<h2 id="key-concepts"><a class="header" href="#key-concepts">Key Concepts</a></h2>
<h3 id="infrastructure-as-code-iac"><a class="header" href="#infrastructure-as-code-iac">Infrastructure as Code (IaC)</a></h3>
<p>The provisioning platform uses <strong>declarative configuration</strong> to manage infrastructure. Instead of manually creating resources, you define what you want in KCL configuration files, and the system makes it happen.</p>
<h3 id="mode-based-architecture"><a class="header" href="#mode-based-architecture">Mode-Based Architecture</a></h3>
<p>The system supports four operational modes:</p>
<ul>
<li><strong>Solo</strong>: Single developer local development</li>
<li><strong>Multi-user</strong>: Team collaboration with shared services</li>
<li><strong>CI/CD</strong>: Automated pipeline execution</li>
<li><strong>Enterprise</strong>: Production deployment with strict compliance</li>
</ul>
<h3 id="extension-system"><a class="header" href="#extension-system">Extension System</a></h3>
<p>Extensibility through:</p>
<ul>
<li><strong>Providers</strong>: Cloud platform integrations (AWS, UpCloud, Local)</li>
<li><strong>Task Services</strong>: Infrastructure components (Kubernetes, databases, etc.)</li>
<li><strong>Clusters</strong>: Complete deployment configurations</li>
</ul>
<h3 id="oci-native-distribution"><a class="header" href="#oci-native-distribution">OCI-Native Distribution</a></h3>
<p>Extensions and packages distributed as OCI artifacts, enabling:</p>
<ul>
<li>Industry-standard packaging</li>
<li>Efficient caching and bandwidth</li>
<li>Version pinning and rollback</li>
<li>Air-gapped deployments</li>
</ul>
<hr />
<h2 id="documentation-by-role"><a class="header" href="#documentation-by-role">Documentation by Role</a></h2>
<h3 id="for-new-users"><a class="header" href="#for-new-users">For New Users</a></h3>
<ol>
<li>Start with <strong><a href="user/installation-guide.html">Installation Guide</a></strong></li>
<li>Read <strong><a href="user/getting-started.html">Getting Started</a></strong></li>
<li>Follow <strong><a href="guides/from-scratch.html">From Scratch Guide</a></strong></li>
<li>Reference <strong><a href="guides/quickstart-cheatsheet.html">Quickstart Cheatsheet</a></strong></li>
</ol>
<h3 id="for-developers"><a class="header" href="#for-developers">For Developers</a></h3>
<ol>
<li>Review <strong><a href="architecture/system-overview.html">System Overview</a></strong></li>
<li>Study <strong><a href="architecture/design-principles.html">Design Principles</a></strong></li>
<li>Read relevant <strong><a href="architecture/">ADRs</a></strong></li>
<li>Follow <strong><a href="development/README.html">Development Guide</a></strong></li>
<li>Reference <strong><a href="development/kcl/KCL_QUICK_REFERENCE.html">KCL Quick Reference</a></strong></li>
</ol>
<h3 id="for-operators"><a class="header" href="#for-operators">For Operators</a></h3>
<ol>
<li>Understand <strong><a href="user/MODE_SYSTEM_QUICK_REFERENCE.html">Mode System</a></strong></li>
<li>Learn <strong><a href="user/SERVICE_MANAGEMENT_GUIDE.html">Service Management</a></strong></li>
<li>Review <strong><a href="user/infrastructure-management.html">Infrastructure Management</a></strong></li>
<li>Study <strong><a href="user/OCI_REGISTRY_GUIDE.html">OCI Registry</a></strong></li>
</ol>
<h3 id="for-architects"><a class="header" href="#for-architects">For Architects</a></h3>
<ol>
<li>Read <strong><a href="architecture/system-overview.html">System Overview</a></strong></li>
<li>Study all <strong><a href="architecture/">ADRs</a></strong></li>
<li>Review <strong><a href="architecture/integration-patterns.html">Integration Patterns</a></strong></li>
<li>Understand <strong><a href="architecture/MULTI_REPO_ARCHITECTURE.html">Multi-Repo Architecture</a></strong></li>
</ol>
<hr />
<h2 id="system-capabilities"><a class="header" href="#system-capabilities">System Capabilities</a></h2>
<h3 id="-infrastructure-automation"><a class="header" href="#-infrastructure-automation">✅ Infrastructure Automation</a></h3>
<ul>
<li>Multi-cloud support (AWS, UpCloud, Local)</li>
<li>Declarative configuration with KCL</li>
<li>Automated dependency resolution</li>
<li>Batch operations with rollback</li>
</ul>
<h3 id="-workflow-orchestration"><a class="header" href="#-workflow-orchestration">✅ Workflow Orchestration</a></h3>
<ul>
<li>Hybrid Rust/Nushell orchestration</li>
<li>Checkpoint-based recovery</li>
<li>Parallel execution with limits</li>
<li>Real-time monitoring</li>
</ul>
<h3 id="-test-environments"><a class="header" href="#-test-environments">✅ Test Environments</a></h3>
<ul>
<li>Containerized testing</li>
<li>Multi-node cluster simulation</li>
<li>Topology templates</li>
<li>Automated cleanup</li>
</ul>
<h3 id="-mode-based-operation"><a class="header" href="#-mode-based-operation">✅ Mode-Based Operation</a></h3>
<ul>
<li>Solo: Local development</li>
<li>Multi-user: Team collaboration</li>
<li>CI/CD: Automated pipelines</li>
<li>Enterprise: Production deployment</li>
</ul>
<h3 id="-extension-management"><a class="header" href="#-extension-management">✅ Extension Management</a></h3>
<ul>
<li>OCI-native distribution</li>
<li>Automatic dependency resolution</li>
<li>Version management</li>
<li>Local and remote sources</li>
</ul>
<hr />
<h2 id="key-achievements"><a class="header" href="#key-achievements">Key Achievements</a></h2>
<h3 id="-batch-workflow-system-v310"><a class="header" href="#-batch-workflow-system-v310">🚀 Batch Workflow System (v3.1.0)</a></h3>
<ul>
<li>Provider-agnostic batch operations</li>
<li>Mixed provider support (UpCloud + AWS + local)</li>
<li>Dependency resolution with soft/hard dependencies</li>
<li>Real-time monitoring and rollback</li>
</ul>
<h3 id="-hybrid-orchestrator-v300"><a class="header" href="#-hybrid-orchestrator-v300">🏗️ Hybrid Orchestrator (v3.0.0)</a></h3>
<ul>
<li>Solves Nushell deep call stack limitations</li>
<li>Preserves all business logic</li>
<li>REST API for external integration</li>
<li>Checkpoint-based state management</li>
</ul>
<h3 id="-configuration-system-v200"><a class="header" href="#-configuration-system-v200">⚙️ Configuration System (v2.0.0)</a></h3>
<ul>
<li>Migrated from ENV to config-driven</li>
<li>Hierarchical configuration loading</li>
<li>Variable interpolation</li>
<li>True IaC without hardcoded fallbacks</li>
</ul>
<h3 id="-modular-cli-v320"><a class="header" href="#-modular-cli-v320">🎯 Modular CLI (v3.2.0)</a></h3>
<ul>
<li>84% reduction in main file size</li>
<li>Domain-driven handlers</li>
<li>80+ shortcuts</li>
<li>Bi-directional help system</li>
</ul>
<h3 id="-test-environment-service-v340"><a class="header" href="#-test-environment-service-v340">🧪 Test Environment Service (v3.4.0)</a></h3>
<ul>
<li>Automated containerized testing</li>
<li>Multi-node cluster topologies</li>
<li>CI/CD integration ready</li>
<li>Template-based configurations</li>
</ul>
<h3 id="-workspace-switching-v205"><a class="header" href="#-workspace-switching-v205">🔄 Workspace Switching (v2.0.5)</a></h3>
<ul>
<li>Centralized workspace management</li>
<li>Single-command workspace switching</li>
<li>Active workspace tracking</li>
<li>User preference system</li>
</ul>
<hr />
<h2 id="technology-stack"><a class="header" href="#technology-stack">Technology Stack</a></h2>
<div class="table-wrapper"><table><thead><tr><th>Component</th><th>Technology</th><th>Purpose</th></tr></thead><tbody>
<tr><td><strong>Core CLI</strong></td><td>Nushell 0.107.1</td><td>Shell and scripting</td></tr>
<tr><td><strong>Configuration</strong></td><td>KCL 0.11.2</td><td>Type-safe IaC</td></tr>
<tr><td><strong>Orchestrator</strong></td><td>Rust</td><td>High-performance coordination</td></tr>
<tr><td><strong>Templates</strong></td><td>Jinja2 (nu_plugin_tera)</td><td>Code generation</td></tr>
<tr><td><strong>Secrets</strong></td><td>SOPS 3.10.2 + Age 1.2.1</td><td>Encryption</td></tr>
<tr><td><strong>Distribution</strong></td><td>OCI (skopeo/crane/oras)</td><td>Artifact management</td></tr>
</tbody></table>
</div>
<hr />
<h2 id="support"><a class="header" href="#support">Support</a></h2>
<h3 id="getting-help"><a class="header" href="#getting-help">Getting Help</a></h3>
<ul>
<li><strong>Documentation</strong>: Youre reading it!</li>
<li><strong>Quick Reference</strong>: Run <code>provisioning sc</code> or <code>provisioning guide quickstart</code></li>
<li><strong>Help System</strong>: Run <code>provisioning help</code> or <code>provisioning &lt;command&gt; help</code></li>
<li><strong>Interactive Shell</strong>: Run <code>provisioning nu</code> for Nushell REPL</li>
</ul>
<h3 id="reporting-issues"><a class="header" href="#reporting-issues">Reporting Issues</a></h3>
<ul>
<li>Check <strong><a href="user/troubleshooting-guide.html">Troubleshooting Guide</a></strong></li>
<li>Review <strong><a href="user/troubleshooting-guide.html#faq">FAQ</a></strong></li>
<li>Enable debug mode: <code>provisioning --debug &lt;command&gt;</code></li>
<li>Check logs: <code>provisioning platform logs &lt;service&gt;</code></li>
</ul>
<hr />
<h2 id="contributing"><a class="header" href="#contributing">Contributing</a></h2>
<p>This project welcomes contributions! See <strong><a href="development/README.html">Development Guide</a></strong> for:</p>
<ul>
<li>Development setup</li>
<li>Code style guidelines</li>
<li>Testing requirements</li>
<li>Pull request process</li>
</ul>
<hr />
<h2 id="license"><a class="header" href="#license">License</a></h2>
<p>[Add license information]</p>
<hr />
<h2 id="version-history"><a class="header" href="#version-history">Version History</a></h2>
<div class="table-wrapper"><table><thead><tr><th>Version</th><th>Date</th><th>Major Changes</th></tr></thead><tbody>
<tr><td><strong>3.5.0</strong></td><td>2025-10-06</td><td>Mode system, OCI registry, comprehensive documentation</td></tr>
<tr><td><strong>3.4.0</strong></td><td>2025-10-06</td><td>Test environment service</td></tr>
<tr><td><strong>3.3.0</strong></td><td>2025-09-30</td><td>Interactive guides system</td></tr>
<tr><td><strong>3.2.0</strong></td><td>2025-09-30</td><td>Modular CLI refactoring</td></tr>
<tr><td><strong>3.1.0</strong></td><td>2025-09-25</td><td>Batch workflow system</td></tr>
<tr><td><strong>3.0.0</strong></td><td>2025-09-25</td><td>Hybrid orchestrator architecture</td></tr>
<tr><td><strong>2.0.5</strong></td><td>2025-10-02</td><td>Workspace switching system</td></tr>
<tr><td><strong>2.0.0</strong></td><td>2025-09-23</td><td>Configuration system migration</td></tr>
</tbody></table>
</div>
<hr />
<p><strong>Maintained By</strong>: Provisioning Team
<strong>Last Review</strong>: 2025-10-06
<strong>Next Review</strong>: 2026-01-06</p>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="next prefetch" href="GLOSSARY.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="next prefetch" href="GLOSSARY.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
</div>
<!-- Livereload script (if served using the cli tool) -->
<script>
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script>
window.playground_copyable = true;
</script>
<script src="elasticlunr.min.js"></script>
<script src="mark.min.js"></script>
<script src="searcher.js"></script>
<script src="clipboard.min.js"></script>
<script src="highlight.js"></script>
<script src="book.js"></script>
<!-- Custom JS scripts -->
</div>
</body>
</html>