Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 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
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would do a crds postfix similar like all crds charts are postfixed with this naming convention.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marcofranssen Renamed in bf0835e

$(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
33 changes: 33 additions & 0 deletions charts/fluent-operator-crds-fluent-bit/_docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## 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: Optionally install Fluentd CRDs
helm install fluent-operator-crds-fluentd fluent/fluent-operator-crds-fluentd

# Step 3: 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