You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/modules/ROOT/pages/03-configuration.adoc
+30-23Lines changed: 30 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,15 +86,15 @@ few additional capabilities specific to OpenShift.
86
86
[#config-health-checks]
87
87
== Argo CD Health Checks
88
88
89
-
Argo CD has the ability to monitor the health of resources that it has deployed. When an Argo CD detects that a deployed Resource
89
+
Argo CD has the ability to monitor the health of resources that it has deployed. When Argo CD detects that a deployed Resource
90
90
is in a non-Healthy state (Degrade, Progressing, etc) this is because the associated health check is reporting
91
91
this status.
92
92
93
93
[IMPORTANT]
94
94
Argo CD Health Checks provide a quick and easy way to monitor the status of resources being managed by Argo CD. If you deploy
95
95
some additional alerting in your monitoring for Argo CD Applications you essentially get resource alerting
96
-
for free. OpenShift GitOps includes an alert for the Out-of-Sync status, but you can view an example of additional
97
-
alerting on health status link:https://github.com/gnunn-gitops/acm-hub-bootstrap/blob/main/components/policies/gitops/base/manifests/gitops-alerting/base/prometheus-rules.yaml[here,window="_blank"].
96
+
for free. OpenShift GitOps includes an alert for the Out-of-Sync status, but you can view a blog of how to create additional
97
+
alerting based on health status link:https://developers.redhat.com/blog/2025/07/24/create-additional-alerts-openshift-gitops[here,window="_blank"].
98
98
99
99
These health statuses are also used to support features like link:https://argo-cd.readthedocs.io/en/stable/user-guide/sync-waves[Sync Waves, window="_blank"]
100
100
which deploy resources in a prescribed order. Argo CD will not deploy subsequent resources until earlier resources are in a Healthy state as determined by
@@ -114,9 +114,9 @@ these statuses of most to least healthy statuses: _Healthy_, _Suspended_, _Progr
114
114
115
115
Argo CD health checks are sourced from three locations:
116
116
117
-
1. _Native_. These health checks are for standard Kubernetes resources (Deployment, Job, etc) are written in Go. They can
117
+
1. _Native_. These health checks are for standard Kubernetes resources (Deployment, Job, etc) and are written in Go. They can
118
118
be reviewed in the link:https://github.com/argoproj/gitops-engine/tree/master/pkg/health[gitops-engine, window="_blank"] repository.
119
-
2. _Included_. These health checks are written in LUA and a large number of custom health checks ship with Argo CD, these can be reviewed
119
+
2. _Included_. These health checks are written in LUA with a large number of health checks shipped with Argo CD, these can be reviewed
120
120
in the Argo CD repository in the link:https://github.com/argoproj/argo-cd/tree/master/resource_customizations[resource_customizations, window="_blank" ]
121
121
folder.
122
122
3. _Custom_. These are health checks that you create yourself and configure in Argo CD. This can be done for resources that do not have a
@@ -209,9 +209,10 @@ STATUS: Progressing
209
209
MESSAGE
210
210
----
211
211
212
-
Note the command confirms that Argo CD considers the PVC to be `Progressing`, let's change that with the following .
212
+
Note the command confirms that Argo CD considers the PVC to be `Progressing`, let's change that with the following
213
+
custom health check writtin in LUA to override the default one:
213
214
214
-
[source,yaml,subs="attributes",role=execute]
215
+
[source,yaml,subs="+macros,attributes+"]
215
216
----
216
217
hs = {}
217
218
if (obj.status ~= nil and obj.status.phase ~= nil) then
There are more configuraton options available then just `enabled`, feel free to explore them
347
350
by running `oc explain argocd.spec.applicationSet`.
348
351
352
+
Apply the patch:
353
+
349
354
[.console-input]
350
355
[source,yaml,subs="attributes",role=execute]
351
356
----
@@ -377,26 +382,28 @@ The `applicationset-controller` has now been deployed.
377
382
== Enabling Terminal
378
383
379
384
The Argo CD user interface, when viewing a pod, can optionally show a link:https://argo-cd.readthedocs.io/en/latest/operator-manual/web_based_terminal/[terminal, window="_blank"]
380
-
tab similar to what you see in the OpenShift console. This can be useful for Organizations which use the Argo CD UI
381
-
as a means for managing kubernetes resources.
385
+
tab similar to what you see in the OpenShift console. This can be useful for organizations which use the Argo CD UI
386
+
as the primary means for managing Kubernetes resources.
382
387
383
-
By default this is not enabled, in the health application that was deployed previously click on the
384
-
pod.
388
+
While we previously gave permissions for the terminal in the previous module, by default this is not enabled. To verify this,
389
+
in the health application that was deployed previously click on the pod.
385
390
386
391
image::argocd-select-pod.png[]
387
392
388
-
Note that the only tabs available are `SUMMARY`, `EVENTS` and `LOGS`.
393
+
Note that the only tabs available are `SUMMARY`, `EVENTS` and `LOGS` with no `TERMINAL` tab appearing.
389
394
390
395
image::argocd-pod-tabs.png[]
391
396
392
-
As mentioned previously, not all Argo CD settings are defined in the ArgoCD Custom Resource. For cases
393
-
where a setting is not defined, we can use the `extraConfig` to have the operator add these items
397
+
As mentioned previously, not all Argo CD settings are defined in the ArgoCD Custom Resource and enabling
398
+
the terminal is one of those cases.
399
+
400
+
For cases like this where a setting is not defined, we can use the `extraConfig` to have the operator add these items
394
401
directly to the `argocd-cm` ConfigMap. Whatever is defined, correctly or incorrectly, will be copied
395
-
to this configmap so some care should be taken when using this feature.
402
+
to this ConfigMap so some care should be taken when using this feature.
396
403
397
404
[IMPORTANT]
398
405
Before using `extraConfig`, you should always validate the option you want to set is not in fact
399
-
available in the Operator. Also never edit the `argocd-cm` ConfigMap directly, the operator will
406
+
available in the Operator. Also as a reminder never edit the `argocd-cm` ConfigMap directly, the operator will
Verify that you can now see the terminal tab for the pod resource:
424
+
Verify that you can now see the terminal tab for the pod resource, note that you will need to close the Pod view and then re-open it:
418
425
419
426
image::argocd-terminal.png[]
420
427
421
428
[IMPORTANT]
422
-
As per the Argo CD Documentation, the `argocd-server` ServiceAccount must be granted additional permissions with Kubernetes RBAC
429
+
As per the link:https://argo-cd.readthedocs.io/en/latest/operator-manual/web_based_terminal/[Argo CD Documentation, window="_blank"], the `argocd-server` ServiceAccount must be granted additional permissions with Kubernetes RBAC
423
430
to enable the terminal. These permissions have already been applied by specifying a custom ClusterRole for the GitOps Operator.
0 commit comments