Deploy a project to a Kubernetes cluster on a given environment
Deploy a project to a Kubernetes cluster for an environment. Deployah validates the spec and runs its deploy guards, then runs Helm: an install for a new release, an upgrade for an existing one. An existing release is always upgraded, even when nothing changed, so Helm creates a new revision and runs upgrade hooks. To inspect changes first, run deployah plan <environment>.
deployah deploy <environment> [flags]
--explain Print the resolution report before cluster checks (visible even when cluster is unreachable)
--force-hostname-change Allow changing the resolved hostname even though it may break existing traffic (skips the hostname guard)
--resize-volumes Allow persistence.size increases by expanding PVCs; StatefulSet controllers are orphan-deleted when needed so volumeClaimTemplates can be rewritten
--skip-crds Skip installing CustomResourceDefinitions from the chart on a fresh Helm install
--context string Kubernetes context to use (overrides the current context and any environment 'context' field)
-C, --cwd string Run as if deployah was started in this directory instead of the current working directory
-d, --debug Enable debug mode (verbose logging and keep temporary files)
-h, --help show help for this command
-k, --kubeconfig string Path to the kubeconfig file to use (defaults to standard kubeconfig resolution)
-n, --namespace string Kubernetes namespace to use for Deployah operations (defaults to current context namespace)
--platform-file string Path to the platform config file (overrides DEPLOYAH_PLATFORM_FILE and the default same-directory lookup)
-s, --spec string Path to the Deployah spec file (YAML or JSON) (default "deployah.yaml")
-t, --timeout duration Timeout for Deployah operations (install/upgrade, list, status, logs, delete, run) (default 10m0s)
- deployah - Deployah turns a spec into a running release on Kubernetes (Spec-to-Release)