[Unit]
Description=Kubic Initialization Container
After=crio.service docker.service
# Check if the kubic-init.yaml configuration file exists
# if it doesn't, just skip this service...
ConditionPathExists=/etc/kubic/kubic-init.yaml
[Service]
TimeoutStartSec=0
RestartSec=30
Restart=always
SyslogIdentifier=kubic-init
# TODO: see https://www.freedesktop.org/software/systemd/man/systemd.unit.html#OnFailure=
# OnFailure=kubic-init-reset.service
# Define configuration files and don't start if they don't exist
Environment="KUBECONFIG=/etc/kubernetes/admin.conf"
Environment="KUBIC_INIT_CFG=/etc/kubic/kubic-init.yaml"
EnvironmentFile=-/etc/sysconfig/kubic-init
ExecStartPre=-/bin/sh -c '/usr/bin/podman stop kubic-init >/dev/null 2>&1'
ExecStartPre=-/bin/sh -c '/usr/bin/podman rm kubic-init >/dev/null 2>&1'
ExecStart=/bin/sh -c '${KUBIC_INIT_RUNNER} run --rm --privileged=true --net=host --security-opt seccomp:unconfined --cap-add=SYS_ADMIN --name=kubic-init -v /etc/kubic:/etc/kubic -v /etc/kubernetes:/etc/kubernetes -v /usr/bin/kubelet:/usr/bin/kubelet:ro -v /var/lib/kubelet:/var/lib/kubelet -v /etc/cni/net.d:/etc/cni/net.d -v /var/lib/etcd:/var/lib/etcd -v /var/run/dbus:/var/run/dbus -v /usr/lib/systemd:/usr/lib/systemd:ro -v /run/systemd:/run/systemd:ro -v /var/run/crio:/var/run/crio -v /sys/fs/cgroup:/sys/fs/cgroup -v /lib/modules:/lib/modules:ro localhost/kubic-project/kubic-init:latest kubic-init bootstrap --v 3 --config=/etc/kubic/kubic-init.yaml'
[Install]
WantedBy=multi-user.target
Comments