homelab_gitops/notes/cert-manager-webhook.md

2 KiB

Schritt: cert-manager-webhook-hetzner (vadimkim) und ClusterIssuer

1. HelmRepository für Webhook anlegen

cat <<EOF > infrastructure/cert-manager-webhook-hetzner/helmrepository.yaml
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
  name: vadimkim-cert-manager-webhook-hetzner
  namespace: flux-system
spec:
  interval: 30m
  url: https://vadimkim.github.io/cert-manager-webhook-hetzner
EOF

2. HelmRelease für Webhook anlegen

cat <<EOF > infrastructure/cert-manager-webhook-hetzner/helmrelease.yaml
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
  name: cert-manager-webhook-hetzner
  namespace: cert-manager
spec:
  interval: 15m
  chart:
    spec:
      chart: cert-manager-webhook-hetzner
      version: 2.9.0
      sourceRef:
        kind: HelmRepository
        name: vadimkim-cert-manager-webhook-hetzner
        namespace: flux-system
  values:
    groupName: patanix.de
EOF

3. ClusterIssuer anlegen

cat <<EOF > infrastructure/cert-manager/letsencrypt-clusterissuer.yaml
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-dns
spec:
  acme:
    email: patryk-hegenberg@outlook.de
    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: letsencrypt-dns-key
    solvers:
      - dns01:
          webhook:
            groupName: patanix.de
            solverName: hetzner
            config:
              apiTokenSecretRef:
                name: hetzner-dns-api-token
                key: token
EOF

4. Dateien ins Git-Repo legen und pushen

git add infrastructure/cert-manager-webhook-hetzner/*
git add infrastructure/cert-manager/letsencrypt-clusterissuer.yaml
git commit -m "Add vadimkim cert-manager-webhook-hetzner and ClusterIssuer for patanix.de"
git push origin main

5. Flux synchronisieren und prüfen

flux reconcile source git flux-system
flux get helmreleases -A
kubectl get pods -n cert-manager
kubectl get clusterissuer