bottlerocket-os / bottlerocket-os/bottlerocket
Add support for kubelet's enableSystemLogHandler setting
- 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
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