network-generator: pick up .netdev/.link/.network configuration via credentials

To me this is the last major basic functionality that couldn't be
configured via credentials: the network.

We do not invent any new format for this, but simply copy relevant creds
1:1 into /run/systemd/network/ to open up the full functionality of
networkd to VM hosts.
This commit is contained in:
Lennart Poettering
2024-01-08 12:59:08 +01:00
parent 96f1f03c03
commit 1a30285590
5 changed files with 167 additions and 2 deletions
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: LGPL-2.1-or-later
# shellcheck disable=SC2016
set -eux
set -o pipefail
at_exit() {
rm -f /run/credstore/network.network.50-testme
rm -f /run/systemd/system/systemd-network-generator.service.d/50-testme.conf
}
trap at_exit EXIT
mkdir -p /run/credstore
cat > /run/credstore/network.network.50-testme <<EOF
[Match]
Property=IDONTEXIST
EOF
systemctl edit systemd-network-generator.service --stdin --drop-in=50-testme.conf <<EOF
[Service]
LoadCredential=network.network.50-testme
EOF
systemctl restart systemd-network-generator
test -f /run/systemd/network/50-testme.network