From e37ff76239aeda2d13d166b689a47641450fd79c Mon Sep 17 00:00:00 2001 From: Robert Fekete Date: Fri, 14 Feb 2025 16:34:02 +0100 Subject: [PATCH 1/8] Version number bumps --- config/_default/config.toml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/config/_default/config.toml b/config/_default/config.toml index 5ead71b8e..71cdc3e85 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.0" + version = "5.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 (5.0)" + version = "latest (5.1)" githubbranch = "master" url = "" +[[params.versions]] + version = "5.0" + githubbranch = "release-5.0" + url = "/5.0/" [[params.versions]] version = "4.11.0" githubbranch = "release-4.11" @@ -220,7 +224,7 @@ twitter = "AxoflowIO" # Cascade version number to every doc page (needed to create sections for pagefind search) # Update this parameter when creating a new version [[cascade]] -body_attribute = 'data-pagefind-filter="section:5.0"' +body_attribute = 'data-pagefind-filter="section:5.1"' [cascade._target] path = '/docs/**' From ffc3c70160de61b9cfc06b6e6d65dd6362731b71 Mon Sep 17 00:00:00 2001 From: Robert Fekete Date: Fri, 14 Feb 2025 16:36:10 +0100 Subject: [PATCH 2/8] Github workflow for the future 5.1 release branch --- .github/workflows/publish-version-5.1.yaml | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .github/workflows/publish-version-5.1.yaml diff --git a/.github/workflows/publish-version-5.1.yaml b/.github/workflows/publish-version-5.1.yaml new file mode 100644 index 000000000..6e97bb989 --- /dev/null +++ b/.github/workflows/publish-version-5.1.yaml @@ -0,0 +1,86 @@ +name: Publish version 5.1 + +env: + doc_versionnumber: "5.1" + +on: + push: + branches: + - release-5.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@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + ref: release-5.1 + submodules: 'recursive' + + - name: Set up Pages + id: pages + uses: actions/configure-pages@1f0c5cde4bc74cd7e1254d0cb4de8d49e9068c7d # v4.0.0 + + - name: Set up Hugo + uses: peaceiris/actions-hugo@16361eb4acea8698b220b76c0d4e84e1fd22c61d # v2.6.0 + with: + hugo-version: '0.110.0' + extended: true + + - name: Set up Node + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + 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@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + 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' From 78394fd6b240bd01e6ea919a0d6b019ecb9bc741 Mon Sep 17 00:00:00 2001 From: Robert Fekete Date: Fri, 14 Feb 2025 16:41:15 +0100 Subject: [PATCH 3/8] Image version updates --- content/docs/image-versions.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/content/docs/image-versions.md b/content/docs/image-versions.md index 1533fb0bb..a77b3afc9 100644 --- a/content/docs/image-versions.md +++ b/content/docs/image-versions.md @@ -5,6 +5,22 @@ weight: 750 Logging operator uses the following image versions. +## Logging operator version 5.1 + +| Image repository | GitHub repository | Version | +| -------- | --- | -- | +| ghcr.io/kube-logging/node-exporter | https://github.com/kube-logging/node-exporter-image | v0.9.0 | +| ghcr.io/kube-logging/config-reloader | https://github.com/kube-logging/config-reloader | v0.0.6 | +| ghcr.io/kube-logging/fluentd-drain-watch | https://github.com/kube-logging/fluentd-drain-watch | v0.2.4 | +| k8s.gcr.io/pause | | 3.9 | +| docker.io/busybox | https://github.com/docker-library/busybox | latest | +| ghcr.io/axoflow/axosyslog | https://github.com/axoflow/axosyslog/ | 4.9.0 | +| docker.io/fluent/fluent-bit | https://github.com/fluent/fluent-bit | 3.2.5 | +| ghcr.io/kube-logging/logging-operator/fluentd | ghcr.io/kube-logging/logging-operator/fluentd | 5.1.1-full | +| ghcr.io/axoflow/axosyslog-metrics-exporter | https://github.com/axoflow/axosyslog-metrics-exporter | 0.0.9 | +| ghcr.io/kube-logging/syslogng-reload | https://github.com/kube-logging/syslogng-reload-image | v1.6.0 | +| ghcr.io/kube-logging/eventrouter | https://github.com/kube-logging/eventrouter | 0.4.0 | + ## Logging operator version 5.0 | Image repository | GitHub repository | Version | From 3a0b88e46bb593b5c1ff4c5252d591a28d1e57a4 Mon Sep 17 00:00:00 2001 From: Robert Fekete Date: Fri, 14 Feb 2025 17:06:28 +0100 Subject: [PATCH 4/8] Updates generated docs --- .../crds/v1beta1/clusteroutput_types.md | 3 --- .../configuration/crds/v1beta1/fluentd_types.md | 3 +++ .../configuration/crds/v1beta1/logging_types.md | 6 ++++-- .../v1beta1/syslogng_clusteroutput_types.md | 3 --- .../docs/configuration/plugins/outputs/http.md | 17 +++++++++++++++++ 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/content/docs/configuration/crds/v1beta1/clusteroutput_types.md b/content/docs/configuration/crds/v1beta1/clusteroutput_types.md index 1b839f6f7..61b33fae8 100644 --- a/content/docs/configuration/crds/v1beta1/clusteroutput_types.md +++ b/content/docs/configuration/crds/v1beta1/clusteroutput_types.md @@ -28,9 +28,6 @@ ClusterOutputSpec contains Kubernetes spec for ClusterOutput ### (OutputSpec, required) {#clusteroutputspec-} -### enabledNamespaces ([]string, optional) {#clusteroutputspec-enablednamespaces} - - ### protected (bool, optional) {#clusteroutputspec-protected} diff --git a/content/docs/configuration/crds/v1beta1/fluentd_types.md b/content/docs/configuration/crds/v1beta1/fluentd_types.md index 8c9d6e50b..838522e18 100644 --- a/content/docs/configuration/crds/v1beta1/fluentd_types.md +++ b/content/docs/configuration/crds/v1beta1/fluentd_types.md @@ -54,6 +54,9 @@ Overrides the default logging level configCheck setup. This field is not used di ### configReloaderResources (corev1.ResourceRequirements, optional) {#fluentdspec-configreloaderresources} +### configReloaderUseGracefulReloadWebhook (bool, optional) {#fluentdspec-configreloaderusegracefulreloadwebhook} + + ### dnsConfig (*corev1.PodDNSConfig, optional) {#fluentdspec-dnsconfig} diff --git a/content/docs/configuration/crds/v1beta1/logging_types.md b/content/docs/configuration/crds/v1beta1/logging_types.md index 68e5b8343..a3e70ff19 100644 --- a/content/docs/configuration/crds/v1beta1/logging_types.md +++ b/content/docs/configuration/crds/v1beta1/logging_types.md @@ -12,6 +12,8 @@ LoggingSpec defines the desired state of Logging Allow configuration of cluster resources from any namespace. Mutually exclusive with ControlNamespace restriction of Cluster resources +WARNING: Be careful when turning this on and off as it can result in some resources being orphaned. + ### clusterDomain (*string, optional) {#loggingspec-clusterdomain} @@ -54,7 +56,7 @@ GlobalOutput name to flush ERROR events to ### flowConfigCheckDisabled (bool, optional) {#loggingspec-flowconfigcheckdisabled} -Disable configuration check before applying new fluentd configuration. +Disable configuration check before applying new fluentd or syslog-ng configuration. ### flowConfigOverride (string, optional) {#loggingspec-flowconfigoverride} @@ -139,7 +141,7 @@ If DisableLoggingRoute is set to true, the logging route controller should remov ### enableTelemetryControllerRoute (bool, optional) {#routeconfig-enabletelemetrycontrollerroute} -If EnableTelemtryControllerRoute set to true, the operator will create the corresponding Tenant, Subscription, and Output based on the logging resource. +If EnableTelemetryControllerRoute set to true, the operator will create the corresponding Tenant, Subscription, and Output based on the logging resource. ### tenantLabels (map[string]string, optional) {#routeconfig-tenantlabels} diff --git a/content/docs/configuration/crds/v1beta1/syslogng_clusteroutput_types.md b/content/docs/configuration/crds/v1beta1/syslogng_clusteroutput_types.md index 08b41380e..8c1eb90ad 100644 --- a/content/docs/configuration/crds/v1beta1/syslogng_clusteroutput_types.md +++ b/content/docs/configuration/crds/v1beta1/syslogng_clusteroutput_types.md @@ -28,9 +28,6 @@ SyslogNGClusterOutputSpec contains Kubernetes spec for SyslogNGClusterOutput ### (SyslogNGOutputSpec, required) {#syslogngclusteroutputspec-} -### enabledNamespaces ([]string, optional) {#syslogngclusteroutputspec-enablednamespaces} - - ### protected (bool, optional) {#syslogngclusteroutputspec-protected} diff --git a/content/docs/configuration/plugins/outputs/http.md b/content/docs/configuration/plugins/outputs/http.md index 4f5e951dc..a651f0ed1 100644 --- a/content/docs/configuration/plugins/outputs/http.md +++ b/content/docs/configuration/plugins/outputs/http.md @@ -34,6 +34,12 @@ spec: [Buffer](../buffer/) +### compress (string, optional) {#output-config-compress} + +The option to compress HTTP request body. [text,gzip] + +Default: text + ### content_type (string, optional) {#output-config-content_type} Content-Profile for HTTP request. @@ -66,6 +72,11 @@ Default: post Additional headers for HTTP request. +### headers_from_placeholders (map[string]string, optional) {#output config-headers_from_placeholders} + +Additional headers from placeholders for HTTP request. + + ### json_array (bool, optional) {#output-config-json_array} Using array format of JSON. This parameter is used and valid only for json format. When json_array as true, Content-Profile should be application/json and be able to use JSON data for the HTTP request body. @@ -93,6 +104,12 @@ List of retryable response codes. If the response code is included in this list, Default: [503] +### reuse_connections (bool, optional) {#output-config-reuse_connections} + +Try to reuse connection. This will improve performance. + +Default: false + ### ssl_timeout (int, optional) {#output-config-ssl_timeout} TLS timeout in seconds. From 1e6533bcc20a841c40b5a9e408347464f05eee98 Mon Sep 17 00:00:00 2001 From: Robert Fekete Date: Fri, 14 Feb 2025 20:57:16 +0100 Subject: [PATCH 5/8] Whatsnew draft --- content/docs/whats-new/_index.md | 54 ++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/content/docs/whats-new/_index.md b/content/docs/whats-new/_index.md index 685298961..d1da7d655 100644 --- a/content/docs/whats-new/_index.md +++ b/content/docs/whats-new/_index.md @@ -3,6 +3,60 @@ title: What's new weight: 50 --- +## Version 5.1 + +The following are the highlights and main changes of Logging operator 5.1. For a complete list of changes and bugfixes, see the [Logging operator 5.1 releases page](https://github.com/kube-logging/logging-operator/releases/tag/5.1.1). + +### Fluentd http output improvements + +- Set the `compress` option to `gzip` to compress the HTTP request body. +- You can use the `headers_from_placeholders` option to add headers to the HTTP requests. +- Set the `reuse_connection` option to `true` to try to reuse HTTP connections to improve performance. + +### Multiple hosttailer support + +You can now define multiple hosttailers in your logging configuration, for example: + +```yaml +logging: + enabled: true + hostTailers: + enabled: true + instances: + - name: kubeauditane + enabled: true + workloadOverrides: + nodeSelector: + node-role.kubernetes.io/control-plane: "true" + tolerations: + - key: node-role.kubernetes.io/control-plane + operator: Exists + effect: NoSchedule + fileTailers: + - name: kube-audit + path: /var/lib/rancher/rke2/server/logs/*.log + + - name: workersnodesonly + enabled: true + workloadOverrides: + nodeSelector: + node-role.kubernetes.io/worker: "true" + fileTailers: + - name: kube-audit + path: /var/lib/rancher/rke2/agent/logs/*.log +``` + +This also means that `logging.hostTailer` has been deprecated and is superseded by `logging.hostTailers`. + + + +### Memory usage + +In order to reduce the memory usage of the operator in large environments, you can now use the following flags during installation: + +- `watch-labeled-children` to watch only child resources created by the operator. This option will be enabled by default in a future new minor version. +- `watch-labeled-secrets` to watch secrets with `logging.banzaicloud.io/watch: enabled` label. This option will be enabled by default in a future new major version. + ## Version 5.0 The following are the highlights and main changes of Logging operator 5.0. For a complete list of changes and bugfixes, see the [Logging operator 5.0 releases page](https://github.com/kube-logging/logging-operator/releases/tag/5.0). From f5f27610994c943d24c876d3b8ded73423150086 Mon Sep 17 00:00:00 2001 From: Robert Fekete Date: Mon, 17 Feb 2025 14:08:40 +0100 Subject: [PATCH 6/8] Update content/docs/whats-new/_index.md Co-authored-by: Bence Csati <113284287+csatib02@users.noreply.github.com> Signed-off-by: Robert Fekete --- content/docs/whats-new/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/whats-new/_index.md b/content/docs/whats-new/_index.md index d1da7d655..0e264949e 100644 --- a/content/docs/whats-new/_index.md +++ b/content/docs/whats-new/_index.md @@ -46,7 +46,7 @@ logging: path: /var/lib/rancher/rke2/agent/logs/*.log ``` -This also means that `logging.hostTailer` has been deprecated and is superseded by `logging.hostTailers`. +This also means that `logging.hostTailer` has been deprecated and is superseded by `logging.hostTailers` and will be removed in a future release. From 689352f6020b5a2e91cac4ce0570706963959485 Mon Sep 17 00:00:00 2001 From: Robert Fekete Date: Mon, 17 Feb 2025 14:09:14 +0100 Subject: [PATCH 7/8] Update content/docs/image-versions.md Signed-off-by: Robert Fekete --- content/docs/image-versions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/image-versions.md b/content/docs/image-versions.md index a77b3afc9..d13dc5d61 100644 --- a/content/docs/image-versions.md +++ b/content/docs/image-versions.md @@ -10,7 +10,7 @@ Logging operator uses the following image versions. | Image repository | GitHub repository | Version | | -------- | --- | -- | | ghcr.io/kube-logging/node-exporter | https://github.com/kube-logging/node-exporter-image | v0.9.0 | -| ghcr.io/kube-logging/config-reloader | https://github.com/kube-logging/config-reloader | v0.0.6 | +| ghcr.io/kube-logging/config-reloader | https://github.com/kube-logging/config-reloader | v0.0.7 | | ghcr.io/kube-logging/fluentd-drain-watch | https://github.com/kube-logging/fluentd-drain-watch | v0.2.4 | | k8s.gcr.io/pause | | 3.9 | | docker.io/busybox | https://github.com/docker-library/busybox | latest | From 1845999971851585b9c64e38dfdb52261889d23c Mon Sep 17 00:00:00 2001 From: Robert Fekete Date: Sun, 23 Feb 2025 10:04:36 +0100 Subject: [PATCH 8/8] Whatsnew updates from comments Signed-off-by: Bence Csati --- content/docs/whats-new/_index.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/content/docs/whats-new/_index.md b/content/docs/whats-new/_index.md index 0e264949e..f511da7d4 100644 --- a/content/docs/whats-new/_index.md +++ b/content/docs/whats-new/_index.md @@ -48,7 +48,9 @@ logging: This also means that `logging.hostTailer` has been deprecated and is superseded by `logging.hostTailers` and will be removed in a future release. - +## Graceful reload in Fluentd + +You can now enable graceful reloading via a webhook using the [`configReloaderUseGracefulReloadWebhook` option]({{< relref "/docs/configuration/crds/v1beta1/fluentd_types.md#fluentdspec-configreloaderusegracefulreloadwebhook" >}}). ### Memory usage @@ -57,6 +59,10 @@ In order to reduce the memory usage of the operator in large environments, you c - `watch-labeled-children` to watch only child resources created by the operator. This option will be enabled by default in a future new minor version. - `watch-labeled-secrets` to watch secrets with `logging.banzaicloud.io/watch: enabled` label. This option will be enabled by default in a future new major version. +### Changes in Fluentd images + +Earlier, Logging operator used Fluentd images published at https://github.com/kube-logging/fluentd-images, and its version numbers followed the official Fluentd version numbers. From now on, we build Fluentd images from our repository (https://github.com/kube-logging/logging-operator/tree/master/images/fluentd) and its version numbering follows the version numbers of Logging operator, for example: ghcr.io/kube-logging/logging-operator/fluentd:5.1.1-base/filters/full + ## Version 5.0 The following are the highlights and main changes of Logging operator 5.0. For a complete list of changes and bugfixes, see the [Logging operator 5.0 releases page](https://github.com/kube-logging/logging-operator/releases/tag/5.0).