From eb7eff8ad7aa6795af93efed34f20fbbaa3e2a60 Mon Sep 17 00:00:00 2001 From: David Scott Date: Fri, 10 Nov 2017 11:33:24 +0000 Subject: [PATCH] kubernetes: allow yaml to be provided via metadata Previously the network policy yaml had to be hard-coded in the image. This patch allows the policy to be added via the metadata directories: - /var/config/cni/etc/net.d/ - /var/config/kube-system.init/ Signed-off-by: David Scott --- projects/kubernetes/kubernetes/kubeadm-init.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/projects/kubernetes/kubernetes/kubeadm-init.sh b/projects/kubernetes/kubernetes/kubeadm-init.sh index 61530c671..c01fe26db 100755 --- a/projects/kubernetes/kubernetes/kubeadm-init.sh +++ b/projects/kubernetes/kubernetes/kubeadm-init.sh @@ -10,7 +10,13 @@ if [ -f /etc/kubeadm/kubeadm.yaml ]; then else kubeadm init --skip-preflight-checks --kubernetes-version @KUBERNETES_VERSION@ $@ fi -for i in /etc/kubeadm/kube-system.init/*.yaml ; do + +if [ -d /var/config/cni/etc/net.d ]; then + cp /var/config/cni/etc/net.d/* /var/lib/cni/etc/net.d/ +fi +# sorting by basename relies on the dirnames having the same number of directories +YAML=$(ls -1 /var/config/kube-system.init/*.yaml /etc/kubeadm/kube-system.init/*.yaml 2>/dev/null | sort --field-separator=/ --key=5) +for i in ${YAML}; do n=$(basename "$i") if [ -e "$i" ] ; then if [ ! -s "$i" ] ; then # ignore zero sized files