[enh] New config panel
This commit is contained in:
parent
ed74358979
commit
471d9abf2b
2 changed files with 144 additions and 0 deletions
66
config_panel.toml
Normal file
66
config_panel.toml
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
version = "0.1"
|
||||||
|
name = "APP configuration panel"
|
||||||
|
|
||||||
|
[main]
|
||||||
|
name = "Main configuration"
|
||||||
|
|
||||||
|
[main.config_file]
|
||||||
|
name = ""
|
||||||
|
|
||||||
|
[main.config_file.warning]
|
||||||
|
ask = "Here you can display a warning to user."
|
||||||
|
type = "warning"
|
||||||
|
|
||||||
|
[main.config_file.outgoing_email]
|
||||||
|
ask = "Outgoing email From"
|
||||||
|
type = "string"
|
||||||
|
help = "Email from which comes email from this app"
|
||||||
|
|
||||||
|
[main.config_file.expiration]
|
||||||
|
ask = "Default expiration"
|
||||||
|
type = "date"
|
||||||
|
|
||||||
|
[main.config_file.logo]
|
||||||
|
ask = "Outgoing email From"
|
||||||
|
type = "file"
|
||||||
|
default = ""
|
||||||
|
optional = true
|
||||||
|
help = "You should upload a CA certificate to start"
|
||||||
|
source="__FINALPATH__/img/logo.png"
|
||||||
|
|
||||||
|
[main.auth]
|
||||||
|
name = "Authentication"
|
||||||
|
|
||||||
|
[main.auth.user]
|
||||||
|
ask = "Username"
|
||||||
|
type = "string"
|
||||||
|
default = ""
|
||||||
|
optional = true
|
||||||
|
pattern = "^[^/ ]+$"
|
||||||
|
|
||||||
|
[main.auth.passphrase]
|
||||||
|
ask = "Password"
|
||||||
|
type = "password"
|
||||||
|
default = ""
|
||||||
|
optional = true
|
||||||
|
|
||||||
|
|
||||||
|
[advanced]
|
||||||
|
name = "Advanced configuration"
|
||||||
|
|
||||||
|
[manual.dns]
|
||||||
|
name = "DNS"
|
||||||
|
|
||||||
|
[manual.dns.dns0]
|
||||||
|
ask = "First resolver"
|
||||||
|
type = "string"
|
||||||
|
default = ""
|
||||||
|
optional = true
|
||||||
|
pattern = "^([0-9.]{8,16}|[0-9a-fA-F:]+)$"
|
||||||
|
|
||||||
|
[manual.dns.dns1]
|
||||||
|
ask = "Second resolver"
|
||||||
|
type = "string"
|
||||||
|
default = ""
|
||||||
|
optional = true
|
||||||
|
pattern = "^([0-9.]{8,16}|[0-9a-fA-F:]+)$"
|
78
scripts/config
Normal file
78
scripts/config
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# GENERIC STARTING
|
||||||
|
#=================================================
|
||||||
|
# IMPORT GENERIC HELPERS
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
source _common.sh
|
||||||
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# RETRIEVE ARGUMENTS
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
app=$YNH_APP_INSTANCE_NAME
|
||||||
|
final_path=$(ynh_app_setting_get $app final_path)
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# SPECIFIC GETTERS FOR TOML SHORT KEY
|
||||||
|
#=================================================
|
||||||
|
get__user() {
|
||||||
|
if [ -s $final_path/keys/credentials ]
|
||||||
|
then
|
||||||
|
sed -n 1p $final_path/keys/credentials
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
get__passphrase() {
|
||||||
|
if [ -s $final_path/keys/credentials ]
|
||||||
|
then
|
||||||
|
sed -n 2p $final_path/keys/credentials
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# SPECIFIC VALIDATORS FOR TOML SHORT KEYS
|
||||||
|
#=================================================
|
||||||
|
validate__user() {
|
||||||
|
[[ -n "$passphrase" && -z "$user" ]] &&
|
||||||
|
echo 'A Username is needed when you suggest a Password'
|
||||||
|
}
|
||||||
|
|
||||||
|
validate__passphrase() {
|
||||||
|
[[ -n "$user" && -z "$passphrase" ]] &&
|
||||||
|
echo 'A Password is needed when you suggest a Username'
|
||||||
|
}
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# SPECIFIC SETTERS FOR TOML SHORT KEYS
|
||||||
|
#=================================================
|
||||||
|
set__user() {
|
||||||
|
if [ -z "$user" ]
|
||||||
|
then
|
||||||
|
echo "$user\n$passphrase" > $final_path/keys/credentials
|
||||||
|
else
|
||||||
|
echo "" > $final_path/keys/credentials
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
set__passphrase() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# OVERWRITING APPLY STEP
|
||||||
|
#=================================================
|
||||||
|
ynh_panel_apply() {
|
||||||
|
|
||||||
|
_ynh_panel_apply
|
||||||
|
|
||||||
|
# Start vpn client
|
||||||
|
systemctl reload APP
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue