Files

39 lines
1.4 KiB
YAML

# cert-manager, installed like MetalLB and Longhorn: an Application pointing
# at apps/cert-manager, a Helm chart that pulls in the upstream cert-manager
# chart plus this cluster's ClusterIssuers. Once this syncs, an Ingress
# anywhere in this repo can request a real, auto-renewing HTTPS certificate
# just by adding one annotation. See docs/12-cert-manager.md.
#
# Deliberately NO resources-finalizer.argocd.argoproj.io here, same
# reasoning as apps/longhorn.yaml. cert-manager's CRDs (Certificate,
# ClusterIssuer, Order, Challenge) are cluster-wide — deleting them cascades
# through Kubernetes' own garbage collector to delete every Certificate
# custom resource in the cluster, and each Certificate owns its resulting
# TLS Secret by default. Cascading this Application's deletion could
# silently delete every HTTPS certificate this cluster has, cluster-wide,
# not just cert-manager's own Pods. Removing this file from Git should be a
# rare, deliberate act, confirmed by hand.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cert-manager
namespace: argocd
spec:
project: default
source:
repoURL: https://tea.ahmza.com/ahmza.com/k8s-starter-pack.git
targetRevision: main
path: apps/cert-manager
destination:
server: https://kubernetes.default.svc
namespace: cert-manager
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true