-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathinit.sh
executable file
·66 lines (56 loc) · 1.64 KB
/
init.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env bash
set -e
if [[ -z "$LICENSE_KEY" || -z "$DOCKER_TOKEN" ]]; then
echo "Either LICENSE_KEY or DOCKER_TOKEN was not provided"
exit 1
fi
# Authenticate user as sudoer at the start of the script
sudo echo ''
# Install required tools
tools=("minikube" "helm")
for tool in "${tools[@]}"; do
if ! command -v "$tool" &>/dev/null; then
brew install "$tool"
fi
done
# Provision minikube
if ! minikube status; then
minikube start --cpus 4 --memory 4g
fi
# Enable addons
addons=("ingress" "ingress-dns" "metrics-server" "dashboard")
for addon in "${addons[@]}"; do
if minikube addons list | grep -E "$addon.*disabled"; then
minikube addons enable "$addon"
fi
done
# Create dns configuration for `ingress-dns` addon
if ! test -f /etc/resolver/minikube-test; then
sudo mkdir -p /etc/resolver
sudo bash -c "cat << EOF > /etc/resolver/minikube-test
domain test
nameserver $(minikube ip)
search_order 1
timeout 5
EOF"
fi
# Create imagePullSecret for CKEditor container registry
if ! kubectl get secret docker-cke-cs-com; then
kubectl create secret docker-registry docker-cke-cs-com \
--docker-username "cs" \
--docker-server "https://docker.cke-cs.com" \
--docker-password="$DOCKER_TOKEN"
fi
# Add bitnami repository to helm
if ! helm repo list | grep bitnami; then
helm repo add bitnami https://charts.bitnami.com/bitnami
fi
# Install helm chart in minikube cluster
helm repo update
helm dependency update
echo "Running deployment of ckeditor-cs stack, this may take a while..."
helm upgrade ckeditor-cs . \
--install \
--set ckeditor-cs.server.secret.data.LICENSE_KEY="$LICENSE_KEY" \
--wait \
--timeout=10m