1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/borg_ynh.git synced 2024-09-03 18:16:05 +02:00
borg_ynh/scripts/config
2024-06-28 10:26:42 +02:00

93 lines
2.2 KiB
Bash

#!/bin/bash
source /usr/share/yunohost/helpers
ynh_abort_if_errors
borg="$install_dir/venv/bin/borg"
#=================================================
# SPECIFIC GETTERS FOR TOML SHORT KEY
#=================================================
get__info() {
cat << EOF
ask:
en: "**Backup state**: ${old[state]}
**Last run**: ${old[last_run]}"
EOF
if [ "${old[state]}" == "failed" ]; then
cat << EOF
style: "danger"
EOF
elif [ "${old[state]}" == "successful" ]; then
cat << EOF
style: "success"
EOF
else
cat << EOF
style: "info"
EOF
fi
}
get__ssh_public_key() {
cat << EOF
ask:
en: "**Public key**: \`$(cat /root/.ssh/id_${app}_ed25519.pub || echo '')\`"
EOF
}
get__data_multimedia() {
if [ -e /home/yunohost.multimedia/.nobackup ]; then
echo "value: false"
else
echo "value: true"
fi
}
get__last_backups() {
cat << EOF
ask: |-
$(BORG_PASSPHRASE="$(ynh_app_setting_get $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " "$borg" list --short --last 50 ${old[repository]} | sed 's/^/ /g' 2> /dev/null)
EOF
}
get__conf() {
ynh_app_setting_get --app=$app --key=conf
}
#=================================================
# SPECIFIC VALIDATORS FOR TOML SHORT KEYS
#=================================================
validate__on_calendar() {
(systemd-analyze calendar $on_calendar > /dev/null) ||
echo 'Please follow systemd OnCalendar format: https://man.archlinux.org/man/systemd.time.7#CALENDAR_EVENTS'
}
#=================================================
# SPECIFIC SETTERS FOR TOML SHORT KEYS
#=================================================
set__data_multimedia() {
if [ "$data_multimedia" == "0" ]; then
mkdir -p /home/yunohost.multimedia/
touch /home/yunohost.multimedia/.nobackup
else
ynh_secure_remove /home/yunohost.multimedia/.nobackup
fi
}
set__conf() {
if [ -n "${conf}" ]
then
# Update the config of the app
ynh_app_setting_set --app=$app --key=conf --value=$conf
fi
}
#=================================================
# GENERIC FINALIZATION
#=================================================
ynh_app_config_run $1