1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/borg_ynh.git synced 2024-09-03 18:16:05 +02:00

[fix] Bad yaml returned by config script

This commit is contained in:
ljf 2021-11-30 19:00:25 +01:00
parent d8a95811e2
commit 88c040b101
3 changed files with 48 additions and 15 deletions

View file

@ -16,20 +16,20 @@ services = []
[main.general]
[main.general.info]
ask = """\
Backup state : {state}
Last run: {last_run}
Backup state : {{state}}
Last run: {{last_run}}
"""
type = "alert"
style = "info"
[main.settings.repository]
[main.general.repository]
ask.en = "Repository"
type = "string"
help = "Specify a local repository like /mount/my_external_harddrive/backups or a remote repository using this format: ssh://USER@DOMAIN.TLD:PORT/~/backup . If you plan to use borgserver_ynh app : 'USER' is *not* meant to be an existing user on the guest server, instead, it will be created *on the host server* during the installation of the Borg Server App. With borgserver_ynh apps you can't specify another repo path than ~/backup."
[main.settings.ssh_public_key]
[main.general.ssh_public_key]
ask.en = "Public key: {ssh_public_key}"
type = "display_text"
type = "markdown"
bind = "/root/.ssh/id___APP___ed25519.pub"
[main.general.on_calendar]
@ -58,6 +58,10 @@ services = []
ask.en = "Data"
type = "boolean"
[main.content.data_multimedia]
ask.en = "Data multimedia"
type = "boolean"
[main.content.apps]
ask.en = "Apps"
type = "tags"
@ -69,8 +73,5 @@ services = []
[advanced.list]
name = "Last backups list"
[advanced.list.last_backups]
ask.en = """\
{last_backups}\
"""
ask.en = ""
type = "markdown"

View file

@ -6,7 +6,7 @@
"en": "Backup your server on a host server using Borg.",
"fr": "Sauvegardez votre serveur sur un serveur distant avec Borg."
},
"version": "1.1.16~ynh25",
"version": "1.1.16~ynh26",
"url": "https://borgbackup.readthedocs.io",
"license": "BSD-3-Clause",
"maintainer": {

View file

@ -9,11 +9,16 @@ ynh_abort_if_errors
#=================================================
get__info() {
if [ "$state" == "failed" ]; then
cat << EOF
ask:
en: "**Backup state**: ${old[state]}
**Last run**: ${old[last_run]}"
EOF
if [ "${old[state]}" == "failed" ]; then
style: "danger"
EOF
elif [ "$state" == "successful" ]; then
elif [ "${old[state]}" == "successful" ]; then
cat << EOF
style: "success"
EOF
@ -24,10 +29,24 @@ 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
value:
$(borg list --short --last 50 $repository)
ask: |-
$(BORG_PASSPHRASE="$(yunohost app setting $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
}
@ -36,11 +55,24 @@ EOF
#=================================================
validate__on_calendar() {
(! systemd-analyze calendar $on_calendar > /dev/null) &&
(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" == "false" ]; then
mkdir -p /home/yunohost.multimedia/
touch /home/yunohost.multimedia/.nobackup
else
ynh_secure_remove /home/yunohost.multimedia/.nobackup
fi
}
#=================================================
# GENERIC FINALIZATION
#=================================================
ynh_app_config_run $1