Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and Cust
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./apis/fluentd/..." output:crd:artifacts:config=config/crd/bases
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./apis/fluentbit/..." output:crd:artifacts:config=charts/fluent-operator/crds
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./apis/fluentd/..." output:crd:artifacts:config=charts/fluent-operator/crds
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./apis/fluentbit/..." output:crd:artifacts:config=charts/fluent-operator-crds/templates/fluent-bit
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./apis/fluentd/..." output:crd:artifacts:config=charts/fluent-operator-crds/templates/fluentd
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./apis/fluentbit/..." output:crd:artifacts:config=charts/fluent-operator-crds-fluent-bit/templates
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./apis/fluentd/..." output:crd:artifacts:config=charts/fluent-operator-crds-fluentd/templates
kubectl kustomize config/crd/bases/ | sed -e '/creationTimestamp/d' > manifests/setup/fluent-operator-crd.yaml
kubectl kustomize manifests/setup/ | sed -e '/creationTimestamp/d' > manifests/setup/setup.yaml
hack/mutate-crds.sh
Expand Down
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,17 +174,20 @@ kubectl apply --server-side --force-conflicts -f fluent-operator/crds/
helm upgrade fluent-operator fluent/fluent-operator -n fluent
```

**Advanced installation** — full Helm lifecycle management of CRDs via the separate `fluent-operator-crds` chart:
**Advanced installation** — full Helm lifecycle management of CRDs via the separate `fluent-operator-crds-fluent-bit` and `fluent-operator-crds-fluentd` charts:

```shell
# Step 1: install CRDs as a separately managed release
helm install fluent-operator-crds fluent/fluent-operator-crds -n fluent --create-namespace
# Step 1: install Fluent Bit CRDs as a separately managed release
helm install fluent-operator-crds-fluent-bit fluent/fluent-operator-crds-fluent-bit -n fluent --create-namespace

# Step 2: install the operator, skipping CRDs (already installed above)
# Step 2: install Fluentd CRDs as a separately managed release (optional)
helm install fluent-operator-crds-fluentd fluent/fluent-operator-crds-fluentd -n fluent

# Step 3: install the operator, skipping CRDs (already installed above)
helm install fluent-operator fluent/fluent-operator -n fluent --skip-crds
```

With this approach, CRDs are upgraded with `helm upgrade fluent-operator-crds` and can be protected from deletion with `--set additionalAnnotations."helm\.sh/resource-policy"=keep`.
With this approach, CRDs are upgraded with `helm upgrade fluent-operator-crds-fluent-bit` / `helm upgrade fluent-operator-crds-fluentd` and can be protected from deletion with `--set additionalAnnotations."helm\.sh/resource-policy"=keep`.

See the [MIGRATION-v4.md](charts/fluent-operator/MIGRATION-v4.md) guide for more information on upgrading from v3.x.

Expand Down
27 changes: 27 additions & 0 deletions charts/fluent-operator-crds-fluent-bit/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Fluent Operator CRDs (Fluent Bit) Helm Chart Changelog

> [!NOTE]
> All notable changes to this project will be documented in this file; the format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

<!--
### Added - For new features.
### Changed - For changes in existing functionality.
### Deprecated - For soon-to-be removed features.
### Removed - For now removed features.
### Fixed - For any bug fixes.
### Security - In case of vulnerabilities.
-->

## [UNRELEASED]

## [v4.0.0] - 2026-04-19

### Changed

- Initial release of v4 chart

<!--
RELEASE LINKS
-->
[UNRELEASED]: https://github.com/fluent/helm-charts/tree/main/charts/fluent-operator-crds-fluent-bit
[v4.0.0]: https://github.com/fluent/helm-charts/releases/tag/fluent-operator-crds-fluent-bit-4.0.0
24 changes: 24 additions & 0 deletions charts/fluent-operator-crds-fluent-bit/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: v2
name: fluent-operator-crds-fluent-bit
description: Custom Resource Definitions (CRDs) for Fluent Bit. Provides full Helm lifecycle management for all Fluent Bit CRDs used by Fluent Operator.
type: application
version: 0.0.0-dev.0 # This is a development chart which gets released and versioned in the fluent/helm-charts repo
# renovate: datasource=docker depName=ghcr.io/fluent/fluent-operator/fluent-operator
appVersion: 3.7.0
keywords:
- logging
- fluent-bit
- fluent-operator
- crds
home: https://github.com/fluent/fluent-operator
icon: https://raw.githubusercontent.com/fluent/fluent-operator/master/docs/images/fluent-operator-icon.svg
sources:
- https://github.com/fluent/fluent-operator/tree/master/charts/fluent-operator-crds-fluent-bit
maintainers:
- name: wenchajun
email: dehaocheng@kubesphere.io
- name: marcofranssen
email: marco.franssen@gmail.com
url: https://marcofranssen.nl
- name: joshuabaird
email: joshbaird@gmail.com
30 changes: 30 additions & 0 deletions charts/fluent-operator-crds-fluent-bit/_docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## Installation

### Install Fluent Bit CRDs

```bash
helm install fluent-operator-crds-fluent-bit fluent/fluent-operator-crds-fluent-bit
```

## Protecting CRDs from Deletion

To prevent CRDs from being deleted on `helm uninstall`:

```bash
helm install fluent-operator-crds-fluent-bit fluent/fluent-operator-crds-fluent-bit \
--set additionalAnnotations."helm\.sh/resource-policy"=keep
```

With this annotation, Helm will preserve the CRDs even if the chart is uninstalled.

## Using with fluent-operator

After installing the CRDs with this chart, install the operator with `--skip-crds`:

```bash
# Step 1: Install Fluent Bit CRDs
helm install fluent-operator-crds-fluent-bit fluent/fluent-operator-crds-fluent-bit

# Step 2: Install operator (skip CRDs since already installed)
helm install fluent-operator fluent/fluent-operator --skip-crds
```
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: clusterfilters.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -976,4 +975,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: clusterfluentbitconfigs.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -451,4 +450,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: clusterinputs.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -1017,4 +1016,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: clustermultilineparsers.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -87,4 +86,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: clusteroutputs.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -4408,4 +4407,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: clusterparsers.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -129,4 +128,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: collectors.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -3880,4 +3879,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: filters.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -976,4 +975,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: fluentbitconfigs.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -483,4 +482,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: fluentbits.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -7643,4 +7642,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: multilineparsers.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -87,4 +86,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: outputs.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -4408,4 +4407,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
{{- if .Values.fluentbit.enabled }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
{{- with .Values.additionalAnnotations }}
annotations:
{{- with .Values.additionalAnnotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: parsers.fluentbit.fluent.io
spec:
group: fluentbit.fluent.io
Expand Down Expand Up @@ -129,4 +128,3 @@ spec:
type: object
served: true
storage: true
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,10 +1,2 @@
# -- Enable Fluent Bit CRDs
fluentbit:
enabled: true

# -- Enable Fluentd CRDs
fluentd:
enabled: true

# -- Additional annotations for all CRDs (e.g., helm.sh/resource-policy: keep to prevent deletion on uninstall)
additionalAnnotations: {}
Loading
Loading