nixos/flannel: add kubernetes as storage backend (and fix test) #55649
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation for this change
Flannel can now use the kubernetes api as storage backend, instead of etcd. This is useful especially when deploying flannel with kubernetes where you - otherwise - either need to allow multi-user access to a single etcd instance or setup a secondary etcd instance just to hold flannel config. When configuring flannel with kubernetes as storage backend, you can isolate the access to etcd by authorizing only kube-apiserver.
backward compatibility: The default behavior is unchanged. Etcd will be used as storage backend, unless the new option
services.flannel.storageBackend
is set tokubernetes
.furthermore: the flannel test case fails on master. etcd refuses to startup, because it requires ip-adresses configured as listening adresses in order to determine which interfaces to bind to. Fixed that as part of this PR.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)