74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
![]() |
#!/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 !"
|