Refactor CR management to include a cronjob that is triggered every minute for each CR to re-apply the manifest, basically ensuring there is a reconciliation to the CR post deployment. Usually this is handled by helm's reconciliation loop, but since we're on our own we need to have a mechanism that ensures the CR object created matches the manifest we have all the time. This is the solution that guarantees this reconciliation.
Simplified as well the roles and SA's needed to handle the install/upgrade and delete actions, so that they are shared and there's less need to create each one for upgrade/rollback and delete, which takes time.
Make tekton manifests deployment dependent on ArgoCD deployment due to namespace dependency in tekton manifests to argocd.namespace. In the past the value of argocd.namespace was populated in the values.yaml regardless whether that namespace existed or if ArgoCD was deployed there. With the changes to split the backstage secret from the helm chart, it also brought changes on how the namespace is identified by the setup.sh, which now creates a label in the target namespace where argocd is deployed, rather than export an environment variable. This change enables the identification of the namespace to be persisted as a label and identified by subsequent helm install/upgrade commands, as well as by the helm operator.
argocd.namespace
was populated in thevalues.yaml
regardless whether that namespace existed or if ArgoCD was deployed there. With the changes to split the backstage secret from the helm chart, it also brought changes on how the namespace is identified by thesetup.sh
, which now creates a label in the target namespace where argocd is deployed, rather than export an environment variable. This change enables the identification of the namespace to be persisted as a label and identified by subsequent helm install/upgrade commands, as well as by the helm operator.@masayag PTAL.