promenade/promenade/templates/genesis/etc/kubernetes/kubelet/manifests/armada-loader.yaml

61 lines
1.6 KiB
YAML

---
apiVersion: v1
kind: Pod
metadata:
name: armada-loader
namespace: kube-system
labels:
app: promenade
component: armada-loader
spec:
hostNetwork: true
containers:
- name: loader
image: {{ config['Versions']['images']['armada'] }}
imagePullPolicy: IfNotPresent
command:
- /bin/bash
- -c
- |-
set -x
mkdir -p /root/.kube
cp /etc/kubernetes/armada-loader/kubeconfig.yaml /root/.kube/config
cd /etc/kubernetes/armada-loader/assets
if [ -s promenade-armada.yaml ]; then
while true; do
sleep 10
if armada --debug apply --tiller-host 127.0.0.1 promenade-armada.yaml ; then
break
fi
done
fi
if [ -s external-armada.yaml ]; then
while true; do
sleep 10
if armada --debug apply --tiller-host 127.0.0.1 external-armada.yaml ; then
break
fi
done
fi
rm -rf /etc/kubernetes/kubelet/manifests/armada-loader.yaml
# Sleep so that kubelet doesn't restart this pod before it kills it
sleep 10000
volumeMounts:
- name: config
mountPath: /etc/kubernetes/armada-loader
readOnly: true
- name: manifests
mountPath: /etc/kubernetes/kubelet/manifests
volumes:
- name: config
hostPath:
path: /etc/kubernetes/armada-loader
- name: manifests
hostPath:
path: /etc/kubernetes/kubelet/manifests