fix(kube): use disable+ so local-storage doesn't clobber servicelb/traefik disable - #6232
fix(kube): use disable+ so local-storage doesn't clobber servicelb/traefik disable#6232naiming-zededa wants to merge 1 commit into
Conversation
|
Claude finished @rene's task in 56s —— View job Code Review
Verdict: The fix is correct. ✅ Analysis The base disable:
- servicelb
- traefikThe I checked the other drop-ins ( Minor note
Nothing blocking — small, well-scoped, correctly-reasoned fix. |
| disable: local-storage | ||
| # | ||
| # "+" appends to the base config.yaml's "disable" list (servicelb, traefik) | ||
| # instead of replacing it: https://docs.k3s.io/installation/configuration#value-merge-behavior |
There was a problem hiding this comment.
I think this comment is overkill, disable+ is intuitive and it's even pointing to a documentation file, something like appends to the base config.yaml's "disable" list is more than enough....
There was a problem hiding this comment.
Sure. updated.
There was a problem hiding this comment.
Hey @naiming-zededa :) I thought we wanted to use local-storage for single node eve-k zks mode. Is that no longer the case ?
There was a problem hiding this comment.
Hi @zedi-pramodh , EVE is truely a community driven open-source project :-)
I think it still is, there is a section during making the k3s config file:
Config_cluster_type_get
cluster_type=$?
if [ "$cluster_type" -eq "$CLUSTER_TYPE_UNSPECIFIED" ]; then
if ! Registration_Applied; then
cp "${KUBE_MANIFESTS_SRC_DIR}/${K3S_CONFIG_FILE_DISABLE_LOCAL_PATH}" "${K3S_CONFIG_DIR}/${K3S_CONFIG_FILE_DISABLE_LOCAL_PATH}"
else
rm "${K3S_CONFIG_DIR}/${K3S_CONFIG_FILE_DISABLE_LOCAL_PATH}"
fi
There was a problem hiding this comment.
@naiming-zededa my question really is why even disable local-storage ? It will be useful for single node eve-k for ZKS and also in ENC mode it can just stay there. I did not exactly remember why we disabled it earlier !! sorry.
There was a problem hiding this comment.
@zedi-pramodh my guess is that, we used to always disable, but later on (5 months ago), @andrewd-zededa added this code to allow the ZKS use case, Andrew can comment more:
commit 82777e40d3fd3a0fe55c1be07a1882cb3aa9d89f
Author: Andrew Durbin <andrewd@zededa.com>
Date: Wed Feb 18 16:38:46 2026 -0700
Enable local-path storage for all cluster types.
Some K3S_BASE mode use cases require local-path storage,
for simplicity just enable it for all modes.
Single node and CLUSTER_TYPE_REPLICATED_STORAGE continue
to define all PVCs as longhorn.
CLUSTER_TYPE_K3S_BASE will now allow for local volumes.
Local-path storage is configured in the k3s config.yaml
base config file to place all volumes in
/persist/vault/volumes by default.
Signed-off-by: Andrew Durbin <andrewd@zededa.com>
…aefik disable k3s only appends to a "disable" list across config.yaml.d files when the key uses the "+" suffix; a bare "disable: local-storage" in 03-enc-disable-local-path.yaml was replacing the base config.yaml's "disable: [servicelb, traefik]" instead of adding to it, silently re-enabling k3s's built-in servicelb on every fresh cluster-init. see: https://docs.k3s.io/installation/configuration#value-merge-behavior Signed-off-by: naiming-zededa <naiming@zededa.com>
b560cf5 to
79b70ce
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #6232 +/- ##
==========================================
+ Coverage 22.93% 23.31% +0.37%
==========================================
Files 510 520 +10
Lines 93473 95189 +1716
==========================================
+ Hits 21440 22193 +753
- Misses 70292 71072 +780
- Partials 1741 1924 +183 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Description
k3s only appends to a "disable" list across config.yaml.d files when
the key uses the "+" suffix; a bare "disable: local-storage" in
03-enc-disable-local-path.yaml was replacing the base config.yaml's
"disable: [servicelb, traefik]" instead of adding to it, silently
re-enabling k3s's built-in servicelb on every fresh cluster-init.
see:
https://docs.k3s.io/installation/configuration#value-merge-behavior
PR dependencies
How to test and validate this PR
with this patch, we should see the svclb and traefik disabled in pods and svc.
Changelog notes
fix(kube): use disable+ so local-storage doesn't clobber servicelb/traefik disable
PR Backports
Checklist
For backport PRs (remove it if it's not a backport):
And the last but not least:
check them.
Please, check the boxes above after submitting the PR in interactive mode.