RUNES

Des pipelines générés selon vos règles.

RUNES génère vos workflows d'intégration continue à partir d'un fichier de conventions et de vos règles de sécurité. Vous décrivez la règle une fois ; RUNES l'applique à chaque dépôt.

Où en est RUNES

RUNES n'est pas encore publié, et nous ne sommes pas en mesure d'en faire la démonstration aujourd'hui. La partie intégration continue sera libre et open source ; la partie déploiement continu s'appuie sur notre contrôleur d'infrastructure. Écrivez-nous pour être prévenu de la publication.

La convention non appliquée n'est pas une convention.

Les règles de sécurité écrites dans un document sont appliquées de façon inégale d'un dépôt à l'autre. Générer le pipeline plutôt que le documenter supprime l'écart entre la règle et son application.

Génération de pipelines RUNESUn dépôt et un jeu de règles (conventions et sécurité) produisent un workflow généré, poussé vers la forge. Un chemin de retour optionnel déclenche le déploiement continu sur votre infrastructure.Dépôtlangage, cible, contexteConventionsécrites une seule foisRUNESgénère le workflow pourchaque plateformeRègles de sécuritéappliquées par défautWorkflow généréintégration continueGitHub · GitLab ·Forgejo · GiteaoptionnelInfrastructuredéploiement continu

Ce que fait RUNES

5 capacités

  1. Toutes les forges principales

    GitHub, GitLab, Forgejo et Gitea. Forgejo et Gitea ne sont pas une note de bas de page : ce sont les forges que font tourner les organisations qui tiennent à héberger leur code elles-mêmes, et c'est sur l'une d'elles que nous hébergeons le nôtre.

  2. Une règle, un fichier YAML

    Les conventions communes (nomenclature, artefacts attendus) vivent dans un dépôt global. Chaque dépôt ne porte que ses valeurs propres : les artefacts que produit son intégration continue, et les cibles de déploiement à créer, machine virtuelle, conteneur LXC ou conteneur applicatif.

  3. Règles de sécurité par défaut

    Versions d'actions épinglées, génération de SBOM, recherche de secrets, analyse des images de conteneurs, signature des artefacts. Ce sont les réglages par défaut du pipeline généré, pas une option laissée à la discipline de chaque dépôt.

  4. Quarante dépôts ne basculent pas en une fois

    Vous migrez dépôt par dépôt, à votre rythme, et un mode dry-run montre ce qui serait écrit avant que quoi que ce soit ne le soit. Les workflows écrits à la main restent en place tant qu'ils n'ont pas été repris.

  5. Quand la convention change

    Une modification du dépôt global se propage aux dépôts qui en héritent ; ce qui est propre à un dépôt s'y modifie. La régénération passe par une pull request : ce sont vos mainteneurs qui la relisent et qui décident, selon votre propre processus.

La règle, en un fichier

Les conventions communes vivent dans un dépôt global. Chaque dépôt ne porte que ce qui lui est propre : les artefacts que son intégration continue produit, et les cibles que son déploiement doit créer.

# runes.yaml
extends: pagma/conventions@v1

ci:
  artifacts:
    - name: api
      type: container
      registry: registry.example.fr/api

cd:
  targets:
    - kind: vm
      host: proxmox-prod
    - kind: lxc
      host: proxmox-prod
    - kind: container
      runtime: podman

Exemple illustratif. Le format n'est pas encore stabilisé ; cette page sera mise à jour avec le format publié.

Avec votre infrastructure

Relié à l'infrastructure que nous exploitons, RUNES ne s'arrête pas à l'intégration continue : les pipelines générés demandent au contrôleur de créer les machines et les conteneurs cibles.

Parlons de vos pipelines.

Quelles forges utilisez-vous, et quelles règles voulez-vous appliquer à tous vos dépôts ? Écrivez-nous : nous vous prévenons à la publication, et votre cas orientera ce que nous construisons.

Détail technique

Format des règles
YAML. Un dépôt global pour les conventions communes, un fichier par dépôt pour ses valeurs propres.
Forges
GitHub, GitLab, Forgejo, Gitea et les autres forges git.
Génération
Pipelines multi-plateforme à partir d'un jeu de conventions unique.
Réglages par défaut
Actions épinglées, SBOM, recherche de secrets, analyse des images de conteneurs, artefacts signés.
Exécution
Extension VS Code et interface en ligne de commande. Le déploiement continu est exécuté par le runner RUNES.
Licence
Intégration continue libre et open source ; déploiement continu inclus dans la prestation d'infrastructure.

Modalités tarifaires

RUNES CI
Libre et open source.
RUNES CD
Inclus dans la prestation d'infrastructure.
Dépôts
Sans limite.