mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-10 09:51:02 +01:00
Update 01-config_yaml.sh
This commit is contained in:
@@ -163,6 +163,8 @@ SECRETSFILE="/config/secrets.yaml"
|
||||
if [ -f "$SECRETSFILE" ]; then SECRETSFILE="/homeassistant/secrets.yaml"; fi
|
||||
|
||||
while IFS= read -r line; do
|
||||
# Clean output
|
||||
line="${line//[\"\']/}"
|
||||
# Check if secret
|
||||
if [[ "${line}" == *'!secret '* ]]; then
|
||||
echo "secret detected"
|
||||
@@ -180,30 +182,27 @@ while IFS= read -r line; do
|
||||
# extract keys and values
|
||||
KEYS="${line%%=*}"
|
||||
VALUE="${line#*=}"
|
||||
if [[ "$VALUE" == \"*\"*\" ]]; then
|
||||
VALUE="${VALUE:1:-1}"
|
||||
VALUE="\"$VALUE\""
|
||||
fi
|
||||
export "${KEYS}=${VALUE}"
|
||||
line="${KEYS}='${VALUE}'"
|
||||
export "$line"
|
||||
# export to python
|
||||
if command -v "python3" &>/dev/null; then
|
||||
[ ! -f /env.py ] && echo "import os" >/env.py
|
||||
echo "os.environ['${KEYS}'] = \"${VALUE//\"/\\\"}\"" >>/env.py
|
||||
echo "os.environ['${KEYS}'] = '${VALUE//[\"\']/}'" >>/env.py
|
||||
python3 /env.py
|
||||
fi
|
||||
# set .env
|
||||
if [ -f /.env ]; then echo "${KEYS}=${VALUE//\"/\\\"}" >>/.env; fi
|
||||
if [ -f /.env ]; then echo "$line" >>/.env; fi
|
||||
mkdir -p /etc
|
||||
echo "${KEYS}=${VALUE//\"/\\\"}" >>/etc/environment
|
||||
echo "$line" >>/etc/environment
|
||||
# Export to scripts
|
||||
if cat /etc/services.d/*/*run* &>/dev/null; then sed -i "1a export ${KEYS}=${VALUE//\"/\\\"}" /etc/services.d/*/*run* 2>/dev/null; fi
|
||||
if cat /etc/cont-init.d/*run* &>/dev/null; then sed -i "1a export ${KEYS}=${VALUE//\"/\\\"}" /etc/cont-init.d/*run* 2>/dev/null; fi
|
||||
if cat /etc/services.d/*/*run* &>/dev/null; then sed -i "1a export $line" /etc/services.d/*/*run* 2>/dev/null; fi
|
||||
if cat /etc/cont-init.d/*run* &>/dev/null; then sed -i "1a export $line" /etc/cont-init.d/*run* 2>/dev/null; fi
|
||||
# For s6
|
||||
if [ -d /var/run/s6/container_environment ]; then printf "%s='%s'\n" "$KEYS" "${VALUE//\"/\\\"}" >>/etc/environment; fi
|
||||
echo "export ${KEYS}=${VALUE//\"/\\\"}" >>~/.bashrc
|
||||
if [ -d /var/run/s6/container_environment ]; then printf "%s" "${VALUE}" >/var/run/s6/container_environment/"${KEYS}"; fi
|
||||
echo "export $line" >>~/.bashrc
|
||||
# Show in log
|
||||
if ! bashio::config.false "verbose"; then bashio::log.blue "${KEYS}=${VALUE//\"/\\\"}"; fi
|
||||
if ! bashio::config.false "verbose"; then bashio::log.blue "$line"; fi
|
||||
else
|
||||
bashio::log.red "${KEYS}=${VALUE} does not follow the correct structure. Please check your yaml file."
|
||||
bashio::log.red "$line does not follow the correct structure. Please check your yaml file."
|
||||
fi
|
||||
done <"/tmpfile"
|
||||
|
||||
Reference in New Issue
Block a user