K8sDeployment
K8sDeployment creates a Kubernetes Deployment in the target cluster. Deployments manage stateless pods with desired replica counts, rolling updates, and self-healing.
Config
Section titled “Config”| Property | Type | Required | Description |
|---|---|---|---|
cluster |
KubernetesCluster | string |
✅ | Target cluster |
namespace |
K8sNamespace | string |
❌ | Namespace to deploy into |
dependsOn |
string[] |
❌ | Explicit dependency ordering |
image |
string |
✅ | Container image (e.g., 'nginx:1.25') |
replicas |
number |
❌ | Desired pod count (defaults to 1) |
ports |
{ containerPort: number; name?: string; protocol?: string }[] |
❌ | Container ports to expose |
env |
{ name: string; value?: string; valueFrom?: Record }[] |
❌ | Environment variables |
envFrom |
{ configMapRef?: K8sConfigMap | string; secretRef?: K8sSecret | string; prefix?: string }[] |
❌ | Populate env from ConfigMaps or Secrets |
volumeMounts |
{ name: string; mountPath: string; readOnly?: boolean; subPath?: string }[] |
❌ | Volume mount definitions |
volumes |
{ name: string; configMap?: K8sConfigMap; secret?: K8sSecret; persistentVolumeClaim?: K8sPersistentVolumeClaim }[] |
❌ | Volume sources (references to other K8s resources) |
rollingUpdate |
{ maxSurge?: number; maxUnavailable?: number } |
❌ | Rolling update strategy parameters |
spec |
Record<string, unknown> |
❌ | Raw pod template spec overrides (merged into the generated spec) |
Example
Section titled “Example”const appConfig = new K8sConfigMap({ ... })
const api = new K8sDeployment({ name: 'api-server', cluster: myCluster, namespace: myNamespace, image: 'myapp/api:1.0.0', replicas: 3, ports: [{ containerPort: 8080, name: 'http' }], env: [ { name: 'NODE_ENV', value: 'production' }, ], envFrom: [ { configMapRef: appConfig }, ], volumes: [ { name: 'data', persistentVolumeClaim: myPVC }, ], volumeMounts: [ { name: 'data', mountPath: '/var/data' }, ], rollingUpdate: { maxSurge: 1, maxUnavailable: 0, },})Provider support
Section titled “Provider support”| Provider | Supported |
|---|---|
| Kubernetes | ✅ |
| Hetzner | ❌ |
| DigitalOcean | ❌ |
| AWS | ❌ |
| GCP | ❌ |