Skip to content

Instantly share code, notes, and snippets.

@lazypower
Created March 23, 2017 21:21
Show Gist options
  • Save lazypower/23032e34e93e073fea4c71d3d3c0067f to your computer and use it in GitHub Desktop.
Save lazypower/23032e34e93e073fea4c71d3d3c0067f to your computer and use it in GitHub Desktop.
#!/bin/bash
if [ -z $1 ]; then
echo "No model specified using `juju switch`"
else
juju add-model $1
fi
juju model-defaults enable-os-refresh-update=false
juju model-defaults enable-os-upgrade=false
echo -n "Rebuild from layers? [y/n]: "
read USER_INPUT
if [ "${USER_INPUT}" == "y" ]; then
WORKDIR=$PWD
cd $LAYER_PATH/easyrsa
charm build -r
cd $LAYER_PATH/flannel
charm build -r --no-local-layers
cd $LAYER_PATH/etcd
charm build -r
cd $LAYER_PATH/kubernetes/cluster/juju/layers/kubeapi-load-balancer
charm build -r
cd $LAYER_PATH/kubernetes/cluster/juju/layers/kubernetes-master
charm build -r
cd $LAYER_PATH/kubernetes/cluster/juju/layers/kubernetes-worker
charm build -r
cd $WORK_DIR
fi
echo -n "Deploy local Kubernetes charms? [y/n]: "
read USER_INPUT
if [ "${USER_INPUT}" == "y" ]; then
juju deploy $JUJU_REPOSITORY/builds/kubernetes-master
juju deploy $JUJU_REPOSITORY/builds/kubernetes-worker
juju deploy $JUJU_REPOSITORY/builds/etcd
juju deploy $JUJU_REPOSITORY/builds/flannel
juju deploy $JUJU_REPOSITORY/builds/kubeapi-load-balancer
juju deploy $JUJU_REPOSITORY/builds/easyrsa
fi
echo -n "Deploy conformance testing? [y/n]: "
read USER_INPUT
if [ "${USER_INPUT}" == "y" ]; then
juju deploy $JUJU_REPOSITORY/builds/kubernetes-e2e
CONFORMANCE_TEST=1
fi
echo -n "Attach resources? [y/n]: "
read USER_INPUT
if [ "${USER_INPUT}" == "y" ]; then
echo "Attaching Resources...."
juju attach easyrsa easyrsa=~/Downloads/resources/EasyRSA-3.0.1.tgz
juju attach flannel flannel=~/Downloads/resources/flannel-v0.6.1-amd64.tar.gz
juju attach kubernetes-master kubernetes=~/Downloads/resources/kubernetes-master-v1.4.5-amd64.tar.gz
juju attach kubernetes-worker kubernetes=~/Downloads/resources/kubernetes-worker-v1.4.5-amd64.tar.gz
if [ "${CONFORMANCE_TEST}" == "1" ]; then
juju attach kubernetes-e2e e2e_amd64=~/Downloads/resources/e2e-amd64-v1.4.5-amd64.tar.gz
fi
fi
echo "Converging Relations..."
juju add-relation kubernetes-master:kube-api-endpoint kubeapi-load-balancer:apiserver
juju add-relation kubernetes-master:loadbalancer kubeapi-load-balancer:loadbalancer
juju add-relation kubernetes-master:cluster-dns kubernetes-worker:kube-dns
juju add-relation kubernetes-master easyrsa
juju add-relation kubernetes-master etcd
juju add-relation kubernetes-master flannel
juju add-relation kubernetes-worker easyrsa
juju add-relation kubernetes-worker flannel
juju add-relation kubernetes-worker kubeapi-load-balancer
juju add-relation flannel etcd
juju add-relation kubeapi-load-balancer easyrsa
juju expose kubeapi-load-balancer
if [ "${CONFORMANCE_TEST}" == "1" ]; then
juju add-relation kubernetes-e2e easyrsa
juju add-relation kubernetes-e2e kubernetes-master
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment