Core Concepts#
kga is simple to use.
Here is the typical workflow:
- Initialize an app
kga init <type> <app>
- Make the necessary changes to the generated
kga.yaml
file - Generate the app
kga generate <app>
- Make any new changes to your <app>/overlay
- Simply use
kustomize build <app>
to get your final manifest ready for deployment - If you wish to make any changes, go ahead and change your <app>/overlay, then just run
kga generate <app>
again
General Folder Structure of kga App#
When we initialize an app, this is the generic folder structure that will be created.
There are a couple of minor differences between the three different application types: basic, manifest and helm.
For example helm apps have an additional helm_values.yaml
file in the app root dir.
base/
excluded/ # Resources that were excluded using kga.yaml exclude
from base/manifests
manifests/ # Downloaded application manifests
kustomization.yaml # kustomization file that brings together all manifests
from base/
overlay/ # User specified manifests and patches
patches/ # Patches that fix base/manifests
resources/ # User specified additional resources
namespace.yaml # Optional automatic namespace manifest (if namespace
is defined in kga.yaml)
kustomization.yaml # kustomization file that brings together base/ and
overlay/
kga.yaml # config for kga
kustomization.yaml # main kustomization that just links to overlay
so we can `kustomize build <app>`