30 lines
1.1 KiB
Bash
Executable File
30 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
INFRA_DIR="$(cd "$(dirname "$0")/infra" && pwd)"
|
|
export KUBECONFIG="${KUBECONFIG:-/etc/rancher/k3s/k3s.yaml}"
|
|
|
|
echo envoy + ratelimit
|
|
kubectl apply -f "${INFRA_DIR}/envoy.yaml"
|
|
kubectl apply -f "${INFRA_DIR}/ratelimit.yaml"
|
|
kubectl -n juwan wait --for=condition=Ready pod -l app=envoy-gateway --timeout=120s || true
|
|
kubectl -n juwan wait --for=condition=Ready pod -l "app in (ratelimit,rl-redis)" --timeout=120s || true
|
|
|
|
echo redis
|
|
kubectl apply -f "${INFRA_DIR}/redis.yaml"
|
|
kubectl -n juwan wait --for=jsonpath='{.status.readyReplicas}'=1 redisreplication --all --timeout=600s || true
|
|
|
|
echo postgres
|
|
kubectl apply -f "${INFRA_DIR}/postgres.yaml"
|
|
kubectl -n juwan wait --for=condition=Ready cluster --all --timeout=900s || true
|
|
|
|
echo mongo
|
|
kubectl apply -f "${INFRA_DIR}/mongo.yaml"
|
|
kubectl -n juwan wait --for=jsonpath='{.status.phase}'=Running mongodbcommunity/chat-mongodb --timeout=600s || true
|
|
|
|
echo kafka
|
|
kubectl apply -f "${INFRA_DIR}/kafka.yaml"
|
|
kubectl -n kafka wait --for=condition=Ready kafka/juwan-kafka --timeout=900s || true
|
|
|
|
kubectl get pods -A
|