Skip to Content
DocsComment ça marche ?Ce qui passe par Cadence.CI

Ce qui passe par Cadence.CI

Cadence.CI coordonne les machines d’un run et conserve ses enregistrements. Le travail lui-même, les données qu’échangent vos étapes et vos secrets restent de votre côté : sur la machine où vous lancez le pipeline et sur les instances de votre compte cloud.

Votre côté

Moteur que vous lancez

Sur votre poste ou dans un job CI.

Travail et données entre étapes, en direct

Machines dans votre compte cloud

Une par étape, démarrée et arrêtée par Cadence.CI.

Demande des machines ; rapporte statut, logs, événements de debug et programme
Rapportent statut, logs et événements de debug
Les démarre et les arrête via l'API de votre fournisseur

Cadence.CI

Coordonne les machines et conserve les enregistrements des runs. Les secrets n'y apparaissent que par leur nom et leur type, jamais par leur valeur.

Ce que reçoit Cadence.CI

DonnéeEnvoyée quandVisible par
Statut du run : demandé, démarré, terminé, résultatChaque run rapportéMembres de l’organisation
Point d’entrée et valeurs des paramètres. Un paramètre Secret n’apparaît que par son nom et son type, jamais par sa valeurChaque run rapportéMembres de l’organisation
Logs, où toute valeur secrète est masquéeChaque run rapporté, par blocs pendant l’exécutionMembres de l’organisation
Événements de debug, qui ne contiennent jamais de valeur secrète, quel que soit le niveauChaque run rapporté, au niveau basic sauf réglage différent avec --debug-levelMembres de l’organisation
Programme : le pipeline Mélodium exécuté, pas le code de votre applicationChaque run rapportéMembres de l’organisation
Ressources demandées : CPU, mémoire, stockage, architecture, noms des images de conteneursChaque run rapportéMembres de l’organisation
Instances démarrées : fournisseur, type, zone, adresses IPRuns sur un compte cloud connectéMembres de l’organisation
Identifiants du compte cloudQuand vous connectez un compte cloudUtilisés par Cadence.CI pour démarrer et arrêter des instances, jamais réaffichés

Avec le plan open source, les runs, leurs logs et leur programme sont publics ; les événements de debug restent visibles des seuls membres.

La rétention suit votre plan : 7 jours en Access, 120 jours en Basic et avec le plan open source, un an en Pro, sur mesure en Enterprise.

Secrets

Les identifiants sont des valeurs de type Secret. Vous les donnez sous forme de localisateurs, jamais de valeurs :

  • env:MELODIUM_SECRET_<NOM> lit une variable d’environnement dont le nom commence par MELODIUM_SECRET_ ;
  • file:<chemin> lit un fichier.

Le moteur qui a besoin d’un secret le résout sur sa propre machine. Cadence.CI sait seulement qu’un secret existe, par son nom et son type : dans les paramètres, le programme et les événements de debug. Les logs masquent toute valeur secrète qu’une étape afficherait. La seule exception est une valeur que votre propre programme retransforme en donnée simple avec reveal ; les secrets lus depuis des variables d’environnement et des fichiers ne peuvent jamais être révélés ainsi.

Événements de debug filtrés sur secret : les clés de distribution révélées à distrib::start, par leur nom seulement

L’audit des secrets dans les événements de debug, ci-dessus, note quel élément a utilisé quel secret, et rien de plus : ici, les deux clés qui sécurisent la connexion à la machine de chaque étape.

Ce qui reste de votre côté

  • Les données entre étapes. Les fichiers et valeurs envoyés d’une étape à l’autre circulent directement entre les moteurs. Cadence.CI donne au moteur l’adresse d’un runner ; il ne relaie pas le trafic.
  • Les valeurs secrètes. Résolues là où elles servent, jamais envoyées à Cadence.CI.
  • Votre compte cloud. Instances, images et réseau restent dans votre compte. Cadence.CI agit via l’API de votre fournisseur, avec les permissions que vous accordez en connectant le compte.

Pour aller plus loin