provisioning/cluster/oci-reg/default/prepare

74 lines
2.4 KiB
Plaintext
Raw Normal View History

#!/bin/bash
# Info: Prepare for oci-reg installation
# Author: JesusPerezLorenzo
# Release: 1.0.2
# Date: 15-01-2024
set +o errexit
set +o pipefail
SETTINGS_FILE=$1
SERVICE_NAME=$2
SERVICE_POS=$3
#SETTINGS_ROOT=$4
RUN_ROOT=$(dirname "$0")
#ORG=$(pwd)
[ -z "$SETTINGS_FILE" ] && [ -z "$SERVICE_NAME" ] && [ -z "$SERVICE_POS" ] && exit 0
YQ=$(type -P yq)
JQ=$(type -P jq)
[ -z "$YQ" ] && echo "yq not installed " && exit 1
[ -z "$JQ" ] && echo "jq not installed " && exit 1
_fix_name_in_files() {
local source=$1
local name_in_file=$2
local new_name
for item in "$source"/*
do
if [ -d "$item" ] ; then
_fix_name_in_files "$item" "$name_in_file"
elif [ -r "$item" ] ; then
new_name=$(basename "$item" | sed "s,deploy,$name_in_file,g")
#[ -r "$(dirname "$item")/$new_name" ] && rm -f "$item"
[ -r "$item" ] && [ "$(basename "$item")" != "$new_name" ] && mv "$item" "$(dirname "$item")/$new_name"
fi
done
}
[ -r "$RUN_ROOT/env-oci-reg" ] && . "$RUN_ROOT"/env-oci-reg
[ -z "$PROVISIONING" ] && echo "PROVISIONING not found in environment" && exit 1
. "$PROVISIONING"/core/lib/sops
if $YQ e -o=json '.service.config' < "$SETTINGS_FILE" | tee "$RUN_ROOT/config.json" >/dev/null; then
echo "zot config.json generated !"
else
echo "Error: zot config.json generation !"
exit 1
fi
prxy=$($YQ -er '.k8s_deploy.prxy' < "$SETTINGS_FILE" 2>/dev/null | sed 's/ //g' | sed 's/null//g')
case "$prxy" in
istio) ;;
*) [ -f "$RUN_ROOT/make_istio-system_secret.sh.j2" ] && rm -f "$RUN_ROOT/make_istio-system_secret.sh.j2"
esac
name_in_files=$($YQ -er '.k8s_deploy.name_in_files' < "$SETTINGS_FILE" 2>/dev/null | sed 's/ //g' | sed 's/null//g')
[ -n "$name_in_files" ] && _fix_name_in_files "$RUN_ROOT" "$name_in_files"
if [ -r "$RUN_ROOT/configMap-etc.yaml.j2" ] ; then
if [ -r "$RUN_ROOT/htpasswd" ] ; then
echo " htpasswd: | " >> "$RUN_ROOT/configMap-etc.yaml.j2"
sed 's,^, ,g' <"$RUN_ROOT/htpasswd" >> "$RUN_ROOT/configMap-etc.yaml.j2"
rm -f "$RUN_ROOT/htpasswd"
echo "htpasswd added to configMap-etc.yaml"
fi
if [ -r "$RUN_ROOT/config.json" ] ; then
echo " config.json: | " >> "$RUN_ROOT/configMap-etc.yaml.j2"
sed 's,^, ,g' <"$RUN_ROOT/config.json" >> "$RUN_ROOT/configMap-etc.yaml.j2"
rm -f "$RUN_ROOT/config.json"
echo "zot config.json added to configMap-etc.yaml"
fi
fi
echo "Prepare $SERVICE_NAME $SERVICE_POS Done !"