Skip to content

skaphos/gitops-engine

 
 

Repository files navigation

GitOps Engine (Skaphos friendly fork)

This repository is a friendly fork of argoproj/argo-cd/gitops-engine/, extracted into a standalone Go module so Skaphos can iterate on Kubernetes API ceilings and scheme registration on its own cadence without diverging from upstream.

This fork is not adversarial. Our intent is to upstream every Skaphos-originated change back to the Argo CD authors (or to a revived argoproj/gitops-engine standalone repo) as a normal PR, and to dissolve this fork once upstream can absorb the work it contains. See UPSTREAMING.md for the outbound work log.

The canonical import path for this fork is:

github.com/skaphos/gitops-engine

The module rename exists because Skaphos cannot publish under the argoproj namespace; everything inside the module remains shaped like upstream-eligible code (atomic commits, no drive-by refactors, no Skaphos-specific abstractions leaking into shared paths).

Provenance

The baseline-upstream-a39953d tag marks the byte-equivalent extraction point against upstream commit a39953d. Every commit after that tag is either:

  1. A Skaphos modification — small, atomic, shaped to be PR'd back upstream.
  2. A backported upstream patch — see UPSTREAM_SYNC.md.

The scripts/sync-upstream.sh helper pulls patches in from argoproj/argo-cd/gitops-engine/. Outbound contributions to upstream are tracked in UPSTREAMING.md.

What this library provides

Core GitOps primitives consumed by Skaphos products:

  • Kubernetes resource cache
  • Resource reconciliation
  • Sync planning
  • Health assessment
  • Diff calculation

Decision record

The motivation, alternatives considered, and consequences of extracting are documented in ADR 0007 — Hard-fork gitops-engine into skaphos/gitops-engine. The ADR uses "hard-fork" as shorthand for the mechanism (own repo, own module path); the stance is friendly — see UPSTREAMING.md.

Backport cadence

Per ADR 0007, this fork is re-synced from upstream:

  • Every argo-cd minor release, or quarterly — whichever fires first.
  • Out-of-band for CVEs that affect code paths Skaphos products use.

The mechanics live in scripts/sync-upstream.sh.

Usage

go get github.com/skaphos/gitops-engine

License

Apache-2.0. See LICENSE and NOTICE.

About

Declarative Continuous Deployment for Kubernetes

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 98.2%
  • Shell 1.7%
  • Makefile 0.1%