diff --git a/.github/workflows/publish-version-4.7.yaml b/.github/workflows/publish-version-4.7.yaml new file mode 100644 index 000000000..6de226ca4 --- /dev/null +++ b/.github/workflows/publish-version-4.7.yaml @@ -0,0 +1,86 @@ +name: Publish version 4.7 + +env: + doc_versionnumber: "4.7" + +on: + push: + branches: + - release-4.7 + 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-4.7 + 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' diff --git a/config/_default/config.toml b/config/_default/config.toml index 54fd8dba0..d76b4f693 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 = "4.7.0" + version = "4.8.0" 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 (4.7.0)" + version = "latest (4.8.0)" githubbranch = "master" url = "" +[[params.versions]] + version = "4.7" + githubbranch = "release-4.7" + url = "/4.7/" [[params.versions]] version = "4.6" githubbranch = "release-4.6" @@ -200,7 +204,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:4.7"' +body_attribute = 'data-pagefind-filter="section:4.8"' [cascade._target] path = '/docs/**' diff --git a/content/docs/configuration/crds/v1beta1/clusterflow_types.md b/content/docs/configuration/crds/v1beta1/clusterflow_types.md index 77f9dc90f..fdd15320b 100644 --- a/content/docs/configuration/crds/v1beta1/clusterflow_types.md +++ b/content/docs/configuration/crds/v1beta1/clusterflow_types.md @@ -43,6 +43,9 @@ Name of the logging cluster to be attached ### labels (map[string]string, optional) {#clusterselect-labels} +### namespace_labels (map[string]string, optional) {#clusterselect-namespace_labels} + + ### namespaces ([]string, optional) {#clusterselect-namespaces} @@ -58,6 +61,9 @@ Name of the logging cluster to be attached ### labels (map[string]string, optional) {#clusterexclude-labels} +### namespace_labels (map[string]string, optional) {#clusterexclude-namespace_labels} + + ### namespaces ([]string, optional) {#clusterexclude-namespaces} diff --git a/content/docs/configuration/crds/v1beta1/flow_types.md b/content/docs/configuration/crds/v1beta1/flow_types.md index 315742ed2..959297fcf 100644 --- a/content/docs/configuration/crds/v1beta1/flow_types.md +++ b/content/docs/configuration/crds/v1beta1/flow_types.md @@ -72,6 +72,9 @@ Deprecated ### labels (map[string]string, optional) {#exclude-labels} +### namespace_labels (map[string]string, optional) {#exclude-namespace_labels} + + ## Filter diff --git a/content/docs/configuration/crds/v1beta1/fluentbit_types.md b/content/docs/configuration/crds/v1beta1/fluentbit_types.md index 5ae490681..be4390e94 100644 --- a/content/docs/configuration/crds/v1beta1/fluentbit_types.md +++ b/content/docs/configuration/crds/v1beta1/fluentbit_types.md @@ -281,6 +281,11 @@ Default: iso8601 Default: ts +### Retry_Limit (string, optional) {#fluentbittcpoutput-retry_limit} + +Available in Logging operator version 4.8 and later. + + ### Workers (*int, optional) {#fluentbittcpoutput-workers} Available in Logging operator version 4.4 and later. diff --git a/content/docs/image-versions.md b/content/docs/image-versions.md index 2103cf09a..742450479 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 4.8 + +| Image repository | GitHub repository | Version | +| -------- | --- | -- | +| ghcr.io/kube-logging/node-exporter | https://github.com/kube-logging/node-exporter-image | v0.7.1 | +| ghcr.io/kube-logging/config-reloader | https://github.com/kube-logging/config-reloader | v0.0.5 | +| ghcr.io/kube-logging/fluentd-drain-watch | https://github.com/kube-logging/fluentd-drain-watch | v0.2.1 | +| k8s.gcr.io/pause | | 3.2 | +| docker.io/busybox | https://github.com/docker-library/busybox | latest | +| ghcr.io/axoflow/axosyslog | https://github.com/axoflow/axosyslog/ | 4.7.1 | +| docker.io/fluent/fluent-bit | https://github.com/fluent/fluent-bit | 3.0.4 | +| ghcr.io/kube-logging/fluentd | https://github.com/kube-logging/fluentd-images | v1.16-4.8-full | +| ghcr.io/axoflow/axosyslog-metrics-exporter | https://github.com/axoflow/axosyslog-metrics-exporter | 0.0.2 | +| ghcr.io/kube-logging/syslogng-reload | https://github.com/kube-logging/syslogng-reload-image | v1.3.1 | +| ghcr.io/kube-logging/eventrouter | https://github.com/kube-logging/eventrouter | 0.4.0 | + ## Logging operator version 4.7 | Image repository | GitHub repository | Version | diff --git a/content/docs/whats-new/_index.md b/content/docs/whats-new/_index.md index 2c9cc76cf..085471617 100644 --- a/content/docs/whats-new/_index.md +++ b/content/docs/whats-new/_index.md @@ -3,6 +3,77 @@ title: What's new weight: 50 --- +## Version 4.8 + +The following are the highlights and main changes of Logging operator 4.8. For a complete list of changes and bugfixes, see the [Logging operator 4.8 releases page](https://github.com/kube-logging/logging-operator/releases/tag/4.8.0). + +### Routing based on namespace labels + +In your Fluentd ClusterFlows you can now route your messages based on namespace labels. + +> Note: This feature requires a new fluentd image: `ghcr.io/kube-logging/fluentd:v1.16-4.8-full`. If you're using a custom Fluentd image, make sure to update it! + +If you have [enabled namespace labeling in Fluent Bit](https://kube-logging.dev/docs/whats-new/#kubernetes-namespace-labels-and-annotations), you can use namespace labels in your selectors, for example: + +```yaml +apiVersion: logging.banzaicloud.io/v1beta1 +kind: ClusterFlow +metadata: + name: dev-logs +spec: + match: + - select: + namespace_labels: + tenant: dev + globalOutputRefs: + - example +``` + +### Breaking change + +If you're using `hostTailer` or `eventTailer` and configured it through the helm chart's `logging.hostTailer` or `logging.eventTailer` option, note that now both components have an `enabled` flag. Set this flag to true if you used any of these components from the chart. For details, see the [pull request](https://github.com/kube-logging/logging-operator/pull/1576). + +### Go templates in metrics-probe label values + +You can now use go templates that resolve to destination information (`name`, `namespace`, `scope:local/global` and the `logging` name) in metrics-probe label values. For example: + +```yaml +apiVersion: logging.banzaicloud.io/v1beta1 +kind: SyslogNGClusterFlow +metadata: + name: all +spec: + match: {} + outputMetrics: + - key: custom_output + labels: + flow: all + # define your own label for output name + my-key-for-the-output: "{{ .Destination.Name }}" + # do not add the output_name label to the metric + output_name: "" + globalOutputRefs: + - http +``` + +### Other changes + +- You can set the maximal number of TCP connections Fluent Bit can open towards the aggregator to avoid overloading it. + + ```yaml + spec: + controlNamespace: default + fluentbit: + # The below network configurations allow fluentbit to retry indefinitely on a limited number of connections to avoid overloading the aggregator (syslog-ng in this case) + network: + maxWorkerConnections: 2 + syslogng_output: + Workers: 2 + Retry_Limit: "no_limits" + ``` + +- In the Loggging operator helm chart you can include extra manifests to deploy together with the chart using the `extraManifests` field similar to other popular charts. + ## Version 4.7 The following are the highlights and main changes of Logging operator 4.7. For a complete list of changes and bugfixes, see the [Logging operator 4.7 releases page](https://github.com/kube-logging/logging-operator/releases/tag/4.7.0) and the [Logging operator 4.7 release blog post](https://axoflow.com/logging-operator-4.7-release-announcement).