Skip to content

Instantly share code, notes, and snippets.

@alexec
Created February 26, 2019 22:16
Show Gist options
  • Save alexec/2f37b30a59dfc774c9cbc583918ab963 to your computer and use it in GitHub Desktop.
Save alexec/2f37b30a59dfc774c9cbc583918ab963 to your computer and use it in GitHub Desktop.
#! /bin/sh
set -eu
export ARGOCD_UI_PATH=$ARGOCD_PATH/../argo-cd-ui
[ ! -d $ARGOCD_PATH ] && echo "$ARGOCD_PATH does not exist" >&2 && exit 1
[ ! -d $ARGOCD_UI_PATH ] && echo "$ARGOCD_UI_PATH does not exist" >&2 && exit 1
scale() {
set -eu
kubectl -n argocd scale deployment.extensions/argocd-application-controller --replicas $1
kubectl -n argocd scale deployment.extensions/argocd-dex-server --replicas $1
kubectl -n argocd scale deployment.extensions/argocd-repo-server --replicas $1
kubectl -n argocd scale deployment.extensions/argocd-server --replicas $1
kubectl -n argocd scale deployment.extensions/argocd-redis --replicas $1
}
git_nuke() {
set -ui
cd $1
git stash
git reset HEAD --hard
git checkout master
git pull
}
start_port_forward() {
set -eu
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
kubectl port-forward svc/argocd-server -n argocd 8080:80
}
killall goreman || true
for CMD in $* ; do
case $CMD in
nuke)
git_nuke $ARGOCD_UI_PATH
git_nuke $ARGOCD_PATH
kubens argocd
cd $ARGOCD_PATH
kubectl apply --force -f manifests/install.yaml
scale 1
;;
local)
cd $ARGOCD_PATH
kubens argocd
kubectl apply --force -f manifests/install.yaml
scale 0
goreman start
;;
docker)
scale 0 ;# scale down to delete any pods
cd $ARGOCD_PATH
make image
docker push $IMAGE_NAMESPACE/argocd:latest &
cd $ARGOCD_UI_PATH
yarn build
yarn docker
docker push $IMAGE_NAMESPACE/argocd-ui:latest
# docker pull argoproj/argocd-ui:latest
# docker tag argoproj/argocd-ui:latest $IMAGE_NAMESPACE/argocd-ui:latest
# docker push $IMAGE_NAMESPACE/argocd-ui:latest
wait
cd $ARGOCD_PATH
open https://cloud.docker.com/repository/list
make manifests
kubectl -n argocd apply --force -f manifests/install.yaml
scale 1
;;
down)
scale 0
;;
up)
scale 1
;;
pf|port-forward)
open http://localhost:8080
start_port_forward
;;
*)
echo "unknown command $CMD" >&2
exit 1
;;
esac
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment