42 lines
1.5 KiB
YAML
42 lines
1.5 KiB
YAML
# Инфраструктура разделена на два слоя, и это не косметика.
|
||
#
|
||
# Flux делает dry-run всей Kustomization целиком перед применением. Если
|
||
# положить cert-manager (который СТАВИТ CRD) и ClusterIssuer/Certificate
|
||
# (которые ЭТИ CRD используют) в один слой, dry-run падает с
|
||
# no matches for kind "Certificate" in version "cert-manager.io/v1"
|
||
# и не применяется НИЧЕГО — включая сам cert-manager. Дедлок: CRD никогда не
|
||
# появятся, потому что слой не может пройти проверку.
|
||
#
|
||
# Поэтому: controllers ставят чарты (и CRD), configs применяются после них
|
||
# через dependsOn и содержат только пользовательские ресурсы.
|
||
---
|
||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||
kind: Kustomization
|
||
metadata:
|
||
name: infra-controllers
|
||
namespace: flux-system
|
||
spec:
|
||
interval: 10m0s
|
||
path: ./clusters/aero/controllers
|
||
prune: true
|
||
wait: true
|
||
timeout: 10m0s
|
||
sourceRef:
|
||
kind: GitRepository
|
||
name: flux-system
|
||
---
|
||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||
kind: Kustomization
|
||
metadata:
|
||
name: infra-configs
|
||
namespace: flux-system
|
||
spec:
|
||
interval: 10m0s
|
||
path: ./clusters/aero/configs
|
||
prune: true
|
||
dependsOn:
|
||
- name: infra-controllers
|
||
sourceRef:
|
||
kind: GitRepository
|
||
name: flux-system
|