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
 | |
| 
 |