Draft: undercloud: vault: add PKI and gitlab-ci secrets engines
Cette MR ajoute :
- une méthode d'authentification et un KV secrets engine
gitlab
, destinés à être utilisés avec la fonctionnalité external secrets de GitLab. - 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.