Lockdown: Flags am Controller
--no-cross-namespace-refs=true (kustomize, helm,
notification, image-*, source-watcher) verbietet Sources aus
fremden Namespaces, --no-remote-bases=true
(kustomize) Kustomize-Remote-Bases. Mit
--default-service-account=default (kustomize, helm,
ab 2.10 source-watcher, dort nur für Artefakte in fremden
Namespaces) laufen Objekte ohne
serviceAccountName mit dem rechtelosen
Default-Account des Tenant-Namespaces. Die
flux-system-Kustomization braucht dann
serviceAccountName: kustomize-controller.
Object Identity: dasselbe Flag auf source-, notification- und
image-*-controller, dazu
--default-kubeconfig-service-account (kustomize, helm)
und --default-decryption-service-account
(kustomize).
# clusters/prod/flux-system/kustomization.yaml
patches:
- patch: |
- op: add
path: /spec/template/spec/containers/0/args/-
value: --no-cross-namespace-refs=true
target:
kind: Deployment
name: "(kustomize|helm|notification|image-.*)-controller"
- patch: |
- op: add
path: /spec/template/spec/containers/0/args/-
value: --no-cross-namespace-refs=true
target: {kind: Deployment, name: source-watcher}
- patch: |
- op: add
path: /spec/template/spec/containers/0/args/-
value: --no-remote-bases=true
target: {kind: Deployment, name: kustomize-controller}
- patch: |
- op: add
path: /spec/template/spec/containers/0/args/-
value: --default-service-account=default
target: # source-watcher erst ab 2.10
kind: Deployment
name: "(kustomize|helm)-controller|source-watcher"
- patch: |
- op: add
path: /spec/serviceAccountName
value: kustomize-controller
target: {kind: Kustomization, name: flux-system}