Structure of deployment.yaml.
The following visualization shows the basic structure of a deployment project. The entry point of every deployment
project is the
deployment.yaml file, which then includes further sub-deployments and kustomize deployments. It also
provides some additional configuration required for multiple kluctl features to work as expected.
As can be seen, sub-deployments can include other sub-deployments, allowing you to structure the deployment project as you need.
Each level in this structure recursively adds tags to each deployed resources, allowing you to control precisely what is deployed in the future.
Some visualized files/directories have links attached, follow them to get more information.
-- project-dir/ |-- deployment.yaml |-- .gitignore |-- kustomize-deployment1/ | |-- kustomization.yaml | `-- resource.yaml |-- sub-deployment/ | |-- deployment.yaml | |-- kustomize-deployment2/ | | |-- kustomization.yaml | | |-- resource1.yaml | | `-- ... | |-- kustomize-deployment3/ | | |-- kustomization.yaml | | |-- resource1.yaml | | |-- resource2.yaml | | |-- patch1.yaml | | `-- ... | |-- kustomize-with-helm-deployment/ | | |-- charts/ | | | `-- ... | | |-- kustomization.yaml | | |-- helm-chart.yaml | | `-- helm-values.yaml | `-- subsub-deployment/ | |-- deployment.yaml | |-- ... kustomize deployments | `-- ... subsubsub deployments `-- sub-deployment/ `-- ...
Order of deployments
Deployments are done in parallel, meaning that there are usually no order guarantees. The only way to somehow control order, is by placing barriers between kustomize deployments. You should however not overuse barriers, as they negatively impact the speed of kluctl.
How Kustomize is integrated into Kluctl
Dynamic configuration of container images.
How Helm is integrated into Kluctl.
Definition of readiness.
Annotations usable in Kubernetes resources.