La HashiConf a eu lieu les 14 et 15 Octobre derniers, en format virtuel pour cause de contexte sanitaire. S’il y a de nombreuses nouveautés à signaler dans l’arsenal d’HashiCorp, nous avons eu droit à l’annonce de deux nouveaux produits ! Dans cet article nous allons passer en revue ensemble les nouveautés présentées durant ces deux jours, et notamment HashiCorp Boundary et HashiCorp Waypoint.

HashiCorp Boundary

Nouveau produit HashiCorp qui vient compléter l’offre sécurité d’HashiCorp. Si jusqu’ici HashiCorp Vault s’occupait de la gestion des secrets, l’accès aux différentes ressources restait un challenge pour les utilisateurs.

HashiCorp Boundary vient compléter l’offre de Vault en répondant à ce challenge : Boundary usage

L’outil permet d’authentifier un utilisateur qui aura un rôle avec des droits définis lui permettant ou pas de se connecter, sans installation d’agent au préalable, à des services ou serveur : Boundary workflow

Nous pouvons très bien imaginer le scénario simplifié suivant :

  • L’utilisateur s’authentifie à HashiCorp Boundary avec une méthode d’authentification définie (ex: SSO)
  • Une fois authentifié, celui-ci accède à un catalogue de ressources en fonction des droits fournis par son rôle (exemple : dans AWS, toutes les instances EC2 d’un VPC)
  • Celui-ci sélectionne le serveur ou service et se retrouve connecté (ex: SSH sur l’instance EC2 dans un subnet privé)

Le produit est aujourd’hui disponible en version 0.1 et peut être utilisé par Terraform (en version 0.12 ou ultérieur) pour la configuration de celui-ci.

Pour ceux qui souhaitent se passer de Terraform pour la configuration/utilisation, notez que l’outil possède une API, CLI et UI.

Plus d’information sur le produit: More information:

Bien entendu, le produit est en version 0.1 et des limitations s’opèrent aujourd’hui (notamment avec les l’exemple cité précédemment). Cependant, vous pouvez visiter la roadmap Boundary et donner votre feedback.

HashiCorp Waypoint

“Developer just want to deploy” est la citation d’HashiCorp qui définit le mieux l’objectif de ce nouveau produit.

HashiCorp Waypoint est un outil basé sur le workflow de build, deploy et release d’une application sur n’importe quelle plateforme.

L’intérêt du produit est de faire l’abstraction aussi bien du code applicatif que de la plateforme de déploiement et d’avoir un fichier de configuration avec un langage commun : Waypoint workflow

Qu’est ce que HashiCorp Waypoint, à ce jour, supporte sur son cycle de vie ?

  • Au niveau Build:
    • Docker Build
    • Docker Pull Build
    • Cloud Native Buildpacks
  • Au niveau Deploy:
    • Kubernetes
    • HashiCorp Nomad
    • AWS EC2
    • AWS ECS
    • Google Cloud Run
    • Azure Container Instances
    • Netlify
  • Enfin, au niveau Release: dépendant de la plateforme de déploiement (voir ici pour plus de détails)

Mais l’outil ne s’arrête pas là et a sous la main quelques fonctionnalités en plus, telles que :

  • URL Waypoint généré par application et déploiement: chaque application déployée par Waypoint a une URL publique en “waypoint.run” avec un certificat TLS signé par Let’s Encrypt. La fonctionnalité est optionnelle.
  • Waypoint Exec: permet d’exécuter des remote command à l’application déployée
  • Waypoint Logs: permet d’obtenir un snapshot des logs en cours de l’application déployée
  • Une interface Web UI en plus de la CLI
  • Plugins: la force et le potentiel de Waypoint réside dans les plugins. A ce jour, Waypoint possède une dizaine de plugins (ex: Kubernetes, AWS ECS, Google Cloud Run, etc) et surement beaucoup plus dans les mois à venir. De quoi inviter la communauté à mettre la main à la pâte !
  • Un outil fait pour la CI/CD: l’outil s’intègre très bien dans un contexte d’automatisation ou de CI/CD. Vous pouvez retrouver plusieurs exemples sur le site officiel (ex: Github action, Gitlab CI/CD, etc)

Plus d’informations sur le produit:

Bien entendu, le produit est en version 0.1 et là aussi il y a des limitations. Cependant, vous pouvez visiter la roadmap Waypoint et donner votre feedback.

Enfin, si vous avez l’occasion de tester le produit, vous pouvez partager votre expérience sur Twitter avec les tags suivants : #WaypointUp @HashiCorp

We want to highlight apps from the community deployed using Waypoint. Tweet a screenshot of your app running with its > Waypoint URL and tag @HashiCorp + use #WaypointUp.

To learn more about Waypoint and try it out, start with our blog: https://t.co/zDmrAtWH1b pic.twitter.com/wJZDDLTBmo — HashiCorp (@HashiCorp) October 16, 2020

Terraform 0.14 (Public Beta)

Terraform version 0.14 est enfin sorti en version public beta et nous nous rapprochons de plus en plus d’une version 1.0 (prévu pour 2021) !

Voici les grandes lignes des nouveautés:

  • Sensitive input variable: les variables peuvent maintenant être indiquées comme “sensibles” afin que les valeurs ne soit pas présentes dans l’output. A noter, qu’à ce jour, la valeur est présente en clair dans le state file.
  • Un diff plus concis: certains d’entre vous ont remarqué que depuis la version 0.12 que le plan ou apply affichait beaucoup plus d’informations que les versions précédentes. Maintenant, celui-ci affichera uniquement les lignes de modifications/ajouts/suppressions et masquera les autres lignes inchangées.
  • Provider Dependency Lock File: depuis la version 0.13, de plus en plus de provider ont vu le jour et le rythme des upgrades de chacun d’entre eux s’est accéléré. Cette fonctionnalité entre en jeu afin d’éviter tout upgrade d’un provider altère votre IaC.
  • ARM64 version pour Linux

Pour plus d’informations :

Consul 1.9 (Public Beta)

Parmi les bonnes surprises, nous avons HashiCorp Consul qui passe lui aussi en version 1.9 beta. Cette version se concentre sur l’observabilité, plus de fonctionnalités sur service mesh et enfin une meilleure intégration avec Kubernetes.

Voici ce que nous offre cette nouvelle version:

  • Application – Aware Intention (HTTP et gRPC) : les intentions supportent maintenant la layer 7 permettant ainsi d’allow/disallow la communication des services basés sur les requêtes HTTP Header, URI ou encore les path URL.
  • Service Mesh Visualization : dans l’UI de Consul, il est maintenant possible de voir la topologie des différents services et leurs interactions mais aussi de nouvelles métriques applicatives font leurs apparitions, comme le nombre de requêtes par seconde, le nombre d’erreurs et la latence.
  • Custom Resources for Kubernetes : il est maintenant possible de configurer le service mesh de Consul via les Custom Resource Definitions (CRD) de Kubernetes.
  • Deploiement d’un cluster Consul dans OpenShift via une chart Helm.
  • Active Health Checks for Consul on Kubernetes : permet au service mesh de Consul d’intégrer le Health Check de Kubernetes (Kubernetes Readiness probes) afin d’éviter de router le trafic sur un pod unhealthy (readiness ou Health en fail).
  • Streaming : réduit l’usage CPU et la bande passante d’un large cluster Consul notamment en améliorant le traitement des blocking queries.

Enfin deux dernières annonces en rapport avec HashiCorp Consul:

Pour en savoir plus:

Vault HCP (Private Beta) & Consul HCP (Public Beta)

HashiCorp Cloud Plateform (HCP) est une plateforme managée sur laquelle sont déployés les produits HashiCorp de façon automatisée.

HashiCorp en maintient l’infrastructure et l’héberge sur le cloud provider choisi (ex: Azure ou AWS). Enfin, vous pourrez accéder directement à votre cluster ou créer un lien privé (ex: VPC peering pour AWS) pour vous y connecter.

A ce jour, HashiCorp a annoncé HashiCorp Consul Service (HCS) on Azure for production et avec la HashiConf, Consul voir le jour sur HCP en Beta publique sur AWS.

Pour Vault, celui-ci passe aussi sur HCP uniquement sur AWS (pour le moment) mais en Private Beta et il faudra donc en faire la demande pour y avoir accès.

Pour plus d’information:

Nomad 1.0

Nous avons eu l’occasion de voir depuis Juin 2020 la version 0.12 de HashiCorp Nomad, ajoutant quelques nouvelles fonctionnalités telles que: Multi-Cluster Deployment, Spread Scheduling, Container Network Interface, etc. Ainsi que des intégrations avec HashiCorp Consul.

HashiCorp annonce la sortie de Nomad 1.0 pour 27 octobre 2020 au travers d’un webinar sur lequel vous pouvez vous inscrire.

Pour les nouveautés de cette version 1.0, les fonctionnalités sont encore cachées mais Yishan Lin (product Manager de Nomad) a indiqué que les namespaces passeront de la version Enterprise a open source !

Avec le Changelog nous pouvons nous faire une idée d’une partie des fonctionnalités qui sortiront:

  • Event Stream: Permet d’avoir un stream en temps réel des événements Nomad objects, JobEvent, AllocEvent, EvalEvent, DeploymentEvent and NodeEvent.
  • Topology Visualization: Utilisé pour voir l’état de chaque client et l’allocation via l’UI.
  • Et d’autres améliorations

En attendant la version 1.0 de HashiCorp Nomad, vous pouvez suivre Jacquie Grindrod qui questionnera les employés d’HashiCorp pour savoir ce qu’ils attendent le plus de cette version au travers de “bite size episode” journaliers : Welcome to Nomad: The Path to Nomad 1.0

Plus d’informations :

Vault, Packer et Vagrant ?

Pas d’annonce spécifique à ces produits durant la HashiConf. Les nouvelles versions ont été produites avant la HashiConf, ainsi que les communications sur le sujet que vous pouvez retrouver directement via:

Enfin, quelques bonus: