atmos kubernetes deploy
Run a Kubernetes deployment using Atmos language. deploy is the
workflow-friendly alias for applying a stack-configured Kubernetes component,
useful when your automation treats Kubernetes resources as deployable
services.
deploy uses the same stack and atmos.yaml settings as apply, including
manifest paths, variables, credentials, hooks, and dependency ordering.
Usage
atmos kubernetes deploy <component> --stack <stack>
atmos kubernetes deploy --affected --base origin/main --include-dependents
In v1, deploy is an alias of
atmos kubernetes apply. It renders the final
manifests and applies them through the Kubernetes Go SDK using server-side
apply.
Use deploy when you want command language that matches an application deployment workflow. Use apply when you want command language that mirrors Kubernetes API behavior.
Example
atmos kubernetes deploy argocd -s plat-ue2-dev
Deployment repositories (GitOps)
By default deploy/apply applies the rendered manifests to the cluster. A
component can instead publish them to a Git deployment repository (the
source-of-truth that Argo CD or Flux reconciles) by declaring delivery targets
under provision.targets:
components:
kubernetes:
argocd:
provision:
default: cluster
targets:
cluster:
kind: kubernetes
deployment-repo:
kind: git
repository: deployments # references git.repositories.<name>
path: "clusters/{{ .vars.cluster }}/argocd"
commit:
message: "Render {{ .vars.app_name }} for {{ .vars.stage }}"
Selecting the git target renders the manifests once and commits them to the configured repository instead of applying to the cluster:
atmos kubernetes deploy argocd -s plat-ue2-dev --target=deployment-repo
When --target is omitted, provision.default is used, otherwise the cluster.
Credentials for cloning and pushing come from Atmos Auth (GitHub STS), so no
tokens are stored in the manifests.
Flags
--stack,-s(optional)- Atmos stack. Required when deploying a named component; not required with
--affected. --target(optional)Provision target to deliver to (a named
provision.targetsentry, e.g. a git deployment repository). Defaults toprovision.default, otherwise the cluster.--all(optional)- Deploy all Kubernetes components in dependency order.
--affected(optional)- Deploy affected Kubernetes components and their dependencies.
--include-dependents(optional)- With
--affected, include dependent Kubernetes components.