55 lines
1.6 KiB
Bash
Executable File
55 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# deploy/kubernetes/atst-update-deploy.sh: Resets the sample data on the target
|
|
# environment.
|
|
|
|
set -o pipefail
|
|
set -o errexit
|
|
set -o nounset
|
|
# set -o xtrace
|
|
|
|
# Config
|
|
MAX_DEPLOY_WAIT='300'
|
|
|
|
if [[ $# -eq 0 ]]; then
|
|
NAMESPACE=atat
|
|
else
|
|
NAMESPACE=$1
|
|
fi
|
|
|
|
# Remove the K8S CA file when the script exits
|
|
function cleanup {
|
|
printf "Cleaning up...\n"
|
|
rm -vf "${HOME}/k8s_ca.crt"
|
|
printf "Cleaning done."
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
# Decode and save the K8S CA cert
|
|
echo "${K8S_CA_CRT}" | base64 -d - > "${HOME}/k8s_ca.crt"
|
|
|
|
# Setup the local kubectl client
|
|
kubectl config set-context atst-deployer \
|
|
--cluster=atat-cluster \
|
|
--user=atat-deployer \
|
|
--namespace=${NAMESPACE}
|
|
|
|
kubectl config set-cluster atat-cluster \
|
|
--embed-certs=true \
|
|
--server="${K8S_ENDPOINT}" \
|
|
--certificate-authority="${HOME}/k8s_ca.crt"
|
|
|
|
kubectl config set-credentials atat-deployer --token="$(echo ${K8S_USER_TOKEN} | base64 -d -)"
|
|
|
|
kubectl config use-context atst-deployer
|
|
kubectl config current-context
|
|
|
|
# we only need to run these commands against one existing pod
|
|
ATST_POD=$(kubectl -n ${NAMESPACE} get pods -l app=atst -o custom-columns=NAME:.metadata.name --no-headers | sed -n 1p)
|
|
# echo "kubectl -n ${NAMESPACE} exec ${ATST_POD} -- pipenv run python script/remove_sample_data.py"
|
|
echo "removing sample data on pod ${ATST_POD}"
|
|
kubectl -n ${NAMESPACE} exec ${ATST_POD} -- pipenv run python script/remove_sample_data.py
|
|
echo "seeding sample data on pod ${ATST_POD}"
|
|
kubectl -n ${NAMESPACE} exec ${ATST_POD} -- pipenv run python script/seed_sample.py
|
|
|