Open johndietz opened 7 months ago
Thanks for the incredible detail @johndietz !! One question: Could I find the external-dns here: https://github.com/kubefunk-net/gitops/blob/main/registry/clusters/mgmt-funknet/components/external-dns/application.yaml
pull request for step 1: https://github.com/gitops-ing/gitops/pull/1
All green / health confirmed after ugrade 👍 . Proceeding to step 2
pull request for step 2: https://github.com/gitops-ing/gitops/pull/2
pull request for virtual clusters (within step 2): https://github.com/gitops-ing/gitops/pull/3
What is your feature idea?
ingress-nginx, cert-manager, and external-dns applications need to upgrade to the latest helm charts.
when you provision a new kubefirst management platform (any cloud), the version of these apps will be outdated from latest available. for ease of documentation in this example, we'll assume a github org of
kubefunk.net
and a mgmt cluster namedmgmt-funknet
step 1: the mgmt cluster
the charts for these 3 components on the mgmt stack are defined at: https://github.com/kubefunk-net/gitops/blob/main/registry/clusters/mgmt-funknet/components/ingress-nginx/application.yaml#L14 https://github.com/kubefunk-net/gitops/blob/main/registry/clusters/mgmt-funknet/components/ingress-nginx/application.yaml#L14 https://github.com/kubefunk-net/gitops/blob/main/registry/clusters/mgmt-funknet/components/cert-manager/application.yaml#L12
upgrading each to their latest chart, and then refreshing their app in argocd, and confirming health is step 1.
step 2: physical and virtual workload clusters those upgraded components can also be applied to new clusters created by this mgmt stack. to upgrade physical cluster provisioning, you'll need to update: https://github.com/kubefunk-net/gitops/blob/main/templates/workload-cluster/30-ingress-nginx.yaml#L14 https://github.com/kubefunk-net/gitops/blob/main/templates/workload-cluster/30-cert-manager.yaml#L14 https://github.com/kubefunk-net/gitops/blob/main/templates/workload-cluster/30-external-dns.yaml#L12
once you update these in the templates, you can test how well they orchestrate by going to kubefirst console on this stack, creating a physical cluster, and confirming health on these 3 resources on the new physical cluster in argocd.
repeat these steps for virtual clusters templating: https://github.com/kubefunk-net/gitops/blob/main/templates/workload-vcluster/30-ingress-nginx.yaml#L14 https://github.com/kubefunk-net/gitops/blob/main/templates/workload-vcluster/30-cert-manager.yaml#L14 https://github.com/kubefunk-net/gitops/blob/main/templates/workload-vcluster/30-external-dns.yaml#L12
test with creation of a virtual cluster and confirming health in argocd.
step 3: whatever changeset was required to get this stack operational, needs to be promoted up to the gitops-template repository, so that mgmt clusters will begin with the right charts and templates. there will be corresponding files for each of the files listed in steps 1 and 2 in the gitops-template. for example: kubefunk stack:
all of the cloud stacks need these updates in the gitops-template. to test, provision a new stack using your gitops-template branch, and confirm that you can provision a new mgmt cluster, and then confirm that kubefirst instance can create a new physical and virtual cluster that provisions to 100% health in argocd in its registry.
Why is it needed?
cloud native never sleeps
Is this missing feature preventing you from using kubefirst?
Code of Conduct