75 lines
1.8 KiB
Bash
75 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
# In most simple cases, you don't need a config script (or just to reload services).
|
|
|
|
# With a simple config_panel.toml, you can write in the app settings, in the
|
|
# upstream config file or replace complete files (logo ...).
|
|
|
|
# The config scripts allows you to go further, to handle specific cases
|
|
# (validation of several interdependent fields, specific getter/setter for a value,
|
|
# pre-loading of config type .cube ).
|
|
|
|
|
|
|
|
|
|
#=================================================
|
|
# 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
|
|
|
|
# Reload app service
|
|
systemctl reload APP
|
|
|
|
}
|
|
|