GitOps made simple: Deploying apps with Argo CD and OCI registries

GitOps has a rhythm to it: a clean commit, an automated reconcile, and a deployed app that behaves like a well-tuned instrument. Argo CD has been a go-to conductor for that flow — and recent Argo CD releases added a new instrument to the ensemble: native OCI (Open Container Initiative) registry support for storing deployment artifacts (not just container images). That change makes it easier to treat registries as a single, auditable artifact store for charts and manifests while keeping Git as the source of truth for code and intent. (infoq.com)

This article explains why OCI registries matter for GitOps with Argo CD, how the integration looks in practice, and the trade-offs to watch for.

Why OCI registries for GitOps?

How Argo CD consumes OCI artifacts Argo CD v3.x introduced the ability to use OCI registries as a source for configuration artifacts — most commonly Helm charts packaged and pushed to an OCI registry. Practically, this looks like an Application spec where repoURL points to an oci:// URL and chart + targetRevision pick the artifact. (infoq.com)

Example (Helm chart from an OCI registry)

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-oci-helm-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: oci://registry.example.com/helm-charts
    chart: my-application
    targetRevision: 1.2.3
    helm:
      values: |
        replicaCount: 3
        image:
          repository: registry.example.com/my-app
          tag: v1.2.3
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true
      selfHeal: true

This pattern is now supported in Argo CD and in various community docs and examples; the key is the oci:// scheme in repoURL and a chart + version reference. (oneuptime.com)

What this buys you (practical benefits)

Important caveats and current limitations OCI support is a useful step, but it’s not a universal replacement for Git, and there are some caveats to consider.

Argo CD’s broader 3.x improvements (context) Argo CD’s v3 series has focused on performance, security, and UX improvements that make GitOps at scale smoother — improvements like better UI actions, ApplicationSet scaling and profiling, CLI/UX updates, and lifecycle hooks. These releases help teams operate large fleets of apps with clearer visibility while introducing the OCI integration into a more mature platform. (cncf.io)

A practical mental model Think of Git as the engineering notebook — it records the thinking, branches, and human intent. An OCI registry acts like the label-stamped vault where the finished albums (charts and signed artifacts) are stored and distributed. Argo CD sits at the playback console: it reads either the notebook or the vault, checks the metadata, and applies whatever’s declared — ideally with clear versioning and provenance. The two sources serve related but slightly different governance needs; using both together often yields the best balance of traceability and operational control. (infoq.com)

When OCI makes sense in your GitOps flows

When to prefer plain Git (or keep Git-centric artifacts)

Closing notes Argo CD’s native OCI support is a meaningful addition to the GitOps toolkit: it brings registries into the conversation beyond image hosting and opens practical paths for immutable, signed deployments. At the same time, it’s an incremental change — useful in many scenarios but not an automatic replacement for Git-centric workflows. The healthiest approach treats OCI artifacts and Git as complementary tools in the deployment supply chain, using each where it naturally best fits. (infoq.com)

References