1# Default values for flux-operator.
5# -- Enable [multitenancy lockdown](https://fluxoperator.dev/docs/crd/resourceset/#role-based-access-control) for the ResourceSet APIs.
8 enabledForWorkloadIdentity: false
9 defaultServiceAccount: "flux-operator" # @schema required: true
10 defaultWorkloadIdentityServiceAccount: "flux-operator" # @schema required: true
11# -- Flux [reporting](https://fluxoperator.dev/docs/crd/fluxreport/) settings.
13 interval: 5m # @schema required: true
15 # -- Enable the [Flux Status web server](https://fluxoperator.dev/web-ui/) on port 9080.
17 # -- The spec of the [Web Config API](https://fluxoperator.dev/docs/web-ui/web-config-api/)
18 config: {} # @schema type: object
19 # -- Reference to an existing Secret in the same namespace as the deployment containing the Web Config API. Should have the key `config.yaml`.
20 configSecretName: "" # @schema default: ""
21 # -- SPIFFE IDs or prefixes of authorized web UI clients. When set, the web server on port 9080 accepts only SPIFFE mTLS connections from these clients, so the Ingress or Gateway in front of it must present an SVID (e.g. Envoy Gateway with a BackendTLSPolicy). Requires `spiffe.workloadAPI.endpoint`.
22 authorizedClientSPIFFEIDs: [] # @schema item: string ; uniqueItems: true
23 # -- GitOps actions configuration for the web UI.
25 # -- Access mode for GitOps actions. When set to `FineGrained`, actions are performed using the web server's own privileges instead of impersonating the user, and the web ClusterRole is extended with the native Kubernetes permissions required by the actions (only effective in `web.serverOnly` mode; otherwise the operator already runs as cluster-admin). Either `Impersonated` (default) or `FineGrained`.
26 access: Impersonated # @schema enum:["Impersonated", "FineGrained"]; default: "Impersonated"
27 # -- Create a NetworkPolicy to allow access to the Flux Status web interface.
30 # -- Create standard roles for [user access management](https://fluxoperator.dev/docs/web-ui/user-management/).
32 createRoles: true # @schema default: true
33 createAggregation: false # @schema default: false
34 # -- Run the Flux Status web server as a standalone deployment (requires a dedicated Helm release).
36 # -- Number of replicas for the Flux Status web server standalone deployment (only applicable if `web.serverOnly` is `true`).
37 serverReplicas: 1 # @schema default: 1
38 # -- Ingress settings for the Flux Status web interface.
39 ingress: # @schema default: {"enabled":false,"className":"","annotations":{}}
40 enabled: false # @schema default: false
42 annotations: {} # @schema type: object
43 hosts: [] # @schema item: object ; uniqueItems: true
44 # - host: flux-operator.example.com
47 # pathType: ImplementationSpecific
48 tls: [] # @schema item: object ; uniqueItems: true
49 # - secretName: flux-operator-tls
51 # - flux-operator.example.com
52 # -- Gateway API HTTPRoute settings for the Flux Status web interface.
53 httpRoute: # @schema default: {"enabled":false,"annotations":{},"parentRefs":[],"hostnames":[]}
54 enabled: false # @schema default: false
55 annotations: {} # @schema type: object
56 parentRefs: [] # @schema item: object ; uniqueItems: true
58 # namespace: gateway-system
60 hostnames: [] # @schema item: string ; uniqueItems: true
62# -- Install and upgrade the custom resource definitions.
63installCRDs: true # @schema default: true
64# -- Common annotations to add to all deployed objects including pods.
66# -- Common labels to add to all deployed objects including pods.
68# -- Container image settings.
69# The image tag defaults to the chart appVersion.
71 repository: cgr.dev/chainguard-private/flux-operator
72 tag: v0.62.1-r0@sha256:5cf82b424a4a9bff74a78f8909b2a85c4f91718ebc4291696ac48161242b810d
73 pullSecrets: [] # @schema item: object ; uniqueItems: true
74 imagePullPolicy: IfNotPresent # @schema enum:[IfNotPresent, Always, Never]
75# -- Pod priority class name.
76# Recommended value is system-cluster-critical.
77priorityClassName: "" # @schema default: "system-cluster-critical"
78# -- Kubernetes [API priority and fairness](https://kubernetes.io/docs/concepts/cluster-administration/flow-control/) settings.
79apiPriority: # @schema default: {"enabled":false,"level":"workload-high","extraServiceAccounts":[]}
82 extraServiceAccounts: []
83# - name: kustomize-controller
84# namespace: flux-system
85# - name: helm-controller
86# namespace: flux-system
88# -- Container resources requests and limits settings.
89resources: # @schema required: true
93 requests: # @schema default: {"cpu":"100m","memory":"64Mi"}
96# -- Container liveness probe settings.
97livenessProbe: # @schema default: {"httpGet":{"path":"/healthz","port":8081},"initialDelaySeconds":15,"periodSeconds":20}
101 initialDelaySeconds: 15
103# -- Container readiness probe settings.
104readinessProbe: # @schema default: {"httpGet":{"path":"/readyz","port":8081},"initialDelaySeconds":5,"periodSeconds":10}
108 initialDelaySeconds: 5
110# -- Pod service account settings.
111# The name of the service account defaults to the release name.
112serviceAccount: # @schema default: {"create":true,"automount":true,"name":""}
117 # -- Grant the cluster-admin role to the flux-operator service account (required for the Flux Instance deployment).
119 # -- Grant the Kubernetes view, edit and admin roles access to ResourceSet APIs.
120 createAggregation: true
121# -- Pod security context settings.
122podSecurityContext: {} # @schema default: {"fsGroup":1337}
123# -- Container security context settings.
124# The default is compliant with the pod security restricted profile.
125securityContext: # @schema required: true
126 runAsNonRoot: true # @schema default: true
127 readOnlyRootFilesystem: true # @schema default: true
128 allowPrivilegeEscalation: false # @schema default: false
129 capabilities: # @schema default: {"drop":["ALL"]}
130 drop: # @schema item: string ; uniqueItems: true
132 seccompProfile: # @schema default: {"type":"RuntimeDefault"}
133 type: "RuntimeDefault"
134# -- Pod affinity and anti-affinity settings.
135affinity: # @schema default: {"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}]}}}
137 requiredDuringSchedulingIgnoredDuringExecution:
140 - key: kubernetes.io/os
144# -- Pod tolerations settings.
145tolerations: [] # @schema item: object ; uniqueItems: true
146# -- Pod Node Selector settings.
147nodeSelector: {} # @schema type: object
148# -- Deployment update strategy. Set `{"type":"Recreate"}` for single-replica installs whose web UI is fronted by a load balancer health check, where a rolling update would otherwise deadlock.
149strategy: {} # @schema type: object
150# -- If `true`, the container ports (`8080` and `8081`) are exposed on the host network.
151hostNetwork: false # @schema default: false
152# -- Pod extra volumes.
153extraVolumes: [] # @schema item: object ; uniqueItems: true
154# -- Container extra environment variables.
155extraEnvs: [] # @schema item: object ; uniqueItems: true
156# -- Container extra arguments.
157extraArgs: [] # @schema item: string ; uniqueItems: true
158# -- Container extra volume mounts.
159extraVolumeMounts: [] # @schema item: object ; uniqueItems: true
160# -- Container logging level flag.
161logLevel: "info" # @schema enum:[debug,info,error]
162# -- Prometheus Operator scraping settings.
163serviceMonitor: # @schema default: {"create":false,"interval":"60s","scrapeTimeout":"30s"}
169 # -- Sets the IP family policy on all Service resources. Uses Kubernetes defaults if unset
170 ipFamilyPolicy: '' # @schema type: string; enum:['', SingleStack, PreferDualStack, RequireDualStack]
171# -- SPIFFE settings for the flux-operator pod.
174 # -- The SPIFFE Workload API endpoint. Sets the `SPIFFE_ENDPOINT_SOCKET` environment variable.
176 # -- The SPIFFE CSI driver name used to mount the Workload API socket at `/spiffe-workload-api`. When set, the endpoint must be a socket under that path, e.g. `unix:///spiffe-workload-api/spire-agent.sock`.
179 # -- The SPIFFE Broker API endpoint. Sets the `--spiffe-broker-endpoint` flag. Requires `spiffe.workloadAPI.endpoint` and `spiffe.brokerAPI.ids`.
181 # -- SPIFFE IDs or prefixes of the Broker API endpoint. Sets the repeatable `--spiffe-broker-id` flag.
182 ids: [] # @schema item: string ; uniqueItems: true
183# -- Marketplace settings.