-
Feature Request
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
-
False
-
None
-
False
-
Not Selected
-
-
1. Proposed title of this feature request
Enable extraCommandArgs in Argo CR for Application Controller
2. What is the nature and description of the request?
extraCommandArgs allows adding additional flags to Argo workloads, however it is not available for application controller, only server and application set controller (https://github.com/redhat-developer/gitops-operator/blob/master/config/crd/bases/argoproj.io_argocds.yaml#L5887).
This feature is important to enable metrics configuration like --metrics-cache-expiration and --metrics-application-labels flags (https://argo-cd.readthedocs.io/en/release-2.6/operator-manual/metrics/#exposing-application-labels-as-prometheus-metrics). Right now as there is no way to pass them via command line arguments, --metrics-cache-expiration can be passed as environment variable (https://github.com/argoproj/argo-cd/blob/a08282bf6bcd7b44ea2dd3ef7fa0e2a77498063e/cmd/argocd-application-controller/commands/argocd_application_controller.go#L189) but --metrics-application-labels can't be enabled as there is no environment variable for that command line argument.
3. Why does the customer need this? (List the business requirements here)
This is required to set some important configuration for monitoring, visualizing and analyzing metrics.
Setting metrics caché expiration value is important for environments where they are creating and deleteing a huge amount of resources as it can lead to performance issues as described in this issue https://github.com/argoproj/argo-cd/issues/5287.
While exposing application labels as prometheus metrics is important to some use cases like visualizing metrics by business units or having an extra criteria to configure alerts or notifications.
4. List any affected packages or components.
- is related to
-
GITOPS-4300 Allow users to set extra command args for application controller deployment
- Closed