Skip to content

Add regcache chart and use it as an ace-installer subchart#1280

Merged
ArnobKumarSaha merged 3 commits into
masterfrom
regproxy
Jun 26, 2026
Merged

Add regcache chart and use it as an ace-installer subchart#1280
ArnobKumarSaha merged 3 commits into
masterfrom
regproxy

Conversation

@tamalsaha

@tamalsaha tamalsaha commented Jun 22, 2026

Copy link
Copy Markdown
Member

Summary

Adds a standalone charts/regcache Helm chart — an in-cluster pull-through Docker registry cache (CNCF Distribution registry:3) — and consumes it from ace-installer as a subchart (default enabled). It proxies the upstream registry (ghcr.io by default) so ghcr.io/appscode-charts images are served from within the cluster. A new appscode-wizards-oci HelmRepository routes through the cache when enabled.

Evolution of this PR: the proxy started in platform-api, moved to ace-installer templates, and is now its own chart used as a subchart.

charts/regcache (new, standalone)

  • Self-contained, global-aware chart modeled on charts/billing. Image: ghcr.io/appscode-images/registry:3.1.1 (registryFQDN + image.registry).
  • Helpers are prefixed (regcache.*) to avoid Helm's global template-name collisions with the parent.
  • PVC storage class resolves as: persistence.storageClassinfra.storageClass.name → parent global.infra.storageClass.name → cluster default (the billing $infra idiom).
  • regcache.ttl (default 72h) bounds disk usage; the cache purges entries older than the TTL and has no capacity-based eviction.

ace-installer wiring

  • Chart.yaml dependency file://../regcache with condition: regcache.enabled (default true); templates/regcache/ removed.
  • appscode-wizards-oci is rewritten to the in-cluster proxy Service (oci://<release>-regcache.<ns>.svc:5000/appscode-charts, insecure: true) when enabled, via the shared ace-installer.applyRegcache helper. The regcache.serviceAddress helper mirrors the subchart's fullname so the URL always matches the Service name (verified across release names).

API & plumbing

  • New Go type Regcache/RegcacheSpec (apis/installer/v1alpha1/regcache_types.go), registered; AceInstallerSpec.Regcache now references RegcacheSpec. make codegen for deepcopy.
  • charts/ace-installer-certified and -certified-crds regenerated via chart-packer (they depend on ../regcache).
  • update-chart-dependencies.sh builds the ace-installer dependencies; bundled charts/ dirs are gitignored while Chart.lock is tracked.

Generated artifacts

CRDs, values.openapiv3_schema.yaml, and per-chart README.md regenerated. catalog/imagelist.yaml carries ghcr.io/appscode-images/registry:3.1.1 (now also discoverable since regcache renders by default).

kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 22, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 22, 2026
@tamalsaha tamalsaha changed the title Add optional in-cluster registry proxy for ghcr.io to ace chart Add optional in-cluster registry proxy for ghcr.io to platform-api chart Jun 22, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 25, 2026
@tamalsaha tamalsaha changed the title Add optional in-cluster registry proxy for ghcr.io to platform-api chart Add optional in-cluster registry proxy to ace-installer chart Jun 25, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 25, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 25, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 25, 2026
@tamalsaha tamalsaha changed the title Add optional in-cluster registry proxy to ace-installer chart Add in-cluster registry proxy to ace-installer chart Jun 25, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 25, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 25, 2026
@tamalsaha tamalsaha changed the title Add in-cluster registry proxy to ace-installer chart Add regproxy chart and use it as an ace-installer subchart Jun 25, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 25, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 25, 2026
@tamalsaha tamalsaha changed the title Add regproxy chart and use it as an ace-installer subchart Add regcache chart and use it as an ace-installer subchart Jun 26, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 26, 2026
Add a standalone regcache Helm chart (charts/regcache) that deploys a CNCF
Distribution (registry:3) pull-through cache, and consume it from ace-installer
as a subchart (file://../regcache, condition regcache.enabled, default true). It
proxies the upstream registry (ghcr.io by default) so ghcr.io/appscode-charts
images are served from within the cluster. Cache image is
ghcr.io/appscode-images/registry:3.1.1.

The regcache chart is global-aware (modeled on charts/billing): it resolves its
image registry from registryFQDN, OpenShift via Capabilities, and the PVC
storage class from persistence.storageClass, else infra.storageClass.name, else
the parent's global.infra.storageClass.name, else the cluster default. Its
helpers are prefixed (regcache.*) to avoid Helm's global template-name
collisions with the parent chart.

ace-installer keeps an appscode-wizards-oci HelmRepository used by the platform
UI deploy wizards. When regcache is enabled, its URL is rewritten to the
in-cluster proxy Service so wizard chart pulls are served from the cache; the
proxy serves plain HTTP, so the repository is marked insecure. The
regcache.serviceAddress helper mirrors the subchart's fullname so the rewritten
URL always matches the Service name.

charts/ace-installer-certified and ace-installer-certified-crds are regenerated
from charts/ace-installer via chart-packer and depend on ../regcache.
update-chart-dependencies.sh now builds the ace-installer dependencies, and the
bundled charts/ dirs are gitignored while Chart.lock is tracked.

Signed-off-by: Tamal Saha <tamal@appscode.com>
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 26, 2026
kodiak-appscode[bot]
kodiak-appscode Bot previously approved these changes Jun 26, 2026
Signed-off-by: Arnob kumar saha <arnob@appscode.com>
@ArnobKumarSaha ArnobKumarSaha merged commit 39ea171 into master Jun 26, 2026
8 checks passed
@ArnobKumarSaha ArnobKumarSaha deleted the regproxy branch June 26, 2026 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants