File tree Expand file tree Collapse file tree 6 files changed +48
-8
lines changed
public/architectures/setup-multi-cluster/ra-09-setup-externaldns Expand file tree Collapse file tree 6 files changed +48
-8
lines changed Original file line number Diff line number Diff line change 1212# ${K8S_CLUSTER_2_CONTEXT_NAME}
1313# ${MDB_GKE_PROJECT}
1414
15- # Example K8S_CLUSTER_SUFFIX when running in evg: "-68c1dc3ffdfb5800075ecee0-26080"
1615suffix_short=" ${K8S_CLUSTER_SUFFIX} "
17- # Ensure suffix_short is no longer than 19 characters to make DNS_SA_NAME fit max 30 characters
16+ # Ensure suffix_short is no longer than 19 characters to make GKE identifiers fit under 30 characters
1817if [[ -n " ${suffix_short} " && ${# suffix_short} -gt 19 ]]; then
1918 # Calculate positions for cutting from the middle
2019 prefix_len=$(( (19 - 1 ) / 2 )) # -1 for the 'x' replacement
@@ -27,4 +26,4 @@ export DNS_SA_NAME="ext-dns-sa${suffix_short}"
2726export DNS_SA_EMAIL=" ${DNS_SA_NAME} @${MDB_GKE_PROJECT} .iam.gserviceaccount.com"
2827
2928export CUSTOM_DOMAIN=" mongodb.custom"
30- export DNS_ZONE=" mongodb"
29+ export DNS_ZONE=" mongodb${suffix_short} "
Original file line number Diff line number Diff line change 1+ # Function to normalize identifier to contain only alphanumeric characters.
2+ # It's also cutting the string in the middle if exceeds max_len.
3+ # Example:
4+ # normalize_identifier "mongodb_kubernetes_1.4.0_68c913f767d52d00076a2698" 25 -> mongodb-kubex2d00076a2698
5+ normalize_identifier() {
6+ local str=$1
7+ local max_len=$(($2 - 1))
8+
9+ # Convert to lowercase and replace invalid characters with hyphens
10+ str=$(echo -n "${str}" | tr '[:upper:]_' '[:lower:]-' | sed 's/[^a-z0-9-]/-/g')
11+ # Ensure it ends with alphanumeric
12+
13+ # Truncate to ${max_len} chars by cutting from middle
14+ if [[ ${#str} -gt ${max_len} ]]; then
15+ half_idx=$((max_len / 2))
16+ local start_part="${str:0:${half_idx}}"
17+ local end_part="${str: -${half_idx}}"
18+ str="${start_part}x${end_part}"
19+ fi
20+
21+ [[ ${str} =~ -$ ]] && str="${str}0"
22+ echo -n "${str}"
23+ }
24+
25+ # for prerelease tag builds we have:
26+ # version_id=mongodb_kubernetes_1.4.0_68c913f767d52d00076a2698-9041 (len=54)
27+ # k8s cluster name prefix: k8s-mdb-0- (len=10)
28+ # random suffix: -1234 (len=5)
29+ # K8S_CLUSTER_PREFIX must be shorter than 25 to make the final
30+ # gke identifier shorter than 40 characters.
31+ create_k8s_cluster_suffix() {
32+ echo -n "$(normalize_identifier "${K8S_CLUSTER_SUFFIX:-"-${version_id}-${RANDOM}"}" 25)"
33+ }
Original file line number Diff line number Diff line change @@ -8,9 +8,12 @@ script_name=$(readlink -f "${BASH_SOURCE[0]}")
88script_dir=$( dirname " ${script_name} " )
99
1010source " ${script_dir} /root-context"
11+ source " ${script_dir} /funcs/gke"
12+ K8S_CLUSTER_SUFFIX=" $( create_k8s_cluster_suffix) "
13+ export K8S_CLUSTER_SUFFIX
1114
1215export MDB_GKE_PROJECT=" scratch-kubernetes-team"
13- export K8S_CLUSTER_SUFFIX= " ${K8S_CLUSTER_SUFFIX :- " - ${version_id} - ${RANDOM} " } "
16+
1417export CODE_SNIPPETS_COMMIT_OUTPUT=true
1518
1619# we reset evg host to use a default ~/.kube/config for GKE instead of the one from evg host
Original file line number Diff line number Diff line change @@ -10,10 +10,13 @@ script_dir=$(dirname "${script_name}")
1010source " ${script_dir} /root-context"
1111source " ${script_dir} /variables/om80"
1212
13+ source " ${script_dir} /funcs/gke"
14+ K8S_CLUSTER_SUFFIX=" $( create_k8s_cluster_suffix) "
15+ export K8S_CLUSTER_SUFFIX
16+
1317export KUBE_ENVIRONMENT_NAME=multi
1418
1519export MDB_GKE_PROJECT=" scratch-kubernetes-team"
16- export K8S_CLUSTER_SUFFIX=" ${K8S_CLUSTER_SUFFIX:- " -${version_id} -${RANDOM} " } "
1720
1821# we reset evg host to use a default ~/.kube/config for GKE instead of the one from evg host
1922export EVG_HOST_NAME=" "
Original file line number Diff line number Diff line change @@ -9,11 +9,13 @@ script_dir=$(dirname "${script_name}")
99
1010source " ${script_dir} /root-context"
1111
12+ source " ${script_dir} /funcs/gke"
13+ K8S_CLUSTER_SUFFIX=" $( create_k8s_cluster_suffix) "
14+ export K8S_CLUSTER_SUFFIX
15+
1216export KUBE_ENVIRONMENT_NAME=multi
1317
1418export MDB_GKE_PROJECT=" scratch-kubernetes-team"
15- # shellcheck disable=SC2154
16- export K8S_CLUSTER_SUFFIX=" ${K8S_CLUSTER_SUFFIX:- " -${version_id} -${RANDOM} " } "
1719
1820# we reset evg host to use a default ~/.kube/config for GKE instead of the one from evg host
1921export EVG_HOST_NAME=" "
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ set -Eeou pipefail
44source scripts/dev/set_env_context.sh
55
66curl -s --retry 3 -LO " https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz"
7- tar xvf google-cloud-cli-linux-x86_64.tar.gz -C " ${workdir} "
7+ tar xf google-cloud-cli-linux-x86_64.tar.gz -C " ${workdir} "
88" ${workdir} " /google-cloud-sdk/install.sh --quiet
99source " ${workdir} /google-cloud-sdk/path.bash.inc"
1010
You can’t perform that action at this time.
0 commit comments