Skip to Content
Installing MarshalRegistry options

Registry / pull-through cache options

registry.marshal.codes is rate-limited across every customer — a pull-through cache is required for real usage, not just an optimization. How you get one depends entirely on target.

TargetDefault postureCache optionWho provisions it
single-node k3sDirect pullimage_cache_registry → your own external mirrorYou (not this repo)
GKESelf-provisioned cache (default on)create_registry_cache — GCP Artifact Registry REMOTE_REPOSITORYTerraform, automatically
EKSDirect pullcreate_harbor_cache (opt-in fallback) or image_cache_registry (BYO, reuse path)Terraform (Harbor) or you (BYO)
ArgoCD (any cloud)Whatever you set global.registry toBring your own — this path provisions nothingYou

Why not ECR. AWS’s native ECR pull-through cache can never mirror registry.marshal.codes — confirmed live that CreatePullThroughCacheRule only accepts a hardcoded enum of known upstream registries and validates the URL server-side against each one’s real hostname. This is a hard AWS product limitation, not a missing feature — hence EKS’s Harbor fallback instead.

Shared, not per-deployment. Wherever image_cache_registry applies (single-node k3s, EKS reuse path), it’s a customer-level resource — set up once, reused across every install you run (prod, staging, …), never provisioned per-deployment.