179 lines
3.9 KiB
Markdown
179 lines
3.9 KiB
Markdown
|
|
# 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)
|