Learn how to deploy, update, and manage your infrastructure using kombify TechStack’s deployment pipeline.
Deployment workflow
Deploy a new stack
Create your spec file
Create or update your kombination.yaml:stackkit: base-kit
nodes:
- name: main-server
type: local
connection:
host: 192.168.1.100
user: root
services:
traefik:
enabled: true
dokploy:
enabled: true
Validate configuration
Validate your spec before deployment:curl -X POST http://localhost:5260/api/v1/unifier/validate \
-H "Content-Type: application/yaml" \
--data-binary @kombination.yaml
Or via the web UI: Stack → Validate Generate infrastructure code
Generate OpenTofu and Docker configurations:curl -X POST http://localhost:5260/api/v1/unifier/generate \
-H "Content-Type: application/yaml" \
--data-binary @kombination.yaml
Preview changes
See what will be created before applying:curl -X POST http://localhost:5260/api/v1/unifier/preview \
-H "Content-Type: application/yaml" \
--data-binary @kombination.yaml
Apply deployment
Deploy to your infrastructure:curl -X POST http://localhost:5260/api/v1/stacks/{stack-id}/provision
This triggers the full deployment pipeline:
- Run pre-checks on target nodes
- Apply OpenTofu configuration
- Deploy Docker services
- Verify health checks
Deployment states
| State | Description |
|---|
pending | Deployment queued |
validating | Validating spec |
generating | Generating IaC |
planning | Running tofu plan |
applying | Applying changes |
deploying | Deploying services |
verifying | Running health checks |
completed | Successfully deployed |
failed | Deployment failed |
rolled_back | Rolled back to previous state |
Update an existing stack
Apply changes without downtime:curl -X POST http://localhost:5260/api/v1/stacks/{stack-id}/deploy \
-H "Content-Type: application/json" \
-d '{"strategy": "rolling"}'
Stop all services, then redeploy:curl -X POST http://localhost:5260/api/v1/stacks/{stack-id}/deploy \
-H "Content-Type: application/json" \
-d '{"strategy": "recreate"}'
Destroy a stack
This will permanently destroy all resources. Make sure to backup any data first.
curl -X POST http://localhost:5260/api/v1/stacks/{stack-id}/destroy
Deployment jobs
All deployments run as background jobs. Check job status:
# List recent jobs
curl http://localhost:5260/api/v1/jobs
# Get specific job status
curl http://localhost:5260/api/v1/jobs/{job-id}
Job status response
{
"id": "job_abc123",
"type": "provision",
"status": "running",
"progress": 65,
"started_at": "2026-02-03T10:00:00Z",
"steps": [
{"name": "validate", "status": "completed"},
{"name": "generate", "status": "completed"},
{"name": "apply", "status": "running"},
{"name": "verify", "status": "pending"}
]
}
Pre-deployment checks
Stack runs pre-checks before deployment to ensure nodes are ready:
| Check | Description |
|---|
| Connectivity | SSH/agent connection working |
| OS compatibility | Supported distribution and version |
| Resources | Sufficient CPU, RAM, disk |
| Docker | Docker installed and running |
| Ports | Required ports available |
# Run pre-checks manually
curl -X POST http://localhost:5260/api/v1/workers/{worker-id}/prechecks
Rollback
If a deployment fails, Stack can rollback to the previous state:
# Automatic rollback (enabled by default)
curl -X POST http://localhost:5260/api/v1/stacks/{stack-id}/deploy \
-d '{"auto_rollback": true}'
# Manual rollback
curl -X POST http://localhost:5260/api/v1/stacks/{stack-id}/rollback
Next steps
Monitoring
Monitor your deployed infrastructure
Drift detection
Detect and fix configuration drift