Helm/Kubernetes Deployment API and Chart Pipeline
Overview
A containerized service that automates Helm-based deployments to Kubernetes. It bundles helm and kubectl in an Alpine image, exposes a small Node.js HTTP API to trigger deployments, and ships a catalog of reusable Helm charts published to an OCI registry.
Why It Exists
Deploying applications to Kubernetes by hand is repetitive and error-prone. This wraps Helm and kubectl behind a programmatic API plus a curated chart library, so common applications can be installed and updated consistently.
What We Built
- A
helm-serverNode.js service (server.js,helm.js,entrypoint.sh) that invokes Helm/kubectl operations via an HTTP interface. - A
charts/catalog with ready-to-use Helm charts:mautic,strapi,react-frontend, andboard. - A
build-charts.shpipeline that saves and pushes charts as OCI artifacts to a Scaleway container registry (HELM_EXPERIMENTAL_OCI). - A
Dockerfile(Alpine 3.11) pinningkubectlv1.18.2 andhelmv3.2.1, mounting kubeconfig and ans3mountfor storage, with SSH/Git for chart sourcing.
Technologies & Approach
Node.js orchestrates Helm and kubectl inside a purpose-built container; charts are versioned and distributed via an OCI-compatible registry. Auth and config directories are mounted at runtime for cluster access.
Outcome / Impact
Provided a repeatable deployment layer over Kubernetes, a programmatic Helm API plus a maintained chart catalog, reducing manual kubectl/helm steps for installing standard applications.
Capabilities Demonstrated
- Automating Kubernetes deployments programmatically via Helm
- Building and publishing Helm charts to an OCI registry
- Packaging cluster tooling (helm + kubectl) in pinned container images
- Curating a reusable Helm chart catalog for common apps