Retour aux articles
HelmDevOpsGuide

Générer ses releases de charts Helm avec NX

Par Christian VAN DER ZWAARD

Introduction

Gérer le versionnage de charts Helm peut rapidement devenir complexe. Les outils classiques d'automatisation de releases Git imposent souvent de créer un dépôt dédié par chart, ce qui devient difficile à maintenir lorsque leur nombre augmente.

Nx est une solution élégante pour simplifier cette gestion au sein d'un monorepo.

Cette publication s'inspire des travaux d'Antoine Caron, je vous invite à lire son article Managing Terraform Modules with Nx Monorepo

Qu'est-ce que NX ?

NX est un outil de build conçu pour gérer des monorepos. À l'origine orienté vers les technologies web, il est en réalité compatible avec tous les langages.

Le flux de release se résume ainsi :

Configuration d'un environnement NX pour Helm

Construisons ensemble la structure d'un monorepo de charts Helm.

Création du workspace NX

bash
npx create-nx-workspace@latest helm-charts --preset=npm
cd helm-charts

Arborescence de fichiers

Voici l’organisation des fichiers et dossiers :

  • helm-charts
  • charts
  • example-chart
  • templates
  • Chart.yaml
  • package.json
  • node_modules
  • server
  • nx.json
  • package.json

Chaque chart Helm dispose d'un dossier dédié sous helm-charts/charts/ et dispose de son propre fichier package.json permettant de configurer NX.

Cet article vous a plu ? Partagez le :