diff --git a/.github/workflows/publish-version-6.1.yaml b/.github/workflows/publish-version-6.1.yaml
new file mode 100644
index 000000000..5661a4166
--- /dev/null
+++ b/.github/workflows/publish-version-6.1.yaml
@@ -0,0 +1,86 @@
+name: Publish version 6.1
+
+env:
+ doc_versionnumber: "6.1"
+
+on:
+ push:
+ branches:
+ - release-6.1
+ workflow_dispatch:
+
+jobs:
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+
+ permissions:
+ contents: write
+ pages: write
+ id-token: write
+
+ concurrency:
+ group: "pages"
+ cancel-in-progress: false
+
+ environment:
+ name: github-pages-test
+ url: ${{ steps.deployment.outputs.page_url }}
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+ with:
+ ref: release-6.1
+ submodules: 'recursive'
+
+ - name: Set up Pages
+ id: pages
+ uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0
+
+ - name: Set up Hugo
+ uses: peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3.0.0
+ with:
+ hugo-version: '0.110.0'
+ extended: true
+
+ - name: Set up Node
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
+ with:
+ node-version: 18
+
+ - name: Install dependencies
+ run: |
+ cd themes/docsy
+ npm install
+
+ - name: Set up PostCSS
+ run: npm install --save-dev autoprefixer postcss-cli postcss
+
+ - name: Build
+ run: hugo --environment production --baseURL ${{ steps.pages.outputs.base_url }}/${{ env.doc_versionnumber }}/
+
+ # - name: Upload artifact
+ # uses: actions/upload-pages-artifact@64bcae551a7b18bcb9a09042ddf1960979799187 # v1.0.8
+ # with:
+ # path: ./public/
+
+ - name: Checkout code to update
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+ with:
+ ref: 'gh-pages-test'
+ path: 'tmp/gh-pages'
+ # - name: Display file structure
+ # run: ls -R
+ - name: Copy built site to GH pages
+ run: |
+ rm -rf tmp/gh-pages/${{ env.doc_versionnumber }}
+ mkdir -p tmp/gh-pages/${{ env.doc_versionnumber }}
+ mv public/* tmp/gh-pages/${{ env.doc_versionnumber }}
+ - name: Commit & Push changes
+ uses: actions-js/push@master
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ message: 'Publish updated docs for ${{ env.doc_versionnumber }}, ${{ github.event.repository.pushed_at}}'
+ branch: 'gh-pages-test'
+ directory: 'tmp/gh-pages'
diff --git a/config/_default/config.toml b/config/_default/config.toml
index dc1c13ebb..b7018df83 100644
--- a/config/_default/config.toml
+++ b/config/_default/config.toml
@@ -65,7 +65,7 @@ weight = 1
# Used in the "version-banner" partial to display a version number for the
# current doc set.
- version = "5.4"
+ version = "6.1"
version_menu = "Releases"
version_menu_canonicallinks = true
version_menu_pagelinks = true
@@ -169,9 +169,13 @@ twitter = "AxoflowIO"
#######################
# Add your release versions here
[[params.versions]]
- version = "latest (6.0)"
+ version = "latest (6.1)"
githubbranch = "master"
url = ""
+[[params.versions]]
+ version = "6.0"
+ githubbranch = "release-6.0"
+ url = "/6.0/"
[[params.versions]]
version = "5.4"
githubbranch = "release-5.4"
diff --git a/content/docs/configuration/crds/v1beta1/common_types.md b/content/docs/configuration/crds/v1beta1/common_types.md
index 2a8e31c2b..c38a0c408 100644
--- a/content/docs/configuration/crds/v1beta1/common_types.md
+++ b/content/docs/configuration/crds/v1beta1/common_types.md
@@ -36,6 +36,11 @@ ImageSpec struct hold information about image specification
Metrics defines the service monitor endpoints
+### enabled (*bool, optional) {#metrics-enabled}
+
+Enabled controls whether the metrics endpoint should be exposed. Defaults to false. When false, the metrics HTTP server will not be started and no metrics port will be exposed.
+
+
### interval (string, optional) {#metrics-interval}
diff --git a/content/docs/configuration/crds/v1beta1/fluentd_types.md b/content/docs/configuration/crds/v1beta1/fluentd_types.md
index 838522e18..7c41b3cf6 100644
--- a/content/docs/configuration/crds/v1beta1/fluentd_types.md
+++ b/content/docs/configuration/crds/v1beta1/fluentd_types.md
@@ -73,6 +73,7 @@ Allows Time object in buffer's MessagePack serde [more info]( https://docs.fluen
### enabledIPv6 (bool, optional) {#fluentdspec-enabledipv6}
+Enables listening on IPv6, and configures Kubernetes Service resources for dual-stack networking. This ensures proper IPv6 connectivity to these services in dual-stack Kubernetes clusters.
### envVars ([]corev1.EnvVar, optional) {#fluentdspec-envvars}
diff --git a/content/docs/configuration/crds/v1beta1/logging_types.md b/content/docs/configuration/crds/v1beta1/logging_types.md
index 0d5d69971..55f6fabab 100644
--- a/content/docs/configuration/crds/v1beta1/logging_types.md
+++ b/content/docs/configuration/crds/v1beta1/logging_types.md
@@ -64,6 +64,11 @@ Disable configuration check before applying new fluentd or syslog-ng configurati
Override generated config. This is a *raw* configuration string for troubleshooting purposes.
+### fluentBitAgentNamespace (string, optional) {#loggingspec-fluentbitagentnamespace}
+
+Namespace to deploy Fluent Bit resources (DaemonSet, Service, ServiceAccount, config Secret, ServiceMonitors). If unset, it defaults to `controlNamespace` to preserve backward compatibility.
+
+
### fluentbit (*FluentbitSpec, optional) {#loggingspec-fluentbit}
FluentbitAgent daemonset configuration. Deprecated, migrate to [FluentbitAgent]({{< relref "/docs/configuration/crds/v1beta1/fluentbit_types.md" >}}), or to the [Telemetry Controller](https://github.com/kube-logging/telemetry-controller)
@@ -89,7 +94,7 @@ RouteConfig determines whether to use loggingRoutes or to create resources based
### skipInvalidResources (bool, optional) {#loggingspec-skipinvalidresources}
-Whether to skip invalid Flow and ClusterFlow resources
+Whether to skip invalid Flow and ClusterFlow resources. Starting with version 6.1, invalid SyslogNGFlow and SyslogNGClusterFlow resources are skipped as well. The `skipInvalidResources` Logging option skips invalid flow resources (for example, those referencing non-existent outputs) to avoid failing the entire reconciliation.
### syslogNG (*SyslogNGSpec, optional) {#loggingspec-syslogng}
diff --git a/content/docs/configuration/crds/v1beta1/syslogng_types.md b/content/docs/configuration/crds/v1beta1/syslogng_types.md
index 53d9ef81f..280e5334e 100644
--- a/content/docs/configuration/crds/v1beta1/syslogng_types.md
+++ b/content/docs/configuration/crds/v1beta1/syslogng_types.md
@@ -34,6 +34,11 @@ Overrides the default logging level configCheck setup. This field is not used di
### configReloadImage (*BasicImageSpec, optional) {#syslogngspec-configreloadimage}
+### enabledIPv6 (bool, optional) {#syslogngspec-enabledipv6}
+
+Enables listening on IPv6, and configures Kubernetes Service resources for dual-stack networking. This ensures proper IPv6 connectivity to these services in dual-stack Kubernetes clusters.
+
+
### globalOptions (*GlobalOptions, optional) {#syslogngspec-globaloptions}
diff --git a/content/docs/configuration/plugins/_index.md b/content/docs/configuration/plugins/_index.md
index 9a4bc36d5..31f1d90a9 100644
--- a/content/docs/configuration/plugins/_index.md
+++ b/content/docs/configuration/plugins/_index.md
@@ -1,55 +1,4 @@
---
title: Supported Plugins
-generated_file: true
---
-For more information please click on the plugin name
-
-
-| Name | Profile | Description | Status |Version |
-|:---|---|:---|:---:|---:|
-| **[Security](common/security/)** | common | | | []() |
-| **[Transport](common/transport/)** | common | | | []() |
-| **[Concat](filters/concat/)** | filters | Fluentd Filter plugin to concatenate multiline log separated in multiple events. | GA | [2.5.0](https://github.com/fluent-plugins-nursery/fluent-plugin-concat) |
-| **[Dedot](filters/dedot/)** | filters | Concatenate multiline log separated in multiple events | GA | [1.0.0](https://github.com/lunardial/fluent-plugin-dedot_filter) |
-| **[Exception Detector](filters/detect_exceptions/)** | filters | Exception Detector | GA | [0.0.14](https://github.com/GoogleCloudPlatform/fluent-plugin-detect-exceptions) |
-| **[ElasticsearchGenId](filters/elasticsearch_genid/)** | filters | | | []() |
-| **[Geo IP](filters/geoip/)** | filters | Fluentd GeoIP filter | GA | [1.3.2](https://github.com/y-ken/fluent-plugin-geoip) |
-| **[Grep](filters/grep/)** | filters | Grep events by the values | GA | [more info](https://docs.fluentd.org/filter/grep) |
-| **[Kubernetes Events Timestamp](filters/kube_events_timestamp/)** | filters | Fluentd Filter plugin to select particular timestamp into an additional field | GA | [0.1.4](https://github.com/banzaicloud/fluentd-filter-kube-events-timestamp) |
-| **[Parser](filters/parser/)** | filters | Parses a string field in event records and mutates its event record with the parsed result. | GA | [more info](https://docs.fluentd.org/filter/parser) |
-| **[Prometheus](filters/prometheus/)** | filters | Prometheus Filter Plugin to count Incoming Records | GA | [2.0.2](https://github.com/fluent/fluent-plugin-prometheus#prometheus-outputfilter-plugin) |
-| **[Record Modifier](filters/record_modifier/)** | filters | Modify each event record. | GA | [2.1.0](https://github.com/repeatedly/fluent-plugin-record-modifier) |
-| **[Record Transformer](filters/record_transformer/)** | filters | Mutates/transforms incoming event streams. | GA | [more info](https://docs.fluentd.org/filter/record_transformer) |
-| **[Stdout](filters/stdout/)** | filters | Prints events to stdout | GA | [more info](https://docs.fluentd.org/filter/stdout) |
-| **[Tag Normaliser](filters/tagnormaliser/)** | filters | Re-tag based on log metadata | GA | [0.1.1](https://github.com/banzaicloud/fluent-plugin-tag-normaliser) |
-| **[Throttle](filters/throttle/)** | filters | A sentry plugin to throttle logs. Logs are grouped by a configurable key. When a group exceeds a configuration rate, logs are dropped for this group. | GA | [0.0.5](https://github.com/rubrikinc/fluent-plugin-throttle) |
-| **[Amazon Elasticsearch](outputs/aws_elasticsearch/)** | outputs | Fluent plugin for Amazon Elasticsearch | Testing | [2.4.1](https://github.com/atomita/fluent-plugin-aws-elasticsearch-service) |
-| **[Azure Storage](outputs/azurestore/)** | outputs | Store logs in Azure Storage | GA | [0.2.1](https://github.com/microsoft/fluent-plugin-azure-storage-append-blob) |
-| **[Buffer](outputs/buffer/)** | outputs | Fluentd event buffer | GA | [mode info](https://docs.fluentd.org/configuration/buffer-section) |
-| **[Amazon CloudWatch](outputs/cloudwatch/)** | outputs | Send your logs to AWS CloudWatch | GA | [0.14.2](https://github.com/fluent-plugins-nursery/fluent-plugin-cloudwatch-logs/releases/tag/v0.14.2) |
-| **[Datadog](outputs/datadog/)** | outputs | Send your logs to Datadog | Testing | [0.14.1](https://github.com/DataDog/fluent-plugin-datadog/releases/tag/v0.14.1) |
-| **[Elasticsearch](outputs/elasticsearch/)** | outputs | Send your logs to Elasticsearch | GA | [5.1.1](https://github.com/uken/fluent-plugin-elasticsearch/releases/tag/v5.1.4) |
-| **[File](outputs/file/)** | outputs | Output plugin writes events to files | GA | [more info](https://docs.fluentd.org/output/file) |
-| **[Format](outputs/format/)** | outputs | Specify how to format output record. | GA | [more info](https://docs.fluentd.org/configuration/format-section) |
-| **[Format rfc5424](outputs/format_rfc5424/)** | outputs | Specify how to format output record. | GA | [more info](https://github.com/cloudfoundry/fluent-plugin-syslog_rfc5424#format-section) |
-| **[Forward](outputs/forward/)** | outputs | Forwards events to other fluentd nodes. | GA | [more info](https://docs.fluentd.org/output/forward) |
-| **[Google Cloud Storage](outputs/gcs/)** | outputs | Store logs in Google Cloud Storage | GA | [0.4.0](https://github.com/banzaicloud/fluent-plugin-gcs) |
-| **[Gelf](outputs/gelf/)** | outputs | Output plugin writes events to GELF | Testing | [1.0.8](https://github.com/hotschedules/fluent-plugin-gelf-hs) |
-| **[Http](outputs/http/)** | outputs | Sends logs to HTTP/HTTPS endpoints. | GA | [more info](https://docs.fluentd.org/output/http) |
-| **[Kafka](outputs/kafka/)** | outputs | Send your logs to Kafka | GA | [0.17.5](https://github.com/fluent/fluent-plugin-kafka/releases/tag/v0.17.5) |
-| **[Amazon Kinesis Firehose](outputs/kinesis_firehose/)** | outputs | Fluent plugin for Amazon Kinesis | Testing | [3.4.2](https://github.com/awslabs/aws-fluent-plugin-kinesis/releases/tag/v3.4.2) |
-| **[Amazon Kinesis Stream](outputs/kinesis_stream/)** | outputs | Fluent plugin for Amazon Kinesis | GA | [3.4.2](https://github.com/awslabs/aws-fluent-plugin-kinesis/releases/tag/v3.4.2) |
-| **[LogDNA](outputs/logdna/)** | outputs | Send your logs to LogDNA | GA | [0.4.0](https://github.com/logdna/fluent-plugin-logdna/releases/tag/v0.4.0) |
-| **[LogZ](outputs/logz/)** | outputs | Store logs in LogZ.io | GA | [0.0.21](https://github.com/logzio/fluent-plugin-logzio/) |
-| **[Grafana Loki](outputs/loki/)** | outputs | Transfer logs to Loki | GA | [1.2.17](https://github.com/grafana/loki/tree/master/fluentd/fluent-plugin-grafana-loki) |
-| **[NewRelic Logs](outputs/newrelic/)** | outputs | Send logs to New Relic Logs | GA | [1.2.1](https://github.com/newrelic/newrelic-fluentd-output) |
-| **[OpenSearch](outputs/opensearch/)** | outputs | Send your logs to OpenSearch | GA | [1.0.5](https://github.com/fluent/fluent-plugin-opensearch/releases/tag/v1.0.5) |
-| **[Alibaba Cloud Storage](outputs/oss/)** | outputs | Store logs the Alibaba Cloud Object Storage Service | GA | [0.0.2](https://github.com/aliyun/fluent-plugin-oss) |
-| **[Redis](outputs/redis/)** | outputs | Sends logs to Redis endpoints. | GA | [0.3.5](https://github.com/fluent-plugins-nursery/fluent-plugin-redis) |
-| **[Amazon S3](outputs/s3/)** | outputs | Store logs in Amazon S3 | GA | [1.6.1](https://github.com/fluent/fluent-plugin-s3/releases/tag/v1.6.1) |
-| **[Splunk Hec](outputs/splunk_hec/)** | outputs | Fluent Plugin Splunk Hec Release | GA | [1.2.9]() |
-| **[SQS](outputs/sqs/)** | outputs | Output plugin writes fluent-events as queue messages to Amazon SQS | Testing | [v2.1.0](https://github.com/ixixi/fluent-plugin-sqs) |
-| **[Syslog](outputs/syslog/)** | outputs | Output plugin writes events to syslog | GA | [0.9.0.rc.8](https://github.com/cloudfoundry/fluent-plugin-syslog_rfc5424) |
-
-
diff --git a/content/docs/configuration/plugins/outputs/rabbitmq.md b/content/docs/configuration/plugins/outputs/rabbitmq.md
new file mode 100644
index 000000000..158126fda
--- /dev/null
+++ b/content/docs/configuration/plugins/outputs/rabbitmq.md
@@ -0,0 +1,204 @@
+---
+title: RabbitMQ
+weight: 200
+generated_file: true
+---
+
+## Overview
+
+Sends logs to RabbitMQ Queues. For details, see [https://github.com/nttcom/fluent-plugin-rabbitmq](https://github.com/nttcom/fluent-plugin-rabbitmq).
+
+## Example output configurations
+
+```yaml
+spec:
+ rabbitmq:
+ host: rabbitmq-master.namespace.svc.cluster.local
+ user: test-user
+ pass: test-pass
+ port: 5672
+ buffer:
+ timekey: 10m
+ timekey_wait: 30s
+ timekey_use_utc: true
+```
+
+## Configuration
+
+### app_id (string, optional) {#output config-app_id}
+
+Application Id
+
+
+### auth_mechanism (string, optional) {#output config-auth_mechanism}
+
+Auth Mechanism
+
+
+### automatically_recover (bool, optional) {#output config-automatically_recover}
+
+Automatic network failure recovery
+
+
+### buffer (*Buffer, optional) {#output config-buffer}
+
+[Buffer](../buffer/)
+
+
+### connection_timeout (int, optional) {#output config-connection_timeout}
+
+Connection Timeout
+
+
+### content_encoding (string, optional) {#output config-content_encoding}
+
+Message content encoding
+
+
+### content_type (string, optional) {#output config-content_type}
+
+Message content type
+
+
+### continuation_timeout (int, optional) {#output config-continuation_timeout}
+
+Continuation Timeout
+
+
+### exchange (string, required) {#output config-exchange}
+
+Name of the exchange
+
+
+### exchange_durable (bool, optional) {#output config-exchange_durable}
+
+Exchange durability
+
+
+### exchange_no_declare (bool, optional) {#output config-exchange_no_declare}
+
+Weather to declare exchange or not
+
+
+### exchange_type (string, required) {#output config-exchange_type}
+
+Type of the exchange
+
+
+### expiration (int, optional) {#output config-expiration}
+
+Message message time-to-live
+
+
+### format (*Format, optional) {#output config-format}
+
+[Format](../format/)
+
+
+### frame_max (int, optional) {#output config-frame_max}
+
+Maximum permissible size of a frame
+
+
+### heartbeat (string, optional) {#output config-heartbeat}
+
+Heartbeat: integer as seconds or server (interval specified by server)
+
+
+### host (string, optional) {#output config-host}
+
+Host
+
+
+### hosts ([]string, optional) {#output config-hosts}
+
+Hosts
+
+
+### id_key (string, optional) {#output config-id_key}
+
+Id to specify message_id
+
+
+### message_type (string, optional) {#output config-message_type}
+
+Message type
+
+
+### network_recovery_interval (int, optional) {#output config-network_recovery_interval}
+
+Network Recovery Interval
+
+
+### pass (*secret.Secret, optional) {#output config-pass}
+
+Pass
+
+
+### persistent (bool, optional) {#output config-persistent}
+
+Messages are persistent to disk
+
+
+### port (int, optional) {#output config-port}
+
+Port
+
+
+### priority (int, optional) {#output config-priority}
+
+Message priority
+
+
+### recovery_attempts (int, optional) {#output config-recovery_attempts}
+
+Recovery Attempts
+
+
+### routing_key (string, optional) {#output config-routing_key}
+
+Routing key to route messages
+
+
+### tls (bool, optional) {#output config-tls}
+
+Enable TLS or not
+
+
+### tls_ca_certificates ([]string, optional) {#output config-tls_ca_certificates}
+
+Path to TLS CA certificates files
+
+
+### tls_cert (string, optional) {#output config-tls_cert}
+
+Path to TLS certificate file
+
+
+### tls_key (string, optional) {#output config-tls_key}
+
+Path to TLS key file
+
+
+### timestamp (bool, optional) {#output config-timestamp}
+
+Time of record is used as timestamp in AMQP message
+
+
+### user (*secret.Secret, optional) {#output config-user}
+
+User
+
+
+### vhost (string, optional) {#output config-vhost}
+
+VHost
+
+
+### verify_peer (*bool, optional) {#output config-verify_peer}
+
+Verify Peer or not
+
+Default: true
+
+
diff --git a/content/docs/image-versions.md b/content/docs/image-versions.md
index 8ad04bef0..c932e6d2b 100644
--- a/content/docs/image-versions.md
+++ b/content/docs/image-versions.md
@@ -5,6 +5,23 @@ weight: 750
Logging operator uses the following image versions.
+## Logging operator version 6.1
+
+| Image repository | GitHub repository | Version |
+| -------- | --- | -- |
+| ghcr.io/kube-logging/logging-operator/node-exporter | https://github.com/kube-logging/logging-operator/tree/master/images/node-exporter | 6.1.0 |
+| ghcr.io/kube-logging/logging-operator/config-reloader | https://github.com/kube-logging/logging-operator/tree/master/images/config-reloader | 6.1.0 |
+| ghcr.io/kube-logging/logging-operator/fluentd-drain-watch | https://github.com/kube-logging/logging-operator/tree/master/images/fluentd-drain-watch | 6.1.0 |
+| registry.k8s.io/pause | https://github.com/kubernetes/registry.k8s.io | 3.9 |
+| docker.io/library/busybox | https://github.com/docker-library/busybox | latest |
+| ghcr.io/axoflow/axosyslog | https://github.com/axoflow/axosyslog/ | 4.18.1 |
+| ghcr.io/fluent/fluent-bit | https://github.com/fluent/fluent-bit | 4.0.3 |
+| ghcr.io/kube-logging/logging-operator/fluentd | https://github.com/kube-logging/logging-operator/tree/master/images/fluentd | 6.1.0-full |
+| ghcr.io/axoflow/axosyslog-metrics-exporter | https://github.com/axoflow/axosyslog-metrics-exporter | 0.0.13 |
+| ghcr.io/kube-logging/logging-operator/syslog-ng-reloader | https://github.com/kube-logging/logging-operator/tree/master/images/syslog-ng-reloader | 6.1.0 |
+| ghcr.io/kube-logging/eventrouter | https://github.com/kube-logging/eventrouter | 0.4.0 |
+| rubygems.org/gems/fluentd/versions/ | | 1.18.0 |
+
## Logging operator version 6.0
| Image repository | GitHub repository | Version |
diff --git a/content/docs/whats-new/_index.md b/content/docs/whats-new/_index.md
index eb446a97a..1b426dd1b 100644
--- a/content/docs/whats-new/_index.md
+++ b/content/docs/whats-new/_index.md
@@ -3,6 +3,13 @@ title: What's new
weight: 50
---
+## Version 6.1
+
+- New Fluentd output to send logs into {{% xref "/docs/configuration/plugins/outputs/rabbitmq.md" %}}.
+- The [`fluentBitAgentNamespace`]({{< relref "/docs/configuration/crds/v1beta1/logging_types.md#loggingspec-fluentbitagentnamespace" >}}) Logging option allows you to deploy Fluent Bit and it's resources in a dedicated namespace.
+- The [`skipInvalidResources`]({{< relref "/docs/configuration/crds/v1beta1/logging_types.md#loggingspec-skipinvalidresources" >}}) Logging option now skips invalid SyslogNGFlows and SyslogNGClusterFlows (for example, those referencing non-existent outputs) to match the existing behavior in Fluentd. When this flag is enabled, invalid resources are skipped to avoid failing the entire reconciliation.
+- The `enabledIPv6: true` setting of Fluentd and Syslog-NG resources now configures Kubernetes Service resources for dual-stack networking. This ensures proper IPv6 connectivity to these services in dual-stack Kubernetes clusters.
+
## Version 6.0
### Breaking changes