bottlerocket-os / bottlerocket-os/bottlerocket

Add support for kubelet's enableSystemLogHandler setting

Open
#4,881 0 comments 1 reaction 0 assignees View on GitHub
status/needs-triage type/enhancement
Dominant language
Rust
Stars
9.7k
Forks
586
Avg merge
1d 11h
Merged PRs (30d)
11

Description

**What I'd like:**
Kubernetes v1.36 stabilised the NodeLogQuery feature, which allows node level
service logs to be retrieved via the kubelet API using filters such as `pattern`,
`sinceTime`, and `tailLines`.

For this filtering to work, the kubelet must be configured with
`enableSystemLogHandler: true`. Without it, filtered queries are silently ignored
and only raw file serving is available.

There is currently no `settings.kubernetes` key in Bottlerocket to set this kubelet
flag. Attempting to add it directly to `[settings.kubernetes]` in userdata causes
apiclient to reject the entire userdata block at boot, preventing nodes from joining
the cluster.

This makes NodeLogQuery's filtering capabilities effectively unusable on Bottlerocket
nodes, even on Kubernetes 1.36 clusters where the feature is stable and enabled by
default.

- [Kubernetes NodeLogQuery docs](https://kubernetes.io/docs/concepts/cluster-administration/system-logs/#log-query)
- [KubeletConfiguration reference](https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)

**Any alternatives you've considered:**

Contributor guide

Open the contributing guide

Research direction

Start by tracing how Bottlerocket validates the [settings.kubernetes] userdata keys through apiclient and how those settings reach the kubelet configuration. Confirm the setting can be supplied without rejecting userdata, then verify that Kubernetes NodeLogQuery filters such as pattern, sinceTime, and tailLines work when enableSystemLogHandler is enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, linux
Domain
infrastructure, operating-systems
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.