IBM / cp4waiops-gitops

Manage Your IBM Cloud Pak for Watson AIOps With GitOps

Home Page:https://ibm.github.io/cp4waiops-gitops/docs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Do we need to create argocd-custom by default?

gyliu513 opened this issue · comments

@morningspace @liyanwei93 Can we disable argocd-custom by default?

image

@gyliu513 if this is the deployment using all-in-one chart, then the argocd-custom is required, because it includes:

  • All the custom health checks that are needed in order to determine when CP4WAIOps install is completed
  • Some settings such as ignoreDifferences and applicationInstanceLabelKey to avoid the annoying Out of Sync indicator
  • The cluster-admin RBAC setting for the OpenShift GitOps service account.

For those deployments that are not using all-in-one chart, argocd-custom will not be deployed. But, user will then have to deal w/ some work manually, such as the RBAC settings, and if user does not do these settings, they will experience all the issues, such as, Argo CD App turns into "green" too early, wrong Out of Sync, etc.

Long termly, I would think we should suggest user to use the all-in-one chart, where argo-custom in this case, is aimed to apply some customization that is not in place as OOB settings when OpenShift GitOps (or Argo CD) is installed.

Some settings such as ignoreDifferences and applicationInstanceLabelKey to avoid the annoying Out of Sync indicator

@morningspace can this be done via application with field of ignoreDifferences https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration, why using a new app for argo CD here?

The reason for that is, some Out-of-Sync happens at root level Argo CD App. In our docs, these Argo CD Apps are actually created on the fly either from UI or command line and not stored in git. So, instead of telling user to manually add ignoreDifferences from UI or command line, Argo CD has a native feature that allows user to add that in its argoproj.io/ArgoCD CR. Of course, for those Argo CD Apps stored in git, we add that in Application YAML manifests.

So, to clarify, besides the custom health checks and other Argo CD customization stuff, those ignoreDifferences defined in argoproj.io/ArgoCD CR, which is stored in argocd-custom in git, are for root level Argo CD App, not for child level App or any App stored in git.