Helm 3, la dernière version du gestionnaire de paquets pour Kubernetes, bénéficie d’améliorations majeures, en particulier en matière de sécurité et de référentiel de « charts ». Des améliorations ont également été apportées à la gestion des versions et des « charts » de bibliothèque.

Helm est un projet de la Cloud Native Computing Foundation (CNCF) qui sert à rationaliser les déploiements Kubernetes en facilitant la recherche, le partage et le déploiement de logiciels sur Kubernetes. Le gestionnaire s'appuie sur un format de packaging appelé « charts », c’est à dire, plus concrètement, des séries de fichiers pour décrire des ressources Kubernetes liées. Les « charts » de Helm peuvent être regroupés dans des archives avec une référence de version en vue de leur déploiement. Alors que Helm 2 décrivait un workflow pour la création et la gestion des « charts », Helm 3 s'appuie sur ce workflow en modifiant l'infrastructure sous-jacente pour tenir compte des souhaits de la communauté.

Parmi les ajouts et les améliorations apportés à Helm 3, on peut citer :

- Une meilleure stratégie de mise à niveau, tirant parti de la stratégie algorithmique dite 3-Way Merge. Lors de la génération d'un patch, Helm prend en compte l'ancien manifeste, son état actuel, et le nouveau manifeste.

- La suppression de l’outil de gestion des versions Tiller. Les contrôles d'accès basés sur les rôles dans Kubernetes 1.6 ont rendu l’usage de Tiller plus difficile. Sa suppression simplifie le modèle de sécurité de Helm. Les noms des versions sont désormais inclus dans l'espace de nommage. En l'absence de Tiller, Helm prend désormais en charge la sécurité, l'identité et les fonctions d'autorisation de Kubernetes.

- Alors que Helm 2 utilisait ConfigMaps par défaut pour stocker les informations de version, Helm 3 utilise Secrets comme pilote de stockage par défaut.

- L'objet intégré .Capabilities disponible pendant le rendu a été simplifié.

- Il est désormais possible d’imposer un schéma JSON aux valeurs d’un « chart », pour s'assurer que les valeurs fournies par l'utilisateur suivent le schéma défini par le responsable de sa maintenance. Cela permet de mieux signaler les erreurs quand un set de valeurs incorrect est fourni pour un « chart ».

- Le système de gestion des dépendances de « chart » est passé de requirements.yaml et requirements.lock à Chart.yaml et Chart.lock.

- Une classe de « chart » appelée « chart de bibliothèque » est supportée. Il s'agit un « chart » partagé par d'autres « charts », mais qui ne crée pas en soi d'artefacts de release.

Le projet Helm a été développé en 2015 par la startup Deis en tant que projet open source. La prochaine phase du développement de Helm mettra l'accent sur la stabilité et l'amélioration des caractéristiques existantes. La feuille de route annonce des fonctionnalités améliorées pour le test de Helm, des améliorations de l'intégration Open Container Initiative (OCI) et des améliorations pour les bibliothèques clientes Go.

Helm est téléchargeable sur GitHub.