Skip to content

1ctl deploy

1ctl deploy builds and deploys the current project to SatuSky Cloud. Images are built in the cloud — no local Docker installation required.

1ctl deploy
Flag Type Required Default Description
--dockerfile string No "Dockerfile" Dockerfile path for cloud build (default: Dockerfile)
--image string No — Pre-built image reference — skips cloud build entirely
--fast boolean No false Use the accelerated cloud build backend (ignored when –image is set)
--name string No — Application name (auto-detected from satusky.toml or git remote)
--port integer No 8080 Application port
--domain string No — Custom domain (default: *.satusky.com)
--env array No — Environment variables (format: KEY=VALUE)
--config string No — Config name or path (e.g. staging, satusky.staging.toml)
--cpu-request string No "250m" Guaranteed CPU reservation per replica (e.g. ‘250m’)
--cpu-limit string No "1" Maximum burst CPU per replica (e.g. ‘1’)
--memory string No "256Mi" Memory allocation (e.g. ‘512Mi’, ‘2Gi’)
--replicas integer No 0 Replica count override (default: auto from machine count)
--machine array No — Explicit machine name (BYOA). Repeatable.
--machine-tag string No — Tag expression using & (AND), | (OR), = (equals), (). Bare key checks value=“true”.
--volume-size string No — Storage size (e.g. ‘10Gi’)
--volume-mount string No — Storage mount path
--volume-storage-class string No "ceph-block" Storage class for volumes
--zone string No — Target deployment zone (e.g. ‘my-kul-1b’)
--multi-cluster, --multicluster boolean No false Enable multi-cluster deployment across KL and BKI clusters
--multicluster-mode string No "active-passive" Multi-cluster mode: ‘active-active’ or ‘active-passive’
--health-path string No — HTTP path for post-deploy smoke test (default: tries /health then /)
--wait-for array No — TCP dependency to wait for (format: host:port). Repeatable.
--wait boolean No false Wait for the accepted deployment to become healthy
--wait-mode string No "application" Readiness threshold: application (default) or workload (bypasses application verification)
--strategy string No "rolling" Rollout strategy: rolling, recreate
--rolling-max-surge string No "25%" Rolling update max surge (pods or %)
--rolling-max-unavailable string No "25%" Rolling update max unavailable (pods or %)
--hpa boolean No false Enable HorizontalPodAutoscaler
--hpa-min-replicas integer No 1 HPA minimum replicas
--hpa-max-replicas integer No 10 HPA maximum replicas
--hpa-cpu-target integer No 80 HPA target CPU utilization %
--hpa-memory-target integer No 0 HPA target memory utilization % (0 = disabled)
--vpa boolean No false Enable VerticalPodAutoscaler
--vpa-mode string No "Off" VPA update mode: ‘Off’, ‘Initial’, ‘Auto’
--vpa-min-cpu string No — VPA minimum CPU (e.g. ‘100m’)
--vpa-max-cpu string No — VPA maximum CPU (e.g. ‘4’)
--vpa-min-memory string No — VPA minimum memory (e.g. ‘128Mi’)
--vpa-max-memory string No — VPA maximum memory (e.g. ‘8Gi’)
--backup-enabled boolean No true Enable backups (auto-enabled for active-passive)
--backup-schedule string No "daily" Backup frequency: ‘hourly’, ‘daily’, ‘weekly’
--backup-retention string No "168h" Backup retention: ‘24h’, ‘72h’, ‘168h’, ‘720h’
--backup-priority-cluster integer No 1 Which cluster performs backups: 1 (KL) or 2 (BKI)
--cpu string No — Legacy alias for –cpu-limit (deprecated)
--organization string No — Organization name (rarely needed)
--pdb boolean No false Enable PodDisruptionBudget (auto-enabled when replicas > 1)
--pdb-type string No "auto" PDB type: ‘auto’, ‘fixed’, ‘percent’
--pdb-min-available integer No 0 PDB minimum available pods (for type=fixed)
--pdb-percent integer No 0 PDB minimum available %% (for type=percent)
--help, -h boolean No — Show help
Terminal window
# Simple deploy with default settings
1ctl deploy
# Deploy with custom port and memory
1ctl deploy --port 8080 --memory 512Mi
# Deploy a pre-built image
1ctl deploy --image ghcr.io/acme/api:v1 --port 8080
# Deploy to a tagged machine pool
1ctl deploy --machine-tag production --port 8080
# Deploy with HPA auto-scaling
1ctl deploy --hpa --hpa-min-replicas 2 --hpa-max-replicas 20
# Deploy with multi-cluster active-active setup
1ctl deploy --multi-cluster --multicluster-mode active-active