2025-10-07 10:59:52 +01:00

3.9 KiB

Unattended Mode Quick Start

🚀 One-Command Installation

# Solo Developer (minimal setup)
provisioning-installer --unattended --config provisioning/config/installer-examples/solo.toml

# Team Collaboration
provisioning-installer --unattended --config provisioning/config/installer-examples/multi-user.toml

# CI/CD Pipeline
provisioning-installer --unattended --config provisioning/config/installer-examples/cicd.toml

# Enterprise Production
provisioning-installer --unattended --config provisioning/config/installer-examples/enterprise.toml

📋 Key Features

Zero User Interaction - Completely automated Webhook Notifications - Real-time progress updates Failure Recovery - Automatic cleanup on errors Multi-Platform - Docker, Podman, Kubernetes, OrbStack

🔧 Basic Configuration

# my-config.toml
installation_id = "my-deployment"
verbose = false
fail_fast = true
cleanup_on_failure = true

[deployment]
platform = "Docker"
mode = "Solo"
domain = "localhost"
auto_generate_secrets = true

# Optional webhooks
[notifications]
webhook_url = "https://example.com/webhook"
notify_progress = true
notify_completion = true
notify_failure = true

🐳 Platform-Specific Commands

Docker

provisioning-installer --unattended --config config.toml
# Deploys using docker-compose

Kubernetes

provisioning-installer --unattended --config config.toml
# Deploys using kubectl apply

Podman

provisioning-installer --unattended --config config.toml
# Deploys using podman-compose

🤖 Kubernetes Self-Install

cd provisioning/extensions/taskservs/kubernetes

# Query MCP and install
./self-install.nu \
  --mcp-url http://localhost:8084 \
  --workspace production \
  --infra k8s-cluster

# Generate sample config
./self-install.nu sample --output kubernetes-install.toml

# Dry-run (no installation)
./self-install.nu --dry-run

🔔 Webhook Integration

Slack

[notifications]
webhook_url = "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"

Discord

[notifications]
webhook_url = "https://discord.com/api/webhooks/YOUR/WEBHOOK"

Custom API

[notifications]
webhook_url = "https://api.example.com/webhook"

[notifications.headers]
Authorization = "Bearer ${API_TOKEN}"

🔄 CI/CD Integration

GitHub Actions

- name: Deploy
  run: |
    provisioning-installer --unattended \
      --config provisioning/config/installer-examples/cicd.toml
  env:
    WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }}

GitLab CI

deploy:
  script:
    - provisioning-installer --unattended --config cicd.toml

Jenkins

sh 'provisioning-installer --unattended --config cicd.toml'

📊 Deployment Modes

Mode Services Resources Use Case
Solo 5-7 2 CPU, 4GB Development
MultiUser 7-8 4 CPU, 8GB Team collaboration
CICD 8-10 8 CPU, 16GB Automation
Enterprise 15+ 16 CPU, 32GB Production

🛠️ Troubleshooting

View Verbose Logs

provisioning-installer --unattended --config config.toml
# Edit config: verbose = true

Skip Cleanup on Failure

# Edit config: cleanup_on_failure = false

Continue on Errors

# Edit config: fail_fast = false

📚 Documentation

🆘 Support

  • Configuration issues: Check TOML syntax
  • Webhook failures: Verify URL and authentication
  • Platform errors: Check platform prerequisites

Quick Links: