mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Add Kubernetes cluster installation script to Kubernetes deployment
This commit is contained in:
parent
1ba1f1f3ef
commit
844ad0ff21
58
deployment/scripts/cluster.install.sh
Executable file
58
deployment/scripts/cluster.install.sh
Executable file
@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# !!! never tested !!!
|
||||||
|
|
||||||
|
# base setup
|
||||||
|
SCRIPT_PATH=$(realpath $0)
|
||||||
|
SCRIPT_DIR=$(dirname $SCRIPT_PATH)
|
||||||
|
|
||||||
|
# check CONFIGURATION
|
||||||
|
if [ -z ${CONFIGURATION} ]; then
|
||||||
|
echo "You must provide a `CONFIGURATION` via environment variable"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Using CONFIGURATION=${CONFIGURATION}"
|
||||||
|
|
||||||
|
# configuration
|
||||||
|
KUBECONFIG=${KUBECONFIG:-${SCRIPT_DIR}/../configurations/${CONFIGURATION}/kubeconfig.yaml}
|
||||||
|
VALUES=${SCRIPT_DIR}/../configurations/${CONFIGURATION}/kubernetes/values.yaml
|
||||||
|
DOCKERHUB_OCELOT_TAG=${DOCKERHUB_OCELOT_TAG:-"latest"}
|
||||||
|
|
||||||
|
|
||||||
|
## install Ingress-Nginx
|
||||||
|
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
|
||||||
|
helm repo update
|
||||||
|
helm install \
|
||||||
|
ingress-nginx ingress-nginx/ingress-nginx \
|
||||||
|
--kubeconfig=${KUBECONFIG} \
|
||||||
|
-f ${SCRIPT_DIR}/../src/kubernetes/nginx.values.yaml
|
||||||
|
|
||||||
|
## install Cert-Manager
|
||||||
|
helm repo add jetstack https://charts.jetstack.io
|
||||||
|
helm repo update
|
||||||
|
helm install \
|
||||||
|
cert-manager jetstack/cert-manager \
|
||||||
|
--kubeconfig=${KUBECONFIG} \
|
||||||
|
--namespace cert-manager \
|
||||||
|
--create-namespace \
|
||||||
|
--version v1.13.1 \
|
||||||
|
--set installCRDs=true
|
||||||
|
|
||||||
|
## install Ocelot with helm
|
||||||
|
helm install \
|
||||||
|
ocelot \
|
||||||
|
--kubeconfig=${KUBECONFIG} \
|
||||||
|
--values ${VALUES} \
|
||||||
|
--set appVersion="${DOCKERHUB_OCELOT_TAG}" \
|
||||||
|
${SCRIPT_DIR}/../src/kubernetes/ \
|
||||||
|
--timeout 10m
|
||||||
|
|
||||||
|
## set Neo4j database indexes, constrains, and initial admin account plus run migrate up
|
||||||
|
kubectl --kubeconfig=${KUBECONFIG} \
|
||||||
|
-n default \
|
||||||
|
exec -it \
|
||||||
|
$(kubectl --kubeconfig=${KUBECONFIG} -n default get pods | grep ocelot-backend | awk '{ print $1 }') -- \
|
||||||
|
/bin/sh -c "yarn prod:migrate init && yarn prod:migrate up"
|
||||||
|
# /bin/sh -c "node --experimental-repl-await build/src/db/clean.js && node --experimental-repl-await build/src/db/seed.js"
|
||||||
|
|
||||||
|
echo "!!! You must install a firewall or similar !!! (for DigitalOcean see: deployment/src/kubernetes/README.md)"
|
||||||
Loading…
x
Reference in New Issue
Block a user