blob: d1a73275c3d5ef3fd63e4442d6f10503b818e4ad [file] [log] [blame]
This is a work in progress.
Eventually, this repo will be self-deploying, but it is currently in
the process of being bootstrapped.
Manual steps for bootstrapping:
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole=cluster-admin \
--user=$(gcloud config get-value core/account)
# Install argo
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
# This gets the name of the argo pod
kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o name | cut -d'/' -f 2
# Use the IP address of the load balancer
argocd login $IP
# Update the admin password (by default, it's the name of the pod above)
argocd account update-password
# Install zookeeper
argocd app create zookeeper \
--repo http://storage.googleapis.com/kubernetes-charts-incubator \
--helm-chart zookeeper \
--revision 2.1.3 \
--dest-server https://kubernetes.default.svc \
--dest-namespace zookeeper
argocd app sync zookeeper
# Install certmanager
kubectl create namespace cert-manager
kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.12.0/cert-manager.yaml
kubectl apply -n cert-manager -f letsencrypt.yaml
# Install Zuul
gcloud compute addresses create zuul-static-ip --global
kubectl create namespace zuul
kubectl create -n zuul secret generic nodepool-config --from-file=./nodepool/nodepool.yaml --from-file=./nodepool/clouds.yaml
kubectl create -n zuul secret generic zuul-tenant-config --from-file=./zuul/main.yaml
kubectl apply -n argocd -f nodepool-app.yaml
kubectl apply -n argocd -f zuul-app.yaml
kubectl apply -n zuul -f ingress.yaml