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