Skip to content

Improved Argo CD Integration #752

@EronWright

Description

@EronWright

While Argo CD doesn't have 'native' support for Pulumi (as opposed to Helm), it should be possible to use Argo to manage Stack objects and thus to delegate to PKO.

Some areas to investigate are:

  1. Stack lifecycle - Argo CD should be able to create and destroy stack objects, with correct ordering of the related objects (KSA, CRB). For example, deleting an object should work gracefully, even when destroyOnFinalize is true.
  2. Resource tracking - resources deployed by Pulumi should appear in the Argo resource view. There's two "topologies" to consider - the physical topology of the Workspace, the Updates - and the logical topology of the managed resources.
  3. Application Sets and multi-cluster deployments. Is it possible to use Pulumi to provision a cluster and register it, and then use an ApplicationSet to apply an application (also using Pulumi) to that cluster?
  4. Argo CD prunes objects that it doesn't recognize, and warns of drift. How to make it understand externally-managed objects?
  5. When the Stack is selected in the UI, is it possible to enrich the UI e.g. with a link to the Pulumi Console.
  6. The health and readiness of the Stack object should be known to Argo CD, e.g. so that the sync operation doesn't appear to end prematurely while the Stack is still syncing (see "Operator Manual" and "Kargo Health Check").
  7. When the user clicks "Sync", force a resync of the Pulumi stack (e.g. using the pulumi.com/reconciliation-request annotation).
  8. More Kubernetes "events" from PKO to show progress.
  9. Provide lua-based "actions" such as forcing a re-sync.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/argocdRelated to Argo CD integrationkind/epicLarge new features or investments

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions