Skip to content

ci Kubernetes Kind License Apache2

helm-charts-utilities contains standalone Helm charts used by OKDP for platform support, local development, bootstrap configuration, and small Kubernetes integration tasks.

Charts

Chart Version Description
cert-issuers 0.2.0 cert-manager ClusterIssuers and Certificate bundles
cnpg-postgresql 0.1.0 CloudNativePG PostgreSQL cluster, database, and credential resources
coredns-patch 0.1.0 CoreDNS configuration patch for local domain resolution
dns-server 1.0.0 Lightweight DNS server for local development
local-secrets-provider 0.1.0 Shared local testing secrets, configuration, services, and environment values
polaris-admin 1.0.0 Apache Polaris realm, principal, and role bootstrap jobs
seaweedfs-auth-config 1.0.0 SeaweedFS Auth and IAM/STS configuration
spark-defaults 1.0.0 Spark default properties ConfigMap
spark-rbac 1.0.1 ServiceAccount, Role, and RoleBinding resources for Spark on Kubernetes

Each chart has its own README.md, Chart.yaml, values.yaml, and templates under charts/<chart-name>/.

Install A Chart

Charts are published as OCI artifacts under the repository owner namespace:

helm pull oci://quay.io/okdp/charts/<chart-name> --version <version>
helm install <release-name> oci://quay.io/okdp/charts/<chart-name> --version <version>

For forks or organization copies, replace okdp with the lowercased GitHub repository owner.

You can also install directly from a local checkout:

helm install <release-name> charts/<chart-name> -f charts/<chart-name>/values.yaml

Development

Run Helm lint for a single chart:

helm lint charts/<chart-name>

Run chart-testing for all charts:

ct lint --config .ct.yml --all --check-version-increment=false

Run install tests with chart-testing and a local Kubernetes cluster:

kind create cluster
ct install --config .ct.yml --namespace default

Generate chart documentation:

helm-docs -c .

CI

The CI workflow:

  • detects changed charts with chart-testing;
  • lints charts with ct lint;
  • tests chart installation on Kind with ct install;
  • generates Helm README documentation with helm-docs;
  • commits generated chart README changes when the workflow has write permission;
  • packages every chart under charts/;
  • pushes CI packages to oci://ghcr.io/<owner>/charts.

Publishing

Publishing is done by publish.yml, which packages every chart under charts/ and pushes release packages to oci://quay.io/<owner>/charts.

The publish workflow is triggered in two ways:

  • publish-on-merge runs after a successful ci workflow on main;
  • release-please runs after release PRs are merged and then triggers publish.yml.

Existing chart versions are skipped so unchanged charts do not fail the publish job.

The owner portion is derived from the GitHub repository owner in lowercase, so forks and organization copies publish under their own namespace.

About

Collection of reusable OKDP utility Helm charts

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages