mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
[enh] Restart services as needed only in conf_regen hooks
This commit is contained in:
parent
b4e50f8af6
commit
6c3de740aa
12 changed files with 73 additions and 39 deletions
|
@ -13,6 +13,8 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
|
regen_conf_files=$1
|
||||||
|
|
||||||
sudo mkdir -p "/etc/yunohost/certs/yunohost.org"
|
sudo mkdir -p "/etc/yunohost/certs/yunohost.org"
|
||||||
sudo mkdir -p "${ssl_dir}/"{ca,certs,crl,newcerts}
|
sudo mkdir -p "${ssl_dir}/"{ca,certs,crl,newcerts}
|
||||||
|
|
||||||
|
@ -62,7 +64,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -18,8 +18,12 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
[[ -f /etc/yunohost/from_script ]] \
|
regen_conf_files=$1
|
||||||
|
|
||||||
|
if [[ ! -f /etc/yunohost/from_script ]]; then
|
||||||
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|| sudo service ssh restart
|
|| sudo service ssh restart
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE=$2
|
FORCE=$2
|
||||||
|
@ -29,7 +33,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -11,7 +11,10 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
sudo service nslcd restart
|
regen_conf_files=$1
|
||||||
|
|
||||||
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|
|| sudo service nslcd restart
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE=$2
|
FORCE=$2
|
||||||
|
@ -21,7 +24,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -39,8 +39,13 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
|
regen_conf_files=$1
|
||||||
|
|
||||||
|
# fix some permissions
|
||||||
|
sudo chown -R metronome: /var/lib/metronome/
|
||||||
|
sudo chown -R metronome: /etc/metronome/conf.d/
|
||||||
|
|
||||||
# retrieve variables
|
# retrieve variables
|
||||||
# TODO: retrieve only changed/new domains
|
|
||||||
domain_list=$(sudo yunohost domain list --output-as plain --quiet)
|
domain_list=$(sudo yunohost domain list --output-as plain --quiet)
|
||||||
|
|
||||||
# create metronome directories for domains
|
# create metronome directories for domains
|
||||||
|
@ -48,12 +53,8 @@ do_post_regen() {
|
||||||
sudo mkdir -p "/var/lib/metronome/${domain//./%2e}/pep"
|
sudo mkdir -p "/var/lib/metronome/${domain//./%2e}/pep"
|
||||||
done
|
done
|
||||||
|
|
||||||
# fix permissions
|
[[ -z "$regen_conf_files" ]] \
|
||||||
sudo chown -R metronome: /var/lib/metronome/
|
|| sudo service metronome restart
|
||||||
sudo chown -R metronome: /etc/metronome/conf.d/
|
|
||||||
|
|
||||||
# TODO: only restart if conf changed
|
|
||||||
sudo service metronome restart
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE=$2
|
FORCE=$2
|
||||||
|
@ -63,7 +64,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -48,8 +48,11 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
|
regen_conf_files=$1
|
||||||
|
|
||||||
|
[ -z "$regen_conf_files" ] && exit 0
|
||||||
|
|
||||||
# retrieve variables
|
# retrieve variables
|
||||||
# TODO: retrieve only changed/new domains
|
|
||||||
domain_list=$(sudo yunohost domain list --output-as plain --quiet)
|
domain_list=$(sudo yunohost domain list --output-as plain --quiet)
|
||||||
|
|
||||||
# create NGINX conf directories for domains
|
# create NGINX conf directories for domains
|
||||||
|
@ -57,7 +60,6 @@ do_post_regen() {
|
||||||
sudo mkdir -p "/etc/nginx/conf.d/${domain}.d"
|
sudo mkdir -p "/etc/nginx/conf.d/${domain}.d"
|
||||||
done
|
done
|
||||||
|
|
||||||
# TODO: only restart if conf changed
|
|
||||||
sudo service nginx restart
|
sudo service nginx restart
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,7 +70,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -31,8 +31,10 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
# TODO: only restart if conf changed
|
regen_conf_files=$1
|
||||||
sudo service postfix restart
|
|
||||||
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|
|| sudo service postfix restart
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE=$2
|
FORCE=$2
|
||||||
|
@ -42,7 +44,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -12,16 +12,18 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
|
regen_conf_files=$1
|
||||||
|
|
||||||
# retrieve variables
|
# retrieve variables
|
||||||
# TODO: retrieve only new domains
|
|
||||||
domain_list=$(sudo yunohost domain list --output-as plain --quiet)
|
domain_list=$(sudo yunohost domain list --output-as plain --quiet)
|
||||||
|
|
||||||
# create DKIM key for domains
|
# create DKIM key for domains
|
||||||
for domain in $domain_list; do
|
for domain in $domain_list; do
|
||||||
[ ! -f /etc/dkim/$domain.mail.key ] && {
|
domain_key="/etc/dkim/${domain}.mail.key"
|
||||||
|
[ ! -f $domain_key ] && {
|
||||||
sudo opendkim-genkey --domain="$domain" \
|
sudo opendkim-genkey --domain="$domain" \
|
||||||
--selector=mail --directory=/etc/dkim
|
--selector=mail --directory=/etc/dkim
|
||||||
sudo mv /etc/dkim/mail.private "/etc/dkim/${domain}.mail.key"
|
sudo mv /etc/dkim/mail.private "$domain_key"
|
||||||
sudo mv /etc/dkim/mail.txt "/etc/dkim/${domain}.mail.txt"
|
sudo mv /etc/dkim/mail.txt "/etc/dkim/${domain}.mail.txt"
|
||||||
}
|
}
|
||||||
done
|
done
|
||||||
|
@ -30,10 +32,15 @@ do_post_regen() {
|
||||||
sudo chown _rmilter /etc/dkim/*.mail.key
|
sudo chown _rmilter /etc/dkim/*.mail.key
|
||||||
sudo chmod 400 /etc/dkim/*.mail.key
|
sudo chmod 400 /etc/dkim/*.mail.key
|
||||||
|
|
||||||
# Reload systemd daemon, ensure that the socket is listening and stop
|
[ -z "$regen_conf_files" ] && exit 0
|
||||||
# the service. It will be started again by the socket as needed.
|
|
||||||
# TODO: only restart if conf changed
|
# reload systemd daemon
|
||||||
|
[[ "$regen_conf_files" =~ rmilter\.socket ]] && {
|
||||||
sudo systemctl -q daemon-reload
|
sudo systemctl -q daemon-reload
|
||||||
|
}
|
||||||
|
|
||||||
|
# ensure that the socket is listening and stop the service - it will be
|
||||||
|
# started again by the socket as needed
|
||||||
sudo systemctl -q start rmilter.socket
|
sudo systemctl -q start rmilter.socket
|
||||||
sudo systemctl -q stop rmilter.service 2>&1 || true
|
sudo systemctl -q stop rmilter.service 2>&1 || true
|
||||||
}
|
}
|
||||||
|
@ -45,7 +52,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -11,7 +11,10 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
sudo service avahi-daemon restart
|
regen_conf_files=$1
|
||||||
|
|
||||||
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|
|| sudo service avahi-daemon restart
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE=$2
|
FORCE=$2
|
||||||
|
@ -21,7 +24,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -11,7 +11,10 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
sudo service glances restart
|
regen_conf_files=$1
|
||||||
|
|
||||||
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|
|| sudo service glances restart
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE=$2
|
FORCE=$2
|
||||||
|
@ -21,7 +24,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -41,8 +41,9 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
# TODO: only restart if conf changed
|
regen_conf_files=$1
|
||||||
sudo service dnsmasq reload \
|
|
||||||
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|| sudo service dnsmasq restart
|
|| sudo service dnsmasq restart
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,7 +54,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -11,7 +11,10 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
sudo service nscd restart
|
regen_conf_files=$1
|
||||||
|
|
||||||
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|
|| sudo service nscd restart
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE=$2
|
FORCE=$2
|
||||||
|
@ -21,7 +24,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
|
@ -15,7 +15,10 @@ do_pre_regen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_post_regen() {
|
do_post_regen() {
|
||||||
sudo service fail2ban restart
|
regen_conf_files=$1
|
||||||
|
|
||||||
|
[[ -z "$regen_conf_files" ]] \
|
||||||
|
|| sudo service fail2ban restart
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE=$2
|
FORCE=$2
|
||||||
|
@ -25,7 +28,7 @@ case "$1" in
|
||||||
do_pre_regen $3
|
do_pre_regen $3
|
||||||
;;
|
;;
|
||||||
post)
|
post)
|
||||||
do_post_regen
|
do_post_regen $3
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "hook called with unknown argument \`$1'" >&2
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
|
Loading…
Add table
Reference in a new issue