-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathinstall_catalog.sh
executable file
·64 lines (48 loc) · 1.53 KB
/
install_catalog.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
#!/bin/bash
set -Eeuo pipefail
# Source .env file
set -a
source .env
set +a
function echo_err() {
echo "$@" >&2
}
CHART_MODE=${1:-install}
if [[ "$CHART_MODE" == "install" ]]; then
echo "Will install the chart..."
HELM_ARGS=("upgrade" "--install")
elif [[ "$CHART_MODE" == "template" ]]; then
echo_err "Will template the chart..."
HELM_ARGS=("template")
else
echo_err 'USAGE: ./install_catalog.sh install|template'
exit 1
fi
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
PEERDB_CATALOG_DIR="${SCRIPT_DIR}/peerdb-catalog"
"${SCRIPT_DIR}/values_catalog.sh"
pushd "${PEERDB_CATALOG_DIR}" >&2
export PEERDB_CATALOG_RELEASE_NAME="${PEERDB_RELEASE_NAME}-catalog"
helm dependencies update >&2
if [[ "$CHART_MODE" == "install" ]]; then
# Workaround till https://github.com/helm/helm/pull/12362 gets merged
if [[ "$CATALOG_DEPLOY_ENABLED" == "true" ]] && crds_manifests="$(helm template . \
--values ../peerdb-catalog.values.secret.yaml \
--values values.customer.yaml \
--include-crds \
--namespace "${PEERDB_K8S_NAMESPACE}" | yq -e '. | select (.kind == "CustomResourceDefinition")')" ; then
echo 'Found CRDS, applying...'
echo "${crds_manifests}" | kubectl apply --server-side -f -
else
echo 'No CRDS found'
fi
fi
helm "${HELM_ARGS[@]}" "${PEERDB_CATALOG_RELEASE_NAME}" . \
--debug \
--values values.customer.yaml \
--values ../peerdb-catalog.values.secret.yaml \
--namespace "${PEERDB_K8S_NAMESPACE}"\
--create-namespace \
--wait \
--timeout=15m
popd >&2