## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Provisioning Platform Documentation

Welcome to the Provisioning Platform documentation. This is an enterprise-grade Infrastructure as Code (IaC) platform built with Rust, Nushell, and Nickel.

## What is Provisioning

Provisioning is a comprehensive infrastructure automation platform that manages complete infrastructure lifecycles across multiple cloud providers. The platform emphasizes type-safety, configuration-driven design, and workspace-first organization.

## Key Features

- Workspace Management: Default mode for organizing infrastructure, settings, schemas, and extensions
- Type-Safe Configuration: Nickel-based configuration system with validation and contracts
- Multi-Cloud Support: Unified interface for AWS, UpCloud, and local providers
- Modular CLI Architecture: 111+ commands with 84% code reduction through modularity
- Batch Workflow Engine: Orchestrate complex multi-cloud operations
- Complete Security System: Authentication, authorization, encryption, and compliance
- Extensible Architecture: Custom providers, task services, and plugins

## Getting Started

New users should start with:

1. Prerequisites - System requirements and dependencies
2. Installation - Install the platform
3. Quick Start - 5-minute deployment tutorial
4. First Deployment - Comprehensive walkthrough

## Documentation Structure

- Getting Started: Installation and initial setup
- User Guides: Workflow tutorials and best practices
- Infrastructure as Code: Nickel configuration and schema reference
- Platform Features: Core capabilities and systems
- Operations: Deployment, monitoring, and maintenance
- Security: Complete security system documentation
- Development: Extension and plugin development
- API Reference: REST API and CLI command reference
- Architecture: System design and ADRs
- Examples: Practical use cases and patterns
- Troubleshooting: Problem-solving guides

## Core Technologies

- Rust: Platform services and performance-critical components
- Nushell: Scripting, CLI, and automation
- Nickel: Type-safe infrastructure configuration
- SecretumVault: Secrets management integration

## Workspace-First Approach

Provisioning uses workspaces as the default organizational unit. A workspace contains:

- Infrastructure definitions (Nickel schemas)
- Environment-specific settings
- Custom extensions and providers
- Deployment state and metadata

All operations work within workspace context, providing isolation and consistency.

## Support and Community

- Issues: Report bugs and request features on GitHub
- Documentation: This documentation site
- Examples: See the Examples section

## License

See project LICENSE file for details.