# 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](getting-started/prerequisites.md) - System requirements and dependencies
2. [Installation](getting-started/installation.md) - Install the platform
3. [Quick Start](getting-started/quick-start.md) - 5-minute deployment tutorial
4. [First Deployment](getting-started/first-deployment.md) - 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](examples/README.md) section
## License
See project LICENSE file for details.