Skip to content

Draft: undercloud: vault: add PKI and gitlab-ci secrets engines

Marin Hannache requested to merge add-pki into main

Cette MR ajoute :

  1. une méthode d'authentification et un KV secrets engine gitlab, destinés à être utilisés avec la fonctionnalité external secrets de GitLab.
  2. un PKI secrets engine et les certificats nécessaires à l'opération d'une PKI par la forge

La PKI est organisée selon la hiérarchie décrite ci-après :

flowchart TD
    classDef dot fill:white
    classDef leaf fill:purple
    classDef example fill:darkgreen
    classDef rootca fill:darkred
    classDef ca fill:darkblue

    dot[ ]:::dot -->|only .epita.fr, .epita.net| root-x1
    root-x1[CN: Forge Root X1]:::rootca

    root-x1 --> root-x1
    root-x1 -->|no DNS names allowed| users-r1:::ca
    root-x1 -->|only .sm.cri.epita.fr, .sm.forge.epita.fr| hosts-r1:::ca
    root-x1 -->|no DNS names allowed| secureboot-r1:::ca
    root-x1 -->|only .epita.fr, .epita.net| services-r1:::ca


    users-r1[CN: Forge Users Authority R1]
    hosts-r1[CN: Forge Hosts Authority R1]
    secureboot-r1[CN: Forge SecureBoot Authority R1]
    services-r1[CN: Forge Services Authority R1]
  
    secureboot-r1 --> secureboot-misc:::leaf
    secureboot-r1 --> secureboot-regular:::leaf
    secureboot-r1 --> secureboot-exam:::leaf

    secureboot-misc[CN: Forge SecureBoot Misc]
    secureboot-regular[CN: Forge SecureBoot Regular]
    secureboot-exam[CN: Forge SecureBoot Exam]

    hosts-r1 ---> host-example1[CN: r01p01.cisco.kb.sm.cri.epita.fr \n IP4: 10.202.7.35 ]:::example
    hosts-r1 --->host-example2[...]:::example
    services-r1 ---> services-example1[DNS: postgresql.example.forge.epita.fr]:::example
    services-r1 ---> services-example2[...]:::example
    users-r1 ---> users-example1[CN: marin.hannache \n EMAIL: marin.hannache@epita.fr]:::example
    users-r1 ---> users-example2[...]:::example

Légende :

  • en rouge, le certificat racine, auto-signé et présent dans le store des machines (expiration dans 20 ans)
  • en bleu, les certificats intermédiaires, signés par la racine (expiration dans 5 ans)
  • en violet, les certificats utilisés pour signer les images nixpie distribuées par le CRI (expiration dans 5 ans)
  • en vert des exemples de certificats qui pourraient être générés plus tard (contrairement aux autres, aucun ne l'est par cette MR)

Des contraintes sont mises sur les CA, de sorte à ce qu'ils ne puissent pas être utilisés pour signer des noms de domaines qui ne sont pas contrôlés par l'école.

Edited by Marin Hannache

Merge request reports