mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 23:40:13 +01:00
splitting hooks and using snapctl instead of local settings file
Signed-off-by: Ondrej Kubik <ondrej.kubik@canonical.com>
This commit is contained in:
parent
f7fe44fcdf
commit
3665a9131c
4 changed files with 27 additions and 52 deletions
|
|
@ -3,34 +3,18 @@
|
||||||
# read wekan config
|
# read wekan config
|
||||||
source $SNAP/bin/config
|
source $SNAP/bin/config
|
||||||
|
|
||||||
# TODO: uncomment following, once snapctl can be called from outside the hooks
|
|
||||||
# for key in ${keys[@]}
|
|
||||||
# do
|
|
||||||
# # snappy is picky about key syntax, using mapping
|
|
||||||
# MAP_KEY="KEY_$key"
|
|
||||||
# SNAPPY_KEY=
|
|
||||||
# if value=$(snapctl get ${!MAP_KEY}); then
|
|
||||||
# echo "$key='$value'"
|
|
||||||
# export $key=$value
|
|
||||||
# else
|
|
||||||
# # use default value
|
|
||||||
# default_value="DEFAULT_$key"
|
|
||||||
# echo "using default value: $key='${!default_value}'"
|
|
||||||
# export $key=${!default_value}
|
|
||||||
# fi
|
|
||||||
# done
|
|
||||||
|
|
||||||
# TODO: get rid of this workaround once above can be used
|
|
||||||
# loop through all values, and if not defined, use default value
|
|
||||||
for key in ${keys[@]}
|
for key in ${keys[@]}
|
||||||
do
|
do
|
||||||
if [ "x" == "x${!key}" ]; then
|
|
||||||
# use default value
|
|
||||||
default_value="DEFAULT_$key"
|
default_value="DEFAULT_$key"
|
||||||
echo "using default value: $key='${!default_value}'"
|
description="DESCRIPTION_$key"
|
||||||
|
snappy_key="KEY_$key"
|
||||||
|
value=$(snapctl get ${!snappy_key})
|
||||||
|
if [ "x$value" == "x" ]; then
|
||||||
|
echo -e "$key=${!default_value} (default value)"
|
||||||
export $key=${!default_value}
|
export $key=${!default_value}
|
||||||
# echo "export $key='${!def_value}'" >> $SETTINGS_FILE
|
|
||||||
else
|
else
|
||||||
echo "$key='${!key}'"
|
echo -e "$key=$value"
|
||||||
|
export $key=$value
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
|
||||||
28
snap/hooks/configure
vendored
28
snap/hooks/configure
vendored
|
|
@ -1,32 +1,10 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
exec >> $SNAP_COMMON/hook.log 2>&1
|
||||||
|
echo "$(date '+%Y-%m-%d %H:%M:%S') $0: Entering hook"
|
||||||
|
|
||||||
# read wekan config
|
# read wekan config
|
||||||
. $SNAP/bin/config
|
. $SNAP/bin/config
|
||||||
|
|
||||||
# create run dir, we're going to use it for unix socket
|
|
||||||
mkdir -p $SNAP_DATA/share
|
|
||||||
mkdir -p $SNAP_DATA/shared
|
|
||||||
|
|
||||||
# settings were altered by user, safest way to get them applied is to restart service
|
# settings were altered by user, safest way to get them applied is to restart service
|
||||||
|
|
||||||
# TODO: remove this workaround once it's not needed
|
|
||||||
# for the moment we can't read settings outside of the hook,
|
|
||||||
# so store all settings in helpper script which is then picked by main wrapper
|
|
||||||
echo -e "#!/bin/sh\n" > $SETTINGS_FILE
|
|
||||||
for key in ${keys[@]}
|
|
||||||
do
|
|
||||||
# snappy is picky about key syntax, using mapping
|
|
||||||
MAP_KEY="KEY_$key"
|
|
||||||
if value=$(snapctl get ${!MAP_KEY}); then
|
|
||||||
echo "export $key='$value'" >> $SETTINGS_FILE
|
|
||||||
elif [ -d "${!key}" ]; then
|
|
||||||
# store back value from SETTINGS_FILE
|
|
||||||
echo "export $key='${!key}'" >> $SETTINGS_FILE
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# set file executable
|
|
||||||
chmod 755 $SETTINGS_FILE
|
|
||||||
# we can't use snapctl to restart service, may be one day ....
|
|
||||||
|
|
||||||
echo "Setting has been updated, restart service."
|
|
||||||
|
|
|
||||||
12
snap/hooks/install
Executable file
12
snap/hooks/install
Executable file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
exec >> $SNAP_COMMON/hook.log 2>&1
|
||||||
|
echo "$(date '+%Y-%m-%d %H:%M:%S') $0: Entering hook"
|
||||||
|
|
||||||
|
# coppy caddy file in place
|
||||||
|
[ ! -e $SNAP_COMMON/Caddyfile ] && cp $SNAP/Caddyfile $SNAP_COMMON/Caddyfile
|
||||||
|
|
||||||
|
# create run dir, we're going to use it for unix socket
|
||||||
|
mkdir -p $SNAP_DATA/share
|
||||||
|
mkdir -p $SNAP_DATA/shared
|
||||||
|
|
||||||
1
snap/hooks/post-refresh
Symbolic link
1
snap/hooks/post-refresh
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
install
|
||||||
Loading…
Add table
Add a link
Reference in a new issue