Created
February 26, 2019 22:16
-
-
Save alexec/2f37b30a59dfc774c9cbc583918ab963 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /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