Découverte d'OpenBao 2.0
En juillet 2024, OpenBao 2.0 a vu le jour après un fork d’HashiCorp Vault. Pour rappel, ce fork a été motivé par le changement de licence de Vault vers la Business Source License (BSL), limitant son utilisation commerciale. Pour préserver une version open source, OpenBao a été basé sur la dernière version de Vault sous licence MPL 2.0. Ce fork s’inscrit dans la lignée d’OpenTofu, le fork de Terraform, créé pour les mêmes raisons.
Les défis relevés pour sortir OpenBao
Lors du fork d’OpenBao à partir de HashiCorp Vault, les développeurs ont dû retirer plusieurs fonctionnalités Enterprise qui étaient propres aux versions commerciales de Vault.
Voici les principaux changements apportés :
- Retrait des fonctionnalités Enterprise : OpenBao a supprimé toutes les références aux fonctionnalités spécifiques à la version Enterprise de Vault, comme les clés gérées dans Transit et PKI. Ces fonctionnalités étaient exclusives à la version Enterprise.
- Suppression des références à la facturation : Des éléments liés à la gestion de la facturation, présents dans l’interface utilisateur et l’API de Vault Enterprise, ont été supprimés. OpenBao n’a pas de modèle de facturation, mais a conservé certains mécanismes comme les comptes clients pour assurer la visibilité dans la gestion des utilisateurs.
- Réécriture de l’interface utilisateur : OpenBao a dû réorganiser et simplifier l’UI pour se débarrasser des sections qui géraient à la fois les fonctionnalités open source et Enterprise de Vault.
- Adaptation de la documentation : Une grande partie de la documentation faisait référence à des fonctionnalités réservées à l’édition Enterprise de Vault. Les développeurs ont dû nettoyer ces sections afin de rendre la documentation d’OpenBao cohérente et adaptée à une utilisation open source.
Les nouveautés de cette release
Depuis la première release de la version 2.0 d’OpenBao, plusieurs mises à jour sont venus améliorer les performances, la sécurité et l’intégration avec d’autres outils.
- La version 2.0.0 a introduit la pagination des réponses API, réduisant ainsi la charge des serveurs, et le chiffrement XChaCha20-Poly1305, qui renforce la sécurité des secrets. Elle a également supprimé la fonction obsolète mlock, simplifiant ainsi la configuration.
- La version 2.0.1 s’est concentrée sur l’intégration avec Kubernetes, en alignant les préfixes pour faciliter l’adoption d’OpenBao. De plus, une mise à jour de Go a modernisé le projet, et des corrections ont été apportées pour améliorer la compatibilité avec Docker et la gestion des clés Ed25519.
- Enfin, la version 2.0.2 a poursuivi cette évolution en renforçant la gestion des requêtes IPv6 et en ajoutant un lien symbolique pour permettre aux utilisateurs de continuer à utiliser la commande vault dans Docker, facilitant ainsi la transition pour ceux venant de Vault.
Démarrage rapide avec OpenBao
La CLI d’OpenBao s’appelle désormais bao, mais les commandes et le fonctionnement restent proches de Vault.
Installation d’OpenBao
Pour installer OpenBao, téléchargez-le depuis les binaries officiels ↗. Suivez ces étapes en fonction de votre système d’exploitation :
Sous Linux
-
Téléchargez l’archive :
-
Décompressez et déplacez le fichier binaire :
-
Vérifiez l’installation :
Lancer OpenBao en mode développement
Le mode “dev” d’OpenBao permet de tester rapidement les fonctionnalités sans nécessiter de configuration complexe :
Cela démarre un serveur local avec un token racine. Vous pouvez utiliser ce mode pour expérimenter avec le stockage et la récupération des secrets.
Stockage et récupération de secrets
Stocker un secret
Utilisez cette commande pour stocker un secret sous forme de paire clé/valeur :
Récupérer un secret
Pour lire un secret que vous avez stocké :
Intégration avec des scripts et langages
OpenBao peut être géré facilement via son API.
Exemple en Bash :
L’avenir d’OpenBao
Avant d’envisager une utilisation en production, il est indispensable d’effectuer des tests prolongés. Même si la compatibilité avec les fonctionnalités clés de Vault est là, il est encore trop tôt pour juger de la robustesse d’OpenBao dans des environnements de production. Il faudra notamment observer la gestion de la scalabilité, les performances sous charge, ainsi que la réponse d’OpenBao à des scénarios complexes comme la réplication des secrets ou la gestion avancée des tokens.
De plus, certaines questions se posent quant à l’avenir de ce fork après l’acquisition d’HashiCorp par IBM. Si IBM poursuit une stratégie similaire à celle avec Red Hat, il est probable que les produits open source continueront d’être disponible, avec des versions payantes offrant des fonctionnalités supplémentaires sur une version commerciale.
Sources
- Issue GitHub sur la suppression des références Enterprise dans l’interface utilisateur : GitHub Issue #129 ↗.
- Issue GitHub sur la suppression des références à la facturation : GitHub Issue #130 ↗.
- Discussions sur la suppression des fonctionnalités liées aux Enterprise Keys : GitHub Issue #121 ↗.
- IBM to Acquire HashiCorp, Inc. for $6.4 Billion ↗.
- HashiCorp joins IBM to accelerate multi-cloud automation ↗.
- IBM Acquires HashiCorp for $6.4 Billion ↗.