Skip to main content

Fluent Bit Upgrade

This guide describes how to upgrade the Fluent Bit component used by AI/Run CodeMie.

It is based on the manual deployment procedure for the observability stack and focuses on the changes required for an in-place upgrade of an existing installation.

Upgrade planning checklist

Before proceeding, make sure that:

  • you know the currently deployed Fluent Bit chart, application, and image versions
  • you have selected the target Fluent Bit and Helm chart versions
  • you have reviewed the upstream release notes for breaking changes between your current and target versions
  • Elasticsearch is healthy and reachable from Fluent Bit
  • you have tested the upgrade in a non-production environment
  • you have a rollback plan in case the new version introduces parser, filter, or output incompatibilities

What typically changes during the upgrade

The exact files depend on your repository layout, but in codemie-helm-charts the upgrade usually requires updating the following values:

FileParameterDescription
fluent-bit/Chart.yamlversionHelm chart package version for this local chart; used to version the chart artifact.
fluent-bit/Chart.yamlappVersionInformational application version shown in Helm metadata; does not control upgrade logic.
fluent-bit/Chart.yamldependency fluent-bit.versionVersion or version range constraint for the dependent upstream fluent-bit chart.
fluent-bit/values.yamlfluent-bit.image.tagValue override passed to templates to select the Fluent Bit container image tag.
override values filesenvironment-specific image or settingsAdditional per-environment value overrides merged on top of base values during deployment.

Upgrade procedure

1. Record the current version

Before making changes, capture the currently deployed version so you can validate the result or roll back if needed.

helm list -n fluentbit
helm status fluent-bit -n fluentbit
kubectl get pods -n fluentbit -o jsonpath='{range .items[*]}{.metadata.name}{" => "}{range .spec.containers[*]}{.image}{" "}{end}{"\n"}{end}'

2. Remove old dependency artifacts

Before upgrading, remove the existing lock file and vendored chart package so Helm can resolve the updated dependency version cleanly.

rm -f fluent-bit/Chart.lock
rm -rf fluent-bit/charts/

3. Update fluent-bit/Chart.yaml

Set the target chart and application versions.

apiVersion: v2
name: fluent-bit
description: A Helm chart for Fluent-Bit

type: application
version: <TARGET_CHART_VERSION>
appVersion: "<TARGET_APP_VERSION>"

dependencies:
- name: fluent-bit
  version: <TARGET_CHART_VERSION>
  repository: https://fluent.github.io/helm-charts

Replace the placeholders with the exact versions you want to deploy. In most cases, the dependency version should match the chart version you intend to consume from the upstream Fluent Bit Helm repository.

4. Update fluent-bit/values.yaml

Set the image tag override so the deployment uses the target Fluent Bit image version:

fluent-bit:
testFramework:
  enabled: false

image:
  tag: <TARGET_IMAGE_TAG>

4. Upgrade the Helm release

Run the upgrade from the root of the codemie-helm-charts repository:

helm upgrade --install fluent-bit fluent-bit/. \
--namespace fluentbit \
--values fluent-bit/values.yaml \
--wait \
--timeout 900s \
--dependency-update

Post-upgrade verification

After the upgrade completes, verify the deployment:

helm list -n fluentbit
helm status fluent-bit -n fluentbit
kubectl get daemonset fluent-bit -n fluentbit
kubectl get pods -n fluentbit
kubectl logs -n fluentbit daemonset/fluent-bit --tail=50

Confirm that the running image tag is correct:

kubectl get pods -n fluentbit -o jsonpath='{range .items[*]}{.metadata.name}{" => "}{range .spec.containers[*]}{.image}{" "}{end}{"\n"}{end}'

Validate that new logs continue to arrive in Elasticsearch and that there are no parser or output errors in the Fluent Bit logs.

To verify this end to end, create a test assistant in Codemie and trigger a short interaction so the platform generates fresh application logs and related telemetry. Then open Kibana and confirm that the new records are visible for the relevant services and that all expected logs and metrics for that interaction are present.

Notes

  • Some upgrades may require additional configuration changes beyond version bumps if upstream defaults changed.
  • Kibana or dashboard changes are usually not required unless the upgraded Fluent Bit version changes the shape of indexed records.