Skip to content

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

helm-charts

Lint & Test Charts Release Charts & Site

A small, well-kept Helm repository, served from GitHub Pages: https://magicabdel.github.io/helm-charts

Usage

helm repo add magicabdel https://magicabdel.github.io/helm-charts
helm search repo magicabdel

Then install a chart — for example:

helm install my-app magicabdel/generic-deployment \
  --set image.repository=ghcr.io/acme/my-app \
  --set image.tag=1.4.2

Charts

Chart Description
generic-deployment A fully configurable Deployment + Service, with an optional HorizontalPodAutoscaler and optional Gateway API resources (HTTPRoute, Gateway, ReferenceGrant) to expose it.
manifests Renders a values-supplied list of raw Kubernetes manifests verbatim — any kind, any apiVersion.

See each chart's README for examples and the full values reference. Every chart ships an inline-documented values.yaml and a values.schema.json that validates your overrides at install time.

How releases work

  1. PRs — lint-test.yaml runs ct lint (chart-testing), plus helm lint / helm template against every ci/*-values.yaml file, and validates rendered manifests with kubeconform (Gateway API kinds included via the CRDs-catalog schemas).
  2. Merge to main — release.yaml packages every chart with helm package; any version that has no GitHub release yet is published with gh release create (tag <name>-<version>, .tgz attached, generated notes). GitHub releases are the storage layer.
  3. Same workflow — the complete index.yaml is rebuilt from the release history (every released .tgz is fetched and indexed with per-tag download URLs), bundled with the landing page from site/, and the result is deployed directly from Actions (actions/deploy-pages) — one atomic Pages deployment, no gh-pages branch involved.

Releasing a chart = bump version: in its Chart.yaml and merge. No tags needed.

Because index.yaml is rebuilt from the release history on every deploy, the index is stateless and self-healing — deleting a GitHub release removes that version from the index on the next run.

Development

# Lint + render locally
helm lint charts/generic-deployment
helm template test charts/generic-deployment \
  --values charts/generic-deployment/ci/gateway-api-values.yaml

# Full chart-testing run (needs Docker)
ct lint --config ct.yaml

Chart conventions:

  • Each chart ships values.yaml (documented inline), values.schema.json, README.md, and ci/*-values.yaml files that CI renders and validates.
  • Fields documented as tpl-rendered accept Helm template expressions in values.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages