Skip to content

abdoulfataoh/helm-platform

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helm Platform

A lightweight and opinionated Helm platform foundation for building Kubernetes applications using library charts and composition. This project helps teams standardize Kubernetes deployments, services, ingress, ... while keeping application charts simple, explicit, and maintainable.

Who Is This For ?

  • Platform / DevOps engineers

  • Teams running multiple Kubernetes applications

  • Organizations looking for clean Helm architecture

  • Anyone tired of giant, unmaintainable Helm charts

Why This Project ?

  • Reduce YAML duplication and enforce consistent Kubernetes standards

  • Provide small, focused Helm library charts with clear responsibilities

  • Separate platform concerns from application logic

  • Favor explicit composition over hidden or implicit behavior

Repository Structure

helm-platform/
├── common/        # Core library chart (mandatory)
├── service/       # Library chart for Kubernetes Services
├── ingress/       # Library chart for HTTP/HTTPS exposure
└── ...

Usage

This project provides Helm library charts published as OCI artifacts on GitHub Container Registry (GHCR). They are designed to be consumed as dependencies by application charts.

  • Adding a Dependency

To use a library chart (for example common), declare it in your application chart’s Chart.yaml:

dependencies:
  - name: common
    version: 0.2.5
    repository: oci://ghcr.io/qirelo

Fetching Dependencies

helm dependency update

Using the Library Templates. Library charts expose reusable templates via define / include.

{{ include "common.deployment" . }}

Rendering and Installing

helm template my-app .
helm install my-app .

Example Application

The example repository includes a complete example application demonstrating how to compose the library charts together.

Documentations

Releasing a chart (Development)

Each chart is released independently using Git tags.

The release-chart.yaml workflow automatically packages and publishes a chart to the OCI registry when a release tag is pushed.

From the helm-platform repository root:

  1. Create a release tag
git tag <chart-name>-v<version>

Example

git tag common-v0.1.0

Where:

<chart-name> is the chart directory name (e.g. common)
<version> is the chart version to release (e.g. 0.1.0)
  1. Push the tag
git push origin <chart-name>-v<version>  

Example

git push origin common-v0.1.0


Made with ❤️ and open source.

About

Reusable Helm library charts for clean and scalable Kubernetes deployments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Go Template 100.0%