https://github.com/izelnakri/helman
Kubernetes Helm <> Kustomize bridge
https://github.com/izelnakri/helman
cli developer-tools devops helm k8s kubernetes kubernetes-deployment kubernetes-setup kustomize
Last synced: 3 months ago
JSON representation
Kubernetes Helm <> Kustomize bridge
- Host: GitHub
- URL: https://github.com/izelnakri/helman
- Owner: izelnakri
- Created: 2020-03-25T02:21:02.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-03-26T10:25:47.000Z (about 4 years ago)
- Last Synced: 2025-02-14T05:50:46.035Z (about 1 year ago)
- Topics: cli, developer-tools, devops, helm, k8s, kubernetes, kubernetes-deployment, kubernetes-setup, kustomize
- Language: JavaScript
- Homepage:
- Size: 482 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Helman: Kubernetes Kustomize <> Helm
The package manager layer on top of Helm and Kubernetes. Allows for helm chart based kustomizations.
I hope functionality described in this cli tool will be a part of `helm` cli in future.
In the meantime, this cli tool provides an essential complexity management to helm and kustomize workflows.
### System Requirements
- helm
- kubectl
### Installation
```sh
npm install -g helman
helman help
```
### Usage
```sh
helman init
# -> creates npm/package.json like helm.json, helm_charts folder and k8s folder for kustomize
helman install jetstack/cert-manager
# -> saves latest cert-manager chart to helm_charts folder
# -> saves the installed version to helm.json
# -> creates k8s/bases/cert-manager/kustomization.yaml folder and links it to k8s/bases/kustomization.yaml
# -> builds the jetstack/cert-manager helm chart and creates k8s/bases/cert-manager/helm.yaml
# -> links k8s/bases/cert-manager/helm.yaml to k8s/bases/cert-manager/kustomization.yaml
# jetstack/cert-manager is a custom helm chart that isnt in stable repos, in case if jetstack isnt in your local helm repo:
helm repo add jetstack https://charts.jetstack.io && helman install jetstack/cert-manager
helman install stable/prometheus v0.8.1
# -> saves v0.8.1 prometheus chart to helm_charts folder
# -> saves the installed version to helm.json
# -> creates k8s/bases/prometheus/kustomization.yaml folder and links it to k8s/bases/kustomization.yaml
# -> builds the stable/prometheus helm chart and creates k8s/bases/prometheus/helm.yaml
# -> links k8s/bases/prometheus/helm.yaml to k8s/bases/prometheus/kustomization.yaml
helman build
# -> reads all the helm charts on helm.json and starts building their helm template outputs:
# -> rebuilds jetstack/cert-manager to k8s/bases/cert-manager/helm.yaml
# -> rebuilds stable/prometheus to k8s/bases/prometheus/helm.yaml
helman uninstall jetstack/cert-manager
# -> removes jetstack/cert-manager from helm_charts
# -> removes jetstack/cert-manager from helm.json
# -> removes k8s/bases/cert-manager
rm -rf helm_charts && helman install
# -> resets/reinstalls helm_charts folder with defined charts on helm.json and rebuilds them
```