feat(cert-manager): add ConfigMap for runtime values and update HelmRelease to use it

这个提交包含在:
rohow
2026-04-21 21:21:17 +08:00
未验证
父节点 28520f0cae
当前提交 b98b968090
修改 6 个文件,包含 25 行新增30 行删除
+2
查看文件
@@ -19,6 +19,7 @@ flux/
│ ├── sources/ # 所有 HelmRepository 定义 │ ├── sources/ # 所有 HelmRepository 定义
│ ├── kube-system/ # CoreDNS 自定义 + NodeLocalDNS │ ├── kube-system/ # CoreDNS 自定义 + NodeLocalDNS
│ ├── infra-devops/ # cert-manager, webhook-dnspod, reflector, velero │ ├── infra-devops/ # cert-manager, webhook-dnspod, reflector, velero
│ │ └── post/ # ClusterIssuer + cert-manager ServiceMonitor values
│ ├── infra-data/ # CNPG operator, Barman, Valkey │ ├── infra-data/ # CNPG operator, Barman, Valkey
│ │ ├── post-1/ # PG Cluster / ObjectStore / databases / LB │ │ ├── post-1/ # PG Cluster / ObjectStore / databases / LB
│ │ └── post-2/ # Reflector secret annotations │ │ └── post-2/ # Reflector secret annotations
@@ -91,5 +92,6 @@ Kustomization 间通过 `dependsOn` + `wait: true` 串行等待,避免顺序
## 为何拆出 \*-post 层? ## 为何拆出 \*-post 层?
- **`infra-devops-post`**cert-manager 首次安装时不能依赖 `ServiceMonitor` CRD;post 层只在监控栈就绪后下发 `ClusterIssuer` 与可选 values ConfigMap,避免多个 Kustomization 共同管理同一个 HelmRelease。
- **`infra-monitor-post` (Promtail)**Promtail 依赖至少一个带 `devcm-log-collecting/enabled` 标签的 Podingress-nginx);而 `infra-net` 又依赖 `infra-monitor` 的 CRD。Promtail 放到 post 层并 `dependsOn: infra-net`,打破循环。 - **`infra-monitor-post` (Promtail)**Promtail 依赖至少一个带 `devcm-log-collecting/enabled` 标签的 Podingress-nginx);而 `infra-net` 又依赖 `infra-monitor` 的 CRD。Promtail 放到 post 层并 `dependsOn: infra-net`,打破循环。
- **`infra-gitops-post` (Gitea Actions + Flux Web)**:凭据必须在 Gitea 启动后手工创建;放在 post 层并默认 suspend,避免阻塞 bootstrap。 - **`infra-gitops-post` (Gitea Actions + Flux Web)**:凭据必须在 Gitea 启动后手工创建;放在 post 层并默认 suspend,避免阻塞 bootstrap。
+1 -1
查看文件
@@ -5,7 +5,7 @@ metadata:
namespace: infra-gitops namespace: infra-gitops
spec: spec:
distribution: distribution:
version: "2.x" version: "2.8.5"
registry: "ghcr.io/fluxcd" registry: "ghcr.io/fluxcd"
artifact: "oci://ghcr.io/controlplaneio-fluxcd/flux-operator-manifests" artifact: "oci://ghcr.io/controlplaneio-fluxcd/flux-operator-manifests"
components: components:
@@ -6,6 +6,11 @@ metadata:
spec: spec:
interval: 30m interval: 30m
timeout: 15m timeout: 15m
valuesFrom:
- kind: ConfigMap
name: cert-manager-runtime-values
valuesKey: values.yaml
optional: true
chart: chart:
spec: spec:
chart: cert-manager chart: cert-manager
@@ -19,8 +24,8 @@ spec:
crds: CreateReplace crds: CreateReplace
upgrade: upgrade:
crds: CreateReplace crds: CreateReplace
# 首次install时servicemonitor=false(CRD尚不存在) # 首次 install 时 ServiceMonitor CRD 尚不存在,保持 chart 默认值 false。
# infra-monitor层部署后通过SSA patch开启 # infra-devops-post 在 CRD 就绪后通过可选 valuesFrom 开启 ServiceMonitor。
values: values:
crds: crds:
enabled: true enabled: true
@@ -28,5 +33,3 @@ spec:
enableCertificateOwnerRef: true enableCertificateOwnerRef: true
prometheus: prometheus:
enabled: true enabled: true
servicemonitor:
enabled: false
@@ -0,0 +1,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cert-manager-runtime-values
namespace: infra-devops
labels:
reconcile.fluxcd.io/watch: Enabled
data:
values.yaml: |
prometheus:
servicemonitor:
enabled: true
interval: 300s
prometheusInstance: kube-prometheus
@@ -1,24 +0,0 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cert-manager
namespace: infra-devops
annotations:
kustomize.toolkit.fluxcd.io/prune: disabled
spec:
interval: 30m
chart:
spec:
chart: cert-manager
version: v1.19.3
sourceRef:
kind: HelmRepository
name: jetstack
namespace: infra-gitops
interval: 12h
values:
prometheus:
servicemonitor:
enabled: true
interval: 300s
prometheusInstance: kube-prometheus
@@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- clusterissuer-dnspod.yaml - clusterissuer-dnspod.yaml
- helmrelease-cert-manager-patch.yaml - configmap-cert-manager-runtime-values.yaml