Skip to content

Add Live Object Status page for Argo CD#2953

Merged
rain-on merged 13 commits into
mainfrom
tmm/argo_live_status
Nov 26, 2025
Merged

Add Live Object Status page for Argo CD#2953
rain-on merged 13 commits into
mainfrom
tmm/argo_live_status

Conversation

@rain-on
Copy link
Copy Markdown
Contributor

@rain-on rain-on commented Nov 26, 2025

This adds a new section to the ArgoCD section to include a "Live Object Status" section.

This is similar to that found in the Kubernetes.

image

@rain-on rain-on requested a review from APErebus November 26, 2025 02:26
@rain-on rain-on requested a review from flin-8 November 26, 2025 04:20
* Octopus Deploy 2025.4+
* An Argo CD Instance deployment target (and associated gateway)
* [Annotations](/docs/argo-cd/annotations/index.md) on your Argo CD Applications, mapping them onto Octopus Deploy projects
* A deployment process containing an Argo CD step (either [Image Tag update](/docs/argo-cd/steps/update-application-image-tag) or [Update Application Manifests](/docs/argo-cd/steps/update-application-manifests)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make the names of the steps consistent:

  • Update Argo CD Application Manifests
  • Update Argo CD Application Image Tags

## Where it is available
Using Argo CD Live Objet Status requires the following:
* Octopus Deploy 2025.4+
* An Argo CD Instance deployment target (and associated gateway)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A registered Argo CD instance (and link to https://octopus.com/docs/argo-cd/instances)

Octopus displays individual status at both the object and application level, along with a rolled-up summary at the Argo Instance.

Each kubernetes object created directly by the Argo CD Application will indicate its name, kind, namespace, sync and health status.
Derived kubernetes objects (eg Pods created as part of a deployment) don't have a sync-status, so will present a blank field.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the same as normal K8s YAML deployments, so I'm not sure if we need to explain this here. If this is useful information, we should also add it to the K8s live status

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it was more that the application will deliberately have different fields set

![Octopus Argo CD Live Status Objects](/docs/img/argo-cd/argo-cd-live-status-objects.png)
:::

### Application status
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The word Application is overloaded here - we need another term

| Healthy | <i class="fa-solid fa-heart green"></i> | Object is in sync and reporting that it is running as expected |
| Unknown | <i class="fa-solid fa-question grey"></i> | We don't have up-to-date information about the live status of this object |
| Degraded | <i class="fa-solid fa-heart-crack red"></i> | Object has run into a problem, check the logs or events to find out more |
| Out of Sync | <i class="fa-solid fa-arrow-up orange"></i> | Object manifest is not the same as what was applied |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Argo, out of sync also means the latest changes have not been applied yet


:::div{.info}
Outwardly this is an identical capability to that available for [Kubernetes based projects](/docs/kubernet/live-object-status/index.md).
However when used with Argo CD, the [Kubernetes monitor](/docs/kubernetes/targets/kubernetes-agent/kubernetes-monitor) is *not* required.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most places we say Kubernetes Agent - so maybe say that here instead of the monitor

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Kuberenetes page says "to have live status, you must have the kubernetes monitor installed" (and explicitly links the monitor to live status, so I wanted to break that linkage.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok - updated to say that neither the agent nor the monitor are required

| Healthy | <i class="fa-solid fa-heart green"></i> | Object is in sync and reporting that it is running as expected |
| Unknown | <i class="fa-solid fa-question grey"></i> | We don't have information about the live status of this object |
| Degraded | <i class="fa-solid fa-heart-crack red"></i> | Object has run into a problem, check the logs or events to find out more |
| Out of Sync | <i class="fa-solid fa-arrow-up orange"></i> | Object manifest in the cluster is different from that specified in tha Argo CD application's git repository |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tha -> the

Comment on lines +86 to +87
Left = Current Cluster content
Right = Current git-repository content
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delete these 2 lines

| Position | Octopus | Argo CD |
|---|------------------------------------------------------------|-------------------------------------------------------------------|
| Left| Manifest written to git repository as part of last release | The current manifest in the cluster |
| Right | The current content of the application's resource in cluster | The manifest in the git repository, which will be applied on sync |
Copy link
Copy Markdown
Contributor

@flin-8 flin-8 Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current manifest in the cluster should be the same wording as The current content of the application's resource in cluster right? they both show the live YAML

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah - and how about we switch the table abourn 90 degrees to match the screen shapes :)

#### Manifest Diffs
Octopus presents manifest diffs in the _opposite order_ to that shown in Argo.

In Argo, the left panel shows the manifest which is currently executing in the cluster, and the right-panel shows the manifest
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

currently executing reads weird.

In Argo, the left panel shows the live manifest in the cluster, and the right-panel shows the manifest...

that will be deployed when the application/resource is synced.

In Octopus, the left panel indicates "what was mostly recently written to the git repository", while the right shows what is currently
in the live system (i.e. installed in the cluster).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right shows the live manifest.


| | Left | Right |
|---------|--------------------------------------------------------------|-------------------------------------------------------------------|
| Octopus | Manifest written to git repository as part of last release | The current content of the application's resource in cluster |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current content of the application's resource in cluster -> The live manifest in the cluster

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth keeping the text in Octopus-Right box matching Argo-Left box?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah definitely

Copy link
Copy Markdown
Contributor

@flin-8 flin-8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@rain-on rain-on enabled auto-merge (squash) November 26, 2025 09:17
@rain-on rain-on merged commit e4d4bd9 into main Nov 26, 2025
4 checks passed
@rain-on rain-on deleted the tmm/argo_live_status branch November 26, 2025 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants