#!/usr/bin/env bash

LABEL=${1:-local-garden}

SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"

IMAGE=quay.io/coreos/etcd:v3.3.10
HTTPS_PEER_PORT=12380
HTTP_PEER_PORT=12381
HTTPS_ETCD_PORT=12379
HTTP_ETCD_PORT=32739
CLUSTERNAME=gardener-etcd

# Change this value to the desired storage location
ETCD_DATA_DIR="$PWD/dev/gardener-etcd/kubernetes"

PORTS="-p $PORT:$PORT -p $ETCDPORT:$ETCDPORT"
MOUNTS="-v $SCRIPTPATH/certificates/certs:/certs -v $SCRIPTPATH/certificates/keys:/keys -v $ETCD_DATA_DIR:/etcd-data"


echo "Starting gardener-dev kube-etcd cluster!"
docker run -d --name etcd -l $LABEL --network gardener-dev --rm  $MOUNTS $IMAGE etcd --name $CLUSTERNAME  \
 --listen-client-urls "https://0.0.0.0:${HTTPS_ETCD_PORT},http://0.0.0.0:${HTTP_ETCD_PORT}" \
 --advertise-client-urls "https://0.0.0.0:${HTTPS_ETCD_PORT},http://0.0.0.0:3${HTTP_ETCD_PORT}" \
 --listen-peer-urls "https://0.0.0.0:${HTTPS_PEER_PORT},http://0.0.0.0:${HTTP_PEER_PORT}" \
 --trusted-ca-file "certs/ca.crt" \
 --peer-trusted-ca-file "certs/ca.crt" \
 --key-file "keys/kube-etcd.key" \
 --cert-file "certs/kube-etcd.crt" \
 --peer-key-file "keys/kube-etcd-peer.key" \
 --peer-cert-file "certs/kube-etcd-peer.crt" \
 --data-dir="/etcd-data"
