provisioning-outreach/presentations/pres-prvng/versions/workshop.md

1 line
9.6 KiB
Markdown
Raw Permalink Normal View History

---\ntheme: ../themes/rust-vibe\ntitle: 'Infrastructure Provisioning Platform - Workshop'\ninfo: |\n ## Infrastructure Provisioning Platform\n Complete workshop (1-2 hours, 40 slides)\n\n Comprehensive deep dive with hands-on examples\ndownload: true\ndrawings:\n persist: false\ntransition: slide-left\nmdc: true\nlayout: center\n---\n\n<img src="/logo-text.svg" alt="Provisioning Logo" class="w-140 mx-auto mt-8" />\n\n<Footer />\n\n---\n\nsrc: ../sections/01-intro.md\n---\n\n---\n\nsrc: ../sections/02-solution.md\n---\n\n---\n\nsrc: ../sections/03-features.md\n---\n\n---\n\nsrc: ../sections/04-security.md\n---\n\n---\n\nsrc: ../sections/05-usecase.md\n---\n\n---\n\nsrc: ../sections/06-demos.md\n---\n\n---\n\nsrc: ../sections/07-conclusion.md\n---\n\n---\n\nsrc: ../sections/08-appendix.md\n---\n\n## Exercise 1: Configuration Management\n\n**Task**: Set up a multi-environment configuration system\n\n**Steps**:\n\n1. Create workspace for dev/staging/prod\n2. Define environment-specific configs\n3. Deploy identical infrastructure with different settings\n4. Verify configuration hierarchy\n\n**Time**: 20 minutes\n**Objective**: Understand configuration-driven approach\n\n---\n\n## Exercise 2: Server Provisioning\n\n**Task**: Provision a web server with database\n\n**Steps**:\n\n1. Create server configuration using KCL\n2. Validate schema before deployment\n3. Create server with dry-run check\n4. Deploy taskservs (Kubernetes + PostgreSQL)\n\n**Time**: 30 minutes\n**Objective**: Hands-on experience with server lifecycle\n\n---\n\n## Exercise 3: Batch Workflow Setup\n\n**Task**: Set up multi-cloud deployment workflow\n\n**Steps**:\n\n1. Define KCL batch workflow\n2. Configure UpCloud servers\n3. Configure AWS services\n4. Set up dependency ordering\n5. Submit and monitor batch\n\n**Time**: 30 minutes\n**Objective**: Understand workflow orchestration\n\n---\n\n## Exercise 4: Security Configuration\n\n**Task**: Implement enterprise security controls\n\n**Steps**:\n\n1. Configure JWT authentication\n2. Set up Cedar authorization policies\n3. Enable MFA (TOTP + WebAuthn)\n4. Configure KMS encryption\n5. Query audit logs\n\n**Time**: 30 minutes\n**Objective**: Secure infrastructure as code\n\n---\n\n## Advanced Topic: CLI Customization\n\nHow to extend the CLI with custom commands:\n\n```bash\n# Create custom command shortcut\nprovisioning config set-shortcut mybuild "batch submit workflows/myapp.k"\n\n# Create custom workflow\nprovisioning workflow create --name "full-stack" \n --steps "server-create,taskserv-k8s,taskserv-db"\n\n# List custom configurations\nprovisioning config list-shortcuts\n```\n\n**Benefit**: Organization-specific automation\n\n---\n\n## Advanced Topic: Plugin Development\n\nExtend functionality with Nushell plugins:\n\n```nushell\n# Extend orchestrator operations\nexport def my-workflow [] {\n batch submit workflows/custom.k \n | workflow monitor \n | workflow audit\n}\n\n# Use in provisioning CLI\nprovisioning custom my-workflow --check\n```\n\n**Benefit**: 10-50x performance improvement\n\n---\n\n## Advanced Topic: KCL Validation\n\nType-safe infrastructure definitions:\n\n```yaml\nschema AppConfig:\n name: str\n environment: "dev" | "staging" | "prod"\n replicas: int\n\n check:\n len(name) > 0, "Name required"\n replicas > 0, "At least 1 replica"\n replicas <= 100, "Max 100 replicas"\n```\n\n**Benefit**: Compile-time error detection\n\n---\n\n## Advanced Topic: CI/CD Integration\n\nIntegrate with your pipeline:\n\n```yaml\ndeploy-infrastructure:\n stage: deploy\n script:\n - provisioning workspace switch $CI_ENVIRONMENT_NAME\n - provisioning validate config\n - provisioning batch submit workflows/$CI_COMMIT_REF_SLUG.k\n - provisioning workflow monitor $CI_COMMIT_SHA\n artifacts:\n reports:\n junit: test-infrastructure.xml\n```\n\n---\n\n## Advanced Topic: Migration Strategies\n\nMigrating from Terraform/Ansible:\n\n**Phase 1**: Run Provisioning alongside existing tools\n**Phase 2**: Gradually migrate workloads\n**Phase 3**: Decommission ol