1 line
2.8 KiB
Markdown
1 line
2.8 KiB
Markdown
|
|
---\n---\n\n## Appendix A: KCL Example - Complete Server Configuration\n\n```yaml\nimport provisioning.lib as lib\nimport provisioning.settings as cfg\n\n# Type-safe server definition\nserver_config: ServerConfig = {\n name = "web-01"\n provider = "upcloud"\n plan = "2xCPU-4GB"\n zone = "de-fra1"\n\n # Automatic validation\n check:\n len(name) > 0, "Server name required"\n plan in cfg.valid_plans\n}\n```\n\n**Result**: Compilation-time validation, zero runtime surprises\n\n---\n\n## Appendix B: Batch Workflow - Multi-Cloud Example\n\n```yaml\nbatch_workflow: BatchWorkflow = {\n name = "app_deployment"\n parallel_limit = 5\n\n operations = [\n {\n id = "databases"\n type = "server_batch"\n provider = "upcloud"\n servers = [\n {name = "db-primary", ...},\n {name = "db-replica", ...}\n ]\n },\n {\n id = "compute"\n type = "server_batch"\n provider = "aws"\n dependencies = ["databases"]\n servers = [...]\n }\n ]\n}\n```\n\n---\n\n## Appendix C: Configuration Hierarchy Example\n\n**Production Environment Setup**\n\n```plaintext\n# 1. System default (provisioning/config/config.defaults.toml)\ndatabase.pool_size = 5\n\n# 2. Environment override (config/prod-defaults.toml)\ndatabase.pool_size = 50\n\n# 3. Infrastructure custom (infra/web-app/config.toml)\ndatabase.pool_size = 100\n\n# Result: Production deployment uses pool_size = 100\n```\n\n---\n\n## Appendix D: Nushell Plugin Performance\n\nOperation comparison: HTTP API vs Native Plugin\n\n<br/>\n\n| Operation | HTTP API | Plugin | Speed-up |\n|-----------|----------|--------|----------|\n| Auth check | 50ms | 10ms | **5x** |\n| KMS encrypt | 50ms | 5ms | **10x** |\n| Orchestrator query | 30ms | 1ms | **30x** |\n| Config load | 40ms | 4ms | **10x** |\n\n**Benefit**: Sub-millisecond operations for interactive use\n\n---\n\n## Appendix E: Kubernetes Integration\n\nProvisioning works seamlessly with Kubernetes\n\n<br/>\n\n```bash\n# Deploy to existing K8s cluster\nprovisioning taskserv create kubernetes --context production\n\n# Or provision new cluster + deploy\nprovisioning server create k8s-master\nprovisioning taskserv create kubernetes k8s-master --multinode\n```\n\n**Note**: Works with managed services (EKS, GKE, AKS, DigitalOcean)\n\n---\n\n## Appendix F: Break-Glass Emergency Access\n\nFor critical incidents requiring elevated privileges\n\n<br/>\n\n```bash\n# Request emergency access\nprovisioning break-glass request "Database restore needed"\n\n# Admin approval required (multi-party)\nprovisioning break-glass approve <request-id>\n\n# Access granted with audit trail\n# Auto-revocation in 1 hour\n\n# Complete audit of what was accessed\nprovisioning audit query --request-id <id>\n```
|