/nelm

Nelm is a Helm 3 alternative and werf deployment engine

Primary LanguageGoApache License 2.0Apache-2.0

Nelm is meant to be a direct Helm 3 replacement, providing first-class Helm-chart support, yet improving on what Helm 3 offers.

Nelm is used as the deployment engine in werf, but Nelm will have its own CLI in the future for those who don't need everything that werf offers.

Nelm is based on Helm 3 — some parts of it improved and some, like the deployment subsystem, are rewritten from scratch to introduce:

  • terraform plan-like capabilities
  • Replacement of 3-Way Merge with Server-Side Apply
  • Improved resource tracking built from the ground up
  • Advanced resource ordering capabilities
  • Flexible resource lifecycle management
  • Fixes for numerous issues like this one and other improvements

Getting started with Nelm via werf

  1. Download werf v2
  2. Create new project:
git init myproject
cd myproject
mkdir .helm

cat > .helm/Chart.yaml <<EOF
dependencies:
- name: cert-manager
  version: 1.13.3
  repository: https://charts.jetstack.io
EOF

cat > .helm/values.yaml <<EOF
cert-manager:
  installCRDs: true
  startupapicheck:
    enabled: false
EOF

cat > werf.yaml <<EOF
configVersion: 1
project: myproject
EOF

cat > .gitignore <<EOF
/.helm/charts/*.tgz
EOF

werf helm dependency update .helm
git add .
git commit -m init
  1. Check what's going to happen on next release:
werf plan --env dev
  1. Deploy new release:
werf converge --env dev
  1. Proceed to werf documentation to learn more.

Getting started with standalone Nelm

Not implemented yet