|
#!/bin/bash -i
|
|
|
|
# Copies localhost's ~/.kube/config file into the container and swap out localhost
|
|
# for host.docker.internal whenever a new shell starts to keep them in sync.
|
|
if [ "$SYNC_LOCALHOST_KUBECONFIG" = "true" ] && [ -d "/usr/local/share/kube-localhost" ]; then
|
|
mkdir -p $HOME/.kube
|
|
sudo cp -r /usr/local/share/kube-localhost/* $HOME/.kube
|
|
sudo chown -R $(id -u) $HOME/.kube
|
|
sed -i -e "s/localhost/host.docker.internal/g" $HOME/.kube/config
|
|
sed -i -e "s/127.0.0.1/host.docker.internal/g" $HOME/.kube/config
|
|
|
|
# If .minikube was mounted, set up client cert/key
|
|
if [ -d "/usr/local/share/minikube-localhost" ]; then
|
|
mkdir -p $HOME/.minikube
|
|
sudo cp -r /usr/local/share/minikube-localhost/ca.crt $HOME/.minikube
|
|
# Location varies between versions of minikube
|
|
if [ -f "/usr/local/share/minikube-localhost/client.crt" ]; then
|
|
sudo cp -r /usr/local/share/minikube-localhost/client.crt $HOME/.minikube
|
|
sudo cp -r /usr/local/share/minikube-localhost/client.key $HOME/.minikube
|
|
elif [ -f "/usr/local/share/minikube-localhost/profiles/minikube/client.crt" ]; then
|
|
sudo cp -r /usr/local/share/minikube-localhost/profiles/minikube/client.crt $HOME/.minikube
|
|
sudo cp -r /usr/local/share/minikube-localhost/profiles/minikube/client.key $HOME/.minikube
|
|
fi
|
|
sudo chown -R $(id -u) $HOME/.minikube
|
|
|
|
# Point .kube/config to the correct locaiton of the certs
|
|
sed -i -r "s|(\s*certificate-authority:\s).*|\\1$HOME\/.minikube\/ca.crt|g" $HOME/.kube/config
|
|
sed -i -r "s|(\s*client-certificate:\s).*|\\1$HOME\/.minikube\/client.crt|g" $HOME/.kube/config
|
|
sed -i -r "s|(\s*client-key:\s).*|\\1$HOME\/.minikube\/client.key|g" $HOME/.kube/config
|
|
fi
|
|
fi
|