2024-01-07 20:03:28 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
#
|
|
|
|
# Deploy app to k8s using fluxcd
|
|
|
|
#
|
|
|
|
|
|
|
|
DEPLOY_MODE="flux"
|
|
|
|
readonly DEPLOY_MODE
|
|
|
|
APP_NAMESPACE="app"
|
|
|
|
readonly APP_NAMESPACE
|
2024-01-08 16:34:45 +00:00
|
|
|
MONITORING_NAMESPACE="monitoring"
|
|
|
|
readonly MONITORING_NAMESPACE
|
|
|
|
PGSQLHA_CHART_VERSION="12.3.7"
|
|
|
|
readonly PGSQLHA_CHART_VERSION
|
2024-01-07 20:03:28 +00:00
|
|
|
PGSQLHA_OCI_URL="oci://registry-1.docker.io/bitnamicharts/postgresql-ha"
|
|
|
|
readonly PGSQLHA_OCI_URL
|
2024-01-08 16:34:45 +00:00
|
|
|
GTFSO_IMPORT_CHART_VERSION="0.1.0"
|
|
|
|
readonly GTFSO_IMPORT_CHART_VERSION
|
|
|
|
GTFSO_VBB_CHART_VERSION="0.1.0"
|
|
|
|
readonly GTFSO_VBB_CHART_VERSION
|
2024-01-07 20:03:28 +00:00
|
|
|
|
2024-01-08 16:34:45 +00:00
|
|
|
|
|
|
|
# Create namespaces
|
2024-01-07 20:03:28 +00:00
|
|
|
kubectl create namespace "${APP_NAMESPACE}"
|
2024-01-08 16:34:45 +00:00
|
|
|
kubectl create namespace "${MONITORING_NAMESPACE}"
|
2024-01-07 20:03:28 +00:00
|
|
|
|
2024-01-08 16:34:45 +00:00
|
|
|
# Add Deployments / Helm Charts either via fluxcd or Helm
|
2024-01-07 20:03:28 +00:00
|
|
|
if [ "flux" == $DEPLOY_MODE ]; then
|
|
|
|
# Add Helm Charts via Flux HelmRelease CRD
|
|
|
|
printf "Using flux to create HelmRelease\n"
|
|
|
|
./flux create helmrelease pgsql-ha \
|
|
|
|
--chart postgresql-ha \
|
2024-01-08 16:34:45 +00:00
|
|
|
--chart-version "${PGSQLHA_CHART_VERSION}" \
|
2024-01-07 20:03:28 +00:00
|
|
|
--source HelmRepository/bitnamicharts \
|
|
|
|
--namespace "${APP_NAMESPACE}"
|
|
|
|
elif [ "helm" == $DEPLOY_MODE ]; then
|
|
|
|
# Add Helm Charts via Helm
|
|
|
|
printf "Using Helm to install Chart\n"
|
|
|
|
helm install pgsql-ha "${PGSQLHA_OCI_URL}" \
|
2024-01-08 16:34:45 +00:00
|
|
|
--version "${PGSQLHA_CHART_VERSION}" \
|
|
|
|
--namespace "${APP_NAMESPACE}"
|
|
|
|
helm install gtfso-import charts/gtfso-import \
|
|
|
|
--version "${GTFSO_IMPORT_CHART_VERSION}" \
|
|
|
|
--namespace "${APP_NAMESPACE}"
|
|
|
|
helm install gtfso-vbb charts/gtfso-vbb \
|
|
|
|
--version "${GTFSO_VBB_CHART_VERSION}" \
|
2024-01-07 20:03:28 +00:00
|
|
|
--namespace "${APP_NAMESPACE}"
|
|
|
|
fi
|