apiVersion: fluxcd.controlplane.io/v1
kind: FluxInstance
metadata:
name: flux
namespace: flux-system
spec:
distribution:
version: "2.7.0"
registry: "ghcr.io/fluxcd"
components:
- source-controller
- kustomize-controller
- helm-controller
- notification-controller
- image-reflector-controller
- image-automation-controller
- source-watcher
kustomize:
patches:
- patch: |
- op: replace
path: /spec/template/spec/containers/0/image
value: ghcr.io/fluxcd/source-controller:v1.8.0
target:
kind: Deployment
name: source-controller
- patch: |
- op: replace
path: /spec/template/spec/containers/0/image
value: ghcr.io/fluxcd/kustomize-controller:v1.8.0
target:
kind: Deployment
name: kustomize-controller
- patch: |
- op: replace
path: /spec/template/spec/containers/0/image
value: ghcr.io/fluxcd/helm-controller:v1.5.0
target:
kind: Deployment
name: helm-controller
- patch: |
- op: replace
path: /spec/template/spec/containers/0/image
value: ghcr.io/fluxcd/notification-controller:v1.8.0
target:
kind: Deployment
name: notification-controller
- patch: |
- op: replace
path: /spec/template/spec/containers/0/image
value: ghcr.io/fluxcd/image-reflector-controller:v1.1.0
target:
kind: Deployment
name: image-reflector-controller
- patch: |
- op: replace
path: /spec/template/spec/containers/0/image
value: ghcr.io/fluxcd/image-automation-controller:v1.1.0
target:
kind: Deployment
name: image-automation-controller
- patch: |
- op: replace
path: /spec/template/spec/containers/0/image
value: ghcr.io/fluxcd/source-watcher:v2.1.0
target:
kind: Deployment
name: source-watcher
- patch: |
- op: remove
path: /spec/versions/1
target:
kind: CustomResourceDefinition
name: gitrepositories.source.toolkit.fluxcd.io
- patch: |
- op: remove
path: /spec/versions/1
target:
kind: CustomResourceDefinition
name: ocirepositories.source.toolkit.fluxcd.io
- patch: |
- op: remove
path: /spec/versions/1
target:
kind: CustomResourceDefinition
name: buckets.source.toolkit.fluxcd.io
- patch: |
- op: remove
path: /spec/versions/1
target:
kind: CustomResourceDefinition
name: helmrepositories.source.toolkit.fluxcd.io
- patch: |
- op: remove
path: /spec/versions/1
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/x-kubernetes-validations
value:
- message: spec.verify is only supported when spec.sourceRef.kind is 'HelmRepository'
rule: '!has(self.verify) || self.sourceRef.kind == ''HelmRepository'''
target:
kind: CustomResourceDefinition
name: helmcharts.source.toolkit.fluxcd.io
- patch: |
- op: remove
path: /spec/versions/1
target:
kind: CustomResourceDefinition
name: kustomizations.kustomize.toolkit.fluxcd.io
- patch: |
- op: remove
path: /spec/versions/1
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/healthCheckExprs
value:
description: |-
HealthCheckExprs is a list of healthcheck expressions for evaluating the
health of custom resources using Common Expression Language (CEL).
The expressions are evaluated only when the specific Helm action
taking place has wait enabled, i.e. DisableWait is false, and the
'poller' WaitStrategy is used.
items:
description: CustomHealthCheck defines the health check for custom resources.
properties:
apiVersion:
description: APIVersion of the custom resource under evaluation.
type: string
current:
description: |-
Current is the CEL expression that determines if the status
of the custom resource has reached the desired state.
type: string
failed:
description: |-
Failed is the CEL expression that determines if the status
of the custom resource has failed to reach the desired state.
type: string
inProgress:
description: |-
InProgress is the CEL expression that determines if the status
of the custom resource has not yet reached the desired state.
type: string
kind:
description: Kind of the custom resource under evaluation.
type: string
required:
- apiVersion
- current
- kind
type: object
type: array
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/install/properties/serverSideApply
value:
description: |-
ServerSideApply enables server-side apply for resources during install.
Defaults to true (or false when UseHelm3Defaults feature gate is enabled).
type: boolean
- op: replace
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/rollback/properties/recreate/description
value: |-
Recreate performs pod restarts for any managed workloads.
Deprecated: This behavior was deprecated in Helm 3:
- Deprecation: https://github.com/helm/helm/pull/6463
- Removal: https://github.com/helm/helm/pull/31023
After helm-controller was upgraded to the Helm 4 SDK,
this field is no longer functional and will print a
warning if set to true. It will also be removed in a
future release.
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/rollback/properties/serverSideApply
value:
description: |-
ServerSideApply enables server-side apply for resources during rollback.
Can be "enabled", "disabled", or "auto".
When "auto", server-side apply usage will be based on the release's previous usage.
Defaults to "auto".
enum:
- enabled
- disabled
- auto
type: string
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/upgrade/properties/serverSideApply
value:
description: |-
ServerSideApply enables server-side apply for resources during upgrade.
Can be "enabled", "disabled", or "auto".
When "auto", server-side apply usage will be based on the release's previous usage.
Defaults to "auto".
enum:
- enabled
- disabled
- auto
type: string
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/waitStrategy
value:
description: |-
WaitStrategy defines Helm's wait strategy for waiting for applied
resources to become ready.
properties:
name:
description: |-
Name is Helm's wait strategy for waiting for applied resources to
become ready. One of 'poller' or 'legacy'. The 'poller' strategy uses
kstatus to poll resource statuses, while the 'legacy' strategy uses
Helm v3's waiting logic.
Defaults to 'poller', or to 'legacy' when UseHelm3Defaults feature
gate is enabled.
enum:
- poller
- legacy
type: string
required:
- name
type: object
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/status/properties/history/items/properties/action
value:
description: Action is the action that resulted in this snapshot being created.
type: string
- op: replace
path: /spec/versions/0/schema/openAPIV3Schema/properties/status/properties/history/items/properties/apiVersion/description
value: |-
APIVersion is the API version of the Snapshot.
When the calculation method of the Digest field is changed, this
field will be used to distinguish between the old and new methods.
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/status/properties/inventory
value:
description: |-
Inventory contains the list of Kubernetes resource object references
that have been applied for this release.
properties:
entries:
description: Entries of Kubernetes resource object references.
items:
description: ResourceRef contains the information necessary to locate a
resource within a cluster.
properties:
id:
description: |-
ID is the string representation of the Kubernetes resource object's metadata,
in the format '<namespace>_<name>_<group>_<kind>'.
type: string
v:
description: Version is the API version of the Kubernetes resource object's
kind.
type: string
required:
- id
- v
type: object
type: array
required:
- entries
type: object
target:
kind: CustomResourceDefinition
name: helmreleases.helm.toolkit.fluxcd.io
- patch: |
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/eventSources/items/properties/kind/enum/-
value: ArtifactGenerator
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/eventSources/items/properties/kind/enum/-
value: ExternalArtifact
- op: add
path: /spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/eventSources/items/properties/kind/enum/-
value: ArtifactGenerator
- op: add
path: /spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/eventSources/items/properties/kind/enum/-
value: ExternalArtifact
target:
kind: CustomResourceDefinition
name: alerts.notification.toolkit.fluxcd.io
- patch: |
- op: replace
path: /spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/type/enum
value:
- slack
- discord
- msteams
- rocket
- generic
- generic-hmac
- github
- gitlab
- gitea
- giteapullrequestcomment
- bitbucketserver
- bitbucket
- azuredevops
- googlechat
- googlepubsub
- webex
- sentry
- azureeventhub
- telegram
- lark
- matrix
- opsgenie
- alertmanager
- grafana
- githubdispatch
- githubpullrequestcomment
- gitlabmergerequestcomment
- pagerduty
- datadog
- nats
- zulip
- otel
target:
kind: CustomResourceDefinition
name: providers.notification.toolkit.fluxcd.io
- patch: |
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/resources/items/properties/kind/enum/-
value: ArtifactGenerator
- op: add
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/resources/items/properties/kind/enum/-
value: ExternalArtifact
- op: add
path: /spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/resources/items/properties/kind/enum/-
value: ArtifactGenerator
- op: add
path: /spec/versions/1/schema/openAPIV3Schema/properties/spec/properties/resources/items/properties/kind/enum/-
value: ExternalArtifact
target:
kind: CustomResourceDefinition
name: receivers.notification.toolkit.fluxcd.io
- patch: |
- op: replace
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/artifacts/items/properties/copy/items/properties/strategy
value:
description: |-
Strategy specifies the copy strategy to use.
'Overwrite' will overwrite existing files in the destination.
'Merge' is for merging YAML files using Helm values merge strategy.
'Extract' is for extracting the contents of tarball archives (.tar.gz, .tgz)
When using glob patterns, non-tarball files are silently skipped. For single file sources,
the file must be a tarball or an error is returned. Directories are not supported.
If not specified, defaults to 'Overwrite'.
enum:
- Overwrite
- Merge
- Extract
type: string
- op: replace
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/sources/items/properties/kind/enum
value:
- Bucket
- GitRepository
- OCIRepository
- HelmChart
- ExternalArtifact
target:
kind: CustomResourceDefinition
name: artifactgenerators.source.extensions.fluxcd.io