ansible-role-k8s-calico/bin/update.sh
2021-03-02 14:57:06 +01:00

31 lines
2 KiB
Bash
Executable file

#!/bin/bash
curl https://docs.projectcalico.org/manifests/calico.yaml -O
kubernetes-split-yaml calico.yaml > generated.log
mv generated/*.yaml files/
rmdir generated
echo -e '---\ncalico_files:' > vars/calico-files.yaml
cat generated.log | while read LIGNE; do if [ $(echo "${LIGNE}" | grep -c ^File) -eq 1 ]; then echo -n "${LIGNE} "; else echo "${LIGNE}"; fi; done | grep ^File | sort -V | sed 's|.*\(generated/\)\(.*\.yaml\)| - "\2"|' >> vars/calico-files.yaml
rm -f generated.log calico.yaml
curl https://docs.projectcalico.org/manifests/calicoctl.yaml -O
kubernetes-split-yaml calicoctl.yaml > generated.log
mv generated/*.yaml files/
rmdir generated
cat generated.log | while read LIGNE; do if [ $(echo "${LIGNE}" | grep -c ^File) -eq 1 ]; then echo -n "${LIGNE} "; else echo "${LIGNE}"; fi; done | grep ^File | sort -V | sed 's|.*\(generated/\)\(.*\.yaml\)| - "\2"|' >> vars/calico-files.yaml
rm -f generated.log calicoctl.yaml
# Configure the pod IP range
line_nb=$(grep -n CALICO_IPV4POOL_CIDR files/calico-node-DaemonSet.yaml | cut -d: -f1)
sed "$line_nb,$[$line_nb+1] s/# //" -i files/calico-node-DaemonSet.yaml
# Switch to VxLan
sed "/calico_backend:/ s/bird/vxlan/" -i files/calico-config-ConfigMap.yaml
line_nb=$(grep -n CALICO_IPV4POOL_IPIP files/calico-node-DaemonSet.yaml | cut -d: -f1)
sed "$line_nb,$[$line_nb+1] s/\(value: \).*/\1\"Never\"/" -i files/calico-node-DaemonSet.yaml
line_nb=$(grep -n CALICO_IPV4POOL_VXLAN files/calico-node-DaemonSet.yaml | cut -d: -f1)
sed "$line_nb,$[$line_nb+1] s/\(value: \).*/\1\"Always\"/" -i files/calico-node-DaemonSet.yaml
line_nb=$(grep -n CALICO_IPV4POOL_CIDR files/calico-node-DaemonSet.yaml | cut -d: -f1)
sed "$line_nb,$[$line_nb+1] s|\(value: \).*|\1\"10.244.0.0/16\"|" -i files/calico-node-DaemonSet.yaml
line_nb=$(grep -n FELIX_HEALTHENABLED files/calico-node-DaemonSet.yaml | cut -d: -f1)
sed "$[${line_nb}+2]i\ - name: FELIX_IPTABLESBACKEND\n value: \"Auto\"" -i files/calico-node-DaemonSet.yaml
sed "/-bird-/ s/\(- -bird-.*\)/# \1/" -i files/calico-node-DaemonSet.yaml