Kustomize - How to Simplify Kubernetes Configuration Management
https://www.youtube.com/watch?v=Twtbg6LFnAg&t=6s
https://gist.github.com/vfarcic/07b0b4642b5694d0239ee7c1629173ce
#########
# Setup
#########
https://kubectl.docs.kubernetes.io/installation/kustomize/binaries/
$ curl -s "https://raw.githubusercontent.com/\
kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash && chmod +x kustomize && sudo mv kustomize /usr/local/bin/
################################
# Exploring kustomization.yaml
################################
git clone https://github.com/vfarcic/argocd-production.git
cd argocd-production
ls -1
ls -1 argo-workflows
cd argo-workflows
ls -1 base/
cat base/kustomization.yaml
https://github.com/argoproj/argo/blob/master/manifests/base/kustomization.yaml
https://github.com/argoproj/argo/blob/master/manifests/base/workflow-controller/workflow-controller-configmap.yaml
cat base/config.yaml
###########################
# Applying base manifests
###########################
$ kustomize build base
$ kustomize build base \
| kubectl apply --filename -
#####################
# Applying overlays
#####################
$ kubectl --namespace argo get ingresses
$ ls -1 overlays/production/
$ cat overlays/production/kustomization.yaml
$ cat overlays/production/ingress_patch.json
$ kustomize build overlays/production \
| kubectl apply --filename -
$ kubectl --namespace argo get ingresses
##########################
# Upgrading applications
##########################
$ kubectl --namespace argo \
get deployment argo-server \
--output yaml
$ cd overlays/production
$ kustomize edit set image \
argoproj/argocli=argoproj/argocli:v2.12.4
$ cat kustomization.yaml
$ cd ../../
$ kustomize build \
overlays/production \
| kubectl apply --filename -
$ kubectl --namespace argo \
get deployment argo-server \
--output yaml