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 |
Examples
Section titled “Examples”# Simple deploy with default settings1ctl deploy
# Deploy with custom port and memory1ctl deploy --port 8080 --memory 512Mi
# Deploy a pre-built image1ctl deploy --image ghcr.io/acme/api:v1 --port 8080
# Deploy to a tagged machine pool1ctl deploy --machine-tag production --port 8080
# Deploy with HPA auto-scaling1ctl deploy --hpa --hpa-min-replicas 2 --hpa-max-replicas 20
# Deploy with multi-cluster active-active setup1ctl deploy --multi-cluster --multicluster-mode active-active