-
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathdev.sh
More file actions
executable file
·76 lines (55 loc) · 2.31 KB
/
dev.sh
File metadata and controls
executable file
·76 lines (55 loc) · 2.31 KB
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
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/utils/utils.sh"
cleanup() {
echo ""
echo "Stopping k3d cluster to free resources..."
k3d cluster stop 5stack-dev
echo "Cluster stopped."
exit 0
}
trap cleanup SIGINT SIGTERM
checkout_repos
echo "Setup to use Kubernetes..."
setup_kustomize
check_dev_dependencies
CERT_DIR="overlays/dev/certs"
CERT_FILE="${CERT_DIR}/_wildcard.5stack.localhost+1.pem"
KEY_FILE="${CERT_DIR}/_wildcard.5stack.localhost+1-key.pem"
mkdir -p "$CERT_DIR"
if ! [ -f "$CERT_FILE" ]; then
mkcert -install
mkcert \
-cert-file "$CERT_FILE" \
-key-file "$KEY_FILE" \
"*.5stack.localhost" 5stack.localhost
fi
if k3d cluster list 5stack-dev 2>/dev/null | grep -q '5stack-dev'; then
echo "k3d cluster '5stack-dev' already exists."
if ! k3d cluster list 5stack-dev 2>/dev/null | grep -q 'running'; then
echo "Cluster is not running. Starting it..."
k3d cluster start 5stack-dev
fi
else
rm ~/.kube/5stack-dev
k3d cluster create 5stack-dev \
--k3s-arg "--disable=traefik@server:0" \
--kubeconfig-switch-context=false \
--kubeconfig-update-default=false \
--registry-create 5stack-dev-registry \
--port "80:80@loadbalancer" \
--port "443:443@loadbalancer"
fi
k3d kubeconfig merge 5stack-dev -o ~/.kube/5stack-dev
export KUBECONFIG=~/.kube/5stack-dev
kubectl config use-context k3d-5stack-dev
install_ingress_nginx
echo "Labeling node..."
kubectl label node $(kubectl get nodes -o jsonpath='{.items[0].metadata.name}') 5stack-api=true 5stack-hasura=true 5stack-minio=true 5stack-timescaledb=true 5stack-redis=true 5stack-typesense=true 5stack-web=true 5stack-dev-server=true
copy_config_or_secrets "overlays/local-secrets" "overlays/dev/secrets"
replace_rand32_in_env_files "overlays/dev/secrets"
setup_postgres_connection_string "overlays/dev/secrets/timescaledb-secrets.env"
setup_steam_web_api_key "overlays/dev/secrets/steam-secrets.env"
setup_fixtures "overlays/dev/config/api-config.env"
docker exec -it k3d-5stack-dev-server-0 sh -c "mkdir -p mkdir -p /opt/5stack/dev /opt/5stack/demos /opt/5stack/steamcmd /opt/5stack/serverfiles /opt/5stack/timescaledb /opt/5stack/typesense /opt/5stack/minio /opt/5stack/custom-plugins /var/lib/rancher/k3s/agent/pod-manifests && echo Directories created successfully"
tilt up