Semaphore v2.18 introduit de nouvelles fonctionnalités et améliorations pour l’automatisation d’infrastructure et les équipes DevOps. Cette version se concentre sur l’amélioration de l’expérience développeur et la simplification des workflows d’infrastructure-as-code.

Intégration du gestionnaire de secrets cloud

Les organisations utilisant des plateformes cloud ont besoin d’un moyen de récupérer les secrets directement depuis le service de gestion des secrets de leur fournisseur cloud à l’exécution, afin d’éviter la duplication des identifiants et de tirer parti des politiques de rotation existantes. Cette fonctionnalité ajoute des intégrations natives avec AWS Secrets Manager et Azure Key Vault, réservées à l’édition Enterprise.

Enterprise

  • Intégration AWS Secrets Manager — récupérez les secrets à l’exécution depuis AWS Secrets Manager à l’aide de rôles IAM, de clés d’accès ou de rôles assumés. Prend en charge les secrets structurés en JSON avec extraction de champs et rotation automatique. (#2248)
  • Intégration Azure Key Vault — récupérez les secrets à l’exécution depuis Azure Key Vault via une identité managée ou l’authentification par principal de service. Prend en charge les secrets, les clés et les certificats avec rotation automatique. (#2248, #3170)

En savoir plus…

Charger les secrets depuis un stockage distant

Semaphore peut désormais importer automatiquement les secrets depuis HashiCorp Vault, AWS Secrets Manager, Azure Key Vault et Devolutions Server dans le magasin de clés, et les maintenir synchronisés.

Pointez un stockage de secrets vers HashiCorp Vault, AWS Secrets Manager, Azure Key Vault ou Devolutions Server, puis définissez un ou plusieurs chemins de synchronisation pour contrôler l’import :

  • Chemin — le dossier/sous-arbre du stockage distant à partir duquel importer.
  • Préfixe — une chaîne ajoutée au début de chaque nom de clé généré, pour pouvoir séparer les imports par espace de noms (par ex. prod-).
  • Séparateur — la manière dont les emplacements de secrets imbriqués sont aplatis en un seul nom de clé lisible (des valeurs par défaut adaptées à chaque fournisseur sont appliquées).

Semaphore détecte automatiquement le bon type de clé (clé SSH, identifiant/mot de passe ou chaîne secrète). Les imports s’exécutent à la demande via Synchroniser maintenant, ou selon une planification en arrière-plan que vous définissez en minutes. Chaque synchronisation réconcilie entièrement le miroir — ajout, mise à jour et suppression des clés pour correspondre à la source — tout en laissant intactes les clés que vous avez créées manuellement. Dans les déploiements en haute disponibilité, les synchronisations planifiées s’exécutent sur un seul nœud afin d’éviter les imports en double.

Les chemins de synchronisation fonctionnent aussi bien au niveau du magasin de clés (clés partagées du projet) qu’au niveau du groupe de variables (variables d’environnement).

Plusieurs groupes de variables par modèle

Semaphore prend désormais en charge l’attachement de plusieurs groupes de variables (environnements) à chaque modèle de tâche. Auparavant, un seul groupe de variables pouvait être attaché, ce qui obligeait les utilisateurs à dupliquer les variables entre les groupes lorsque plusieurs modèles partageaient des paramètres communs, ou à construire des groupes de variables monolithiques contenant tout. Les modèles peuvent désormais composer plusieurs groupes de variables, et cette version corrige de nombreux bugs dans la gestion des variables — sérialisation, priorité, propagation et cycle de vie des variables de sondage.

Ignorer l’installation de galaxy

Avant d’exécuter un playbook, Semaphore lance une étape ansible-galaxy install pour télécharger les rôles et collections déclarés dans votre requirements.yml. Dans de nombreuses configurations, cette étape est inutile : les dépendances sont déjà intégrées à l’image du runner, vendorisées dans le dépôt ou servies depuis un miroir interne. L’exécuter à chaque tâche ne fait qu’ajouter de la latence — et dans les environnements isolés sans accès à Internet, elle échoue purement et simplement.

Cette version ajoute une option Ignorer l’installation de galaxy dans les paramètres du modèle de tâche. Lorsqu’elle est activée, Semaphore contourne l’étape de préparation ansible-galaxy install et passe directement à l’exécution du playbook. Cela accélère le démarrage des tâches et supprime la dépendance forte à Ansible Galaxy et à l’accès Git au moment de l’exécution, ce qui est particulièrement utile pour les runners hors ligne et pré-provisionnés.