Skip to content

feat: Add basic Argo CD application actions - #7016

Open
usernamenenad wants to merge 5 commits into
superplanehq:mainfrom
usernamenenad:feat/add-argocd-integration
Open

feat: Add basic Argo CD application actions#7016
usernamenenad wants to merge 5 commits into
superplanehq:mainfrom
usernamenenad:feat/add-argocd-integration

Conversation

@usernamenenad

Copy link
Copy Markdown
Contributor

Summary

This PR adds the initial Argo CD integration components for SuperPlane. It provides the basic application read and synchronization operations needed to start building Argo CD workflows.

The implementation is intentionally limited to these foundational components. More advanced Argo CD capabilities will follow in separate PRs so each operation can be reviewed and tested independently.

What this adds

  • Adds the Argo CD integration client with bearer-token authentication and server URL validation.
  • Adds a Get Application action that reads application identity, sources, destination, sync state, health, operation state, and conditions.
  • Adds a Sync Application action that starts an Argo CD synchronization.
  • Supports single-source revisions and per-source revisions for multi-source applications.
  • Supports apply and hook synchronization strategies.
  • Exposes prune, dry-run, and force controls with safe disabled defaults.
  • Emits the returned application state through a stable SuperPlane payload shape.
  • Adds validation and focused tests for configuration, request bodies, multi-source revisions, and API errors.

Scope

These are the basic application components only. This PR does not add wait-for-sync behavior, rollback, refresh, resource-level selection, sync waves, retry configuration, webhooks, triggers, or Argo CD resource discovery. Those capabilities are planned for follow-up PRs.

Test plan

  • Run focused Argo CD integration tests.
  • Run Go formatting.
  • Run repository lint.
  • Validate the Git diff.
  • Full application build remains blocked by the existing generated protobuf error for pb.FactoryPullRequestRun in pkg/grpc/actions/factories/pull_request_serialization.go.

Add the connection contract and client boundary for Argo CD. The
integration validates a bearer token and leaves component behavior for a
follow-up change.

Signed-off-by: usernamenenad <radovic.nenad158@gmail.com>
Add a read-only action for retrieving Argo CD application state.
Expose delivery status and source data without returning raw manifests or
credentials. Keep the action scoped to application reads while later actions
remain separate.

Signed-off-by: usernamenenad <radovic.nenad158@gmail.com>
Allow canvases to request an application synchronization while retaining
the resulting delivery state for downstream decisions. Keep operation
controls explicit so prune and force remain disabled by default.

Signed-off-by: usernamenenad <radovic.nenad158@gmail.com>
@superplanehq-integration

Copy link
Copy Markdown
Contributor

👋 Commands for maintainers:

  • /sp start - Start an ephemeral machine (takes ~30s)
  • /sp stop - Stop a running machine (auto-executed on pr close)

@superplanehq-integration

Copy link
Copy Markdown
Contributor

Maintainers: comment /deploy-storybook to get a Storybook link for this PR.

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.

1 participant