jarodr47

jarodr47 / Portager

Public

Portage is a Kubernetes operator that declaratively syncs container images between registries. The name comes from the act of carrying cargo between two bodies of water, which is exactly what this does: carrying container images between two registries.

13
1
100% credibility
Found Mar 02, 2026 at 13 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Go
AI Summary

Portager automatically copies container images between different storage registries on a schedule you define.

How It Works

1
🔍 Discover Portager

You hear about a simple way to automatically copy your container images from one storage place to another without manual hassle.

2
🚀 Set it up quickly

You add Portager to your setup using a ready-made package that handles everything in moments.

3
Create your copy rule

You describe which images to copy, from which storage spot to which one, in a straightforward list.

4
🔗 Link your storage spots

You connect the original image home and your preferred destination so copies can flow securely.

5
Pick update timing

You choose how often to check for changes and refresh your copies, like every few hours.

6
👀 Watch it work

You check the progress and see updates happening automatically with clear reports on what's copied.

Images always ready

Your images stay perfectly mirrored across spots, saving time and keeping everything up to date effortlessly.

Sign up to see the full architecture

5 more

Sign Up Free

Star Growth

See how this repo grew from 13 to 13 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is Portager?

Portager is a Go Kubernetes operator that declaratively syncs container images between OCI registries, like carrying cargo between bodies of water—exactly what the name evokes from Gentoo Portage on GitHub or potager cuisine gardens (potager deutsch for raised beds). Define an ImageSync CR with source (Docker Hub, GHCR), destination (ECR, Harbor), cron schedule like "@every 6h", images/tags, and auth secrets or IRSA; it copies changes via digest checks and updates status for kubectl describe.

Why is it gaining traction?

It stands out as the first CRD-native operator for registry-to-registry mirroring, beating AWS-only ECR caches, config-file dregsy, or Flux's Git-focused automation—no pipelines or scripts needed. Users get observable syncs with events, Prometheus metrics, on-demand annotations, and broad support for Chainguard to Nexus, filling a Kubernetes gap for GitOps image portagerm.

Who should use this?

SREs mirroring base images (alpine:latest to private ECR) for airgapped EKS/GKE clusters, or potager du marais-style teams organizing potager farm images between public/private registries. DevOps ditching cronjobs for declarative syncs in multi-cloud setups, avoiding potager du roi manual toil.

Verdict

Early with 13 stars and 1.0% credibility score, but mature docs, Helm/Kustomize installs, and e2e tests make it eval-ready for image replication needs—deploy via helm install and monitor.

(198 words)

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.