# TP16 partie 1 : autorité de certification (CA) de lab gérée par cert-manager.
# Étape 1 : un émetteur autosigné, qui ne sert qu'à créer la CA.
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: selfsigned
spec:
  selfSigned: {}
---
# Étape 2 : le certificat de la CA de lab (isCA: true), stocké dans le Secret lab-ca.
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: lab-ca
  namespace: cert-manager
spec:
  isCA: true
  commonName: "Lab DevSecOps CA"
  secretName: lab-ca
  duration: 8760h # 1 an
  privateKey:
    algorithm: ECDSA
    size: 256
  issuerRef:
    name: selfsigned
    kind: ClusterIssuer
---
# Étape 3 : l'émetteur qui signe les certificats des applications avec la CA de lab.
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: lab-ca-issuer
spec:
  # TODO : émetteur de type ca qui utilise le Secret lab-ca (ca.secretName)
  ca:
    secretName: TODO
