179 lines
3.9 KiB
Markdown
Raw Permalink Normal View History

2025-10-07 10:59:52 +01:00
# Unattended Mode Quick Start
## 🚀 One-Command Installation
```bash
# 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
```toml
# 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
```bash
provisioning-installer --unattended --config config.toml
# Deploys using docker-compose
```
### Kubernetes
```bash
provisioning-installer --unattended --config config.toml
# Deploys using kubectl apply
```
### Podman
```bash
provisioning-installer --unattended --config config.toml
# Deploys using podman-compose
```
## 🤖 Kubernetes Self-Install
```bash
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
```toml
[notifications]
webhook_url = "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
```
### Discord
```toml
[notifications]
webhook_url = "https://discord.com/api/webhooks/YOUR/WEBHOOK"
```
### Custom API
```toml
[notifications]
webhook_url = "https://api.example.com/webhook"
[notifications.headers]
Authorization = "Bearer ${API_TOKEN}"
```
## 🔄 CI/CD Integration
### GitHub Actions
```yaml
- name: Deploy
run: |
provisioning-installer --unattended \
--config provisioning/config/installer-examples/cicd.toml
env:
WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }}
```
### GitLab CI
```yaml
deploy:
script:
- provisioning-installer --unattended --config cicd.toml
```
### Jenkins
```groovy
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
```bash
provisioning-installer --unattended --config config.toml
# Edit config: verbose = true
```
### Skip Cleanup on Failure
```bash
# Edit config: cleanup_on_failure = false
```
### Continue on Errors
```bash
# Edit config: fail_fast = false
```
## 📚 Documentation
- **Full Guide**: [UNATTENDED_MODE.md](./UNATTENDED_MODE.md)
- **Implementation**: [IMPLEMENTATION_SUMMARY.md](./IMPLEMENTATION_SUMMARY.md)
- **Examples**: `provisioning/config/installer-examples/`
## 🆘 Support
- Configuration issues: Check TOML syntax
- Webhook failures: Verify URL and authentication
- Platform errors: Check platform prerequisites
---
**Quick Links:**
- [User Guide](./UNATTENDED_MODE.md)
- [Example Configs](../../config/installer-examples/)
- [Kubernetes Self-Install](../../extensions/taskservs/kubernetes/self-install.nu)