#!/bin/bash -ex

function cleanup() {
    rm -f "/etc/cni/net.d/10-kuryr.conf"
    rm -f "/opt/cni/bin/kuryr-cni"
    rm -rf "/opt/cni/bin/kuryr-venv"
    rm -rf /etc/kuryr
}

function deploy() {
    local serviceaccount_path
    serviceaccount_path="/var/run/secrets/kubernetes.io/serviceaccount"

    mkdir -p /etc/kuryr
    cp "${serviceaccount_path}/token" /etc/kuryr/token
    cp "${serviceaccount_path}/ca.crt" /etc/kuryr/ca.crt

    cp /opt/kuryr-kubernetes/etc/cni/net.d/* /etc/cni/net.d
    cp -r /kuryr-kubernetes "/opt/cni/bin/kuryr-venv"
    cat > /kuryr-cni << EOF
#!/bin/bash
${CNI_BIN_DIR_PATH}/kuryr-venv/bin/kuryr-cni
EOF
    cp /kuryr-cni "/opt/cni/bin/kuryr-cni"
    chmod +x /opt/cni/bin/kuryr-cni
    cat /tmp/kuryr/* > /etc/kuryr/kuryr.conf
}

cleanup
deploy

# Start CNI daemon if required
if [ "$CNI_DAEMON" == "True" ]; then
    /kuryr-kubernetes/bin/kuryr-daemon --config-file /etc/kuryr/kuryr.conf
else
    sleep infinity
fi
