DevOpsPad vs Argo CD - GitOps controller or desktop release plan

Argo CD and DevOpsPad both change what runs in a Kubernetes cluster, but they are built on opposite assumptions. Argo CD runs inside the cluster and keeps it in sync with Git, continuously, for any number of applications and clusters. DevOpsPad runs on your laptop, installs nothing in the cluster, and changes one existing Deployment at a time after you review a plan. If you have a platform team, many services and Git as the source of truth, use Argo CD. If you have a few K3s machines and want a careful, recorded release button without operating another controller, DevOpsPad is the lighter option.
At a glance
| Argo CD | DevOpsPad Infra console | |
|---|---|---|
| Where it runs | Controller and API server inside a cluster | Desktop app on your Mac |
| Source of truth | Git repository (Helm, Kustomize, plain YAML and more) | The live cluster, plus a local project folder you can share through Git |
| What it changes | Any resource the manifests describe | Existing Deployments: container image, replicas, restart, rollback to a recorded image |
| When it changes | Continuously, on sync (manual or automatic) | When a person confirms a plan |
| Drift detection | Yes, compares live state to Git | No |
| Pre-flight check | Diff against Git | Server-side dry-run, current vs target image, environment shown before confirm |
| Concurrency guard | Sync operations per application | Kubernetes Lease per Deployment, plus resource-version check |
| Rollout verification | Health assessment | Waits for new generation and updated/available replicas, records the outcome |
| Multi-cluster, SSO, RBAC for teams | Yes | No server; your kubeconfig RBAC applies |
| Install footprint | Runs in the cluster | Nothing in the cluster |
For Argo CD’s own description see argo-cd.readthedocs.io.
When to choose Argo CD
- Git should decide what runs. Argo CD’s core value is that the cluster matches a commit. Reviews happen on pull requests, and drift is detected and can be corrected automatically.
- You ship many services to many clusters. ApplicationSets, projects, SSO and team RBAC are built for that scale.
- You need to change more than an image. Argo CD applies whatever your manifests say: new Services, ConfigMaps, CRDs, whole Helm charts. DevOpsPad’s release engine only updates existing Deployments.
- Deploys should happen without a person at a laptop. Argo CD can sync automatically from CI commits.
When to choose DevOpsPad
- You do not want another controller. On a three-node K3s cluster, running and upgrading Argo CD can be a meaningful share of the cluster’s work and your attention. DevOpsPad talks to the Kubernetes API with your existing kubeconfig, optionally through SSH, and installs nothing.
- Releases are a deliberate human step. Each release, scale, restart or rollback generates a plan bound to the Deployment UID, resource version, container and image digest. The plan runs a server-side dry-run, expires after 10 minutes and can be executed once. See release an image.
- You want images pinned by digest. The artifact library registers images as
registry/name@sha256:<digest>, and rollbacks reuse the digest from the recorded release. Read register artifacts. - Two people might click at once. DevOpsPad takes a
coordination.k8s.ioLease per Deployment before writing and re-checks the resource version, so concurrent releases from two laptops do not interleave. - You want a plain record. Every action writes a JSON record to the local project folder. Teams share them by committing and pushing that folder with Git; DevOpsPad’s sync is manual and fast-forward only.
Trade-offs to be honest about
DevOpsPad does not detect drift and does not reconcile. If someone changes a Deployment with kubectl, DevOpsPad sees the new state the next time it reads; it does not revert it. The Lease is respected by DevOpsPad clients only; other tools still go through the resource-version check. A timeout or dropped connection is recorded as incomplete and is not retried or rolled back automatically. StatefulSets and DaemonSets are view-only. These limits are documented in rollback a release and the release guide.
Using both
They can coexist, but not on the same Deployment. If Argo CD manages a Deployment with automatic sync, an image change from DevOpsPad will be reverted on the next sync, because Git still says the old image. Use DevOpsPad on Deployments that are not managed by a GitOps controller, and use its explorer, logs and events for read-only debugging everywhere. The K3s connector and safe releases pages explain the setup.