This repository hosts the ndustrial.io Helm Charts for deploying to Kubernetes.
Helm must be installed to use the charts. Please refer to Helm's documentation to get started.
Once Helm is set up, add the repo:
helm repo add ndustrial https://ndustrialio.github.io/charts
helm repo update
You can then run helm search repo ndustrial
to see the charts.
All charts need the folowing fields defined:
ndustrial:
## @param ndustrial.name The name of the application/service. (Required)
# Should match gitrepository name (if able)
name:
## @param ndustrial.organization The slug of the Organization that owns the application (Required)
organization:
## @param ndustrial.owner The person/team that owns this service. (Required)
owner:
## @param ndustrial.managed_by The service which manages the kubernetes object Should most likely be one of: helm, contxt, fleet. (Required)
managed_by:
## @param ndustrial.env The environment being deployed into Should most likely be one of: dev, staging, prod, or qa. (Required)
env:
## @param ndustrial.version The app version being deployed (Required)
version:
## @param ndustrial.repo The github repository where the code exists (populated by CI/CD)
repo:
## @param ndustrial.type The service type of this deployment (api, database, backend, frontend, etl, etc...) (Required)
type:
## @param ndustrial.project Unique project id that this repository belongs too (Required)
project:
## @param ndustrial.depends[0].project The name of the project that this service depends on
## @param ndustrial.depends[0].name The name of the project service
depends:
- project:
name:
If it is a contxt
deployed chart the following values need to be defined:
contxt:
## @param contxt.projectId The ID of the Contxt Stack that this object belongs to (if applicable)
projectId:
## @param contxt.serviceId The ID of the Contxt Service that this object belongs to (if applicable)
serviceId:
## @param contxt.serviceType The type of the Contxt Service that this object belongs to (if applicable)
serviceType:
common
- common chart which provides helper functions for all chartscronjob
- chart to deployCronJob
resourcesdeployment
- chart to deployDeployment
resourcesstatefulset
- chart to deployStatefulSet
resources
We use GitHub Actions to test and release our charts. On a pull request, our CI pipeline will lint and test any changes via Helm's Chart Testing tool. On a commit to master, our Release pipeline will package and release new charts to GitHub Pages via Helm's Chart Releaser.
All charts depend on the ndustrial common
chart.
Documentation is generated using readme-generator-for-helm and can be ran via make gen
.
Helm linting is done via Helm's Chart Testing. This is ran via the CI pipeline but can be ran locally via docker with make lint
.