mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
[enh] Update mysql conf_regen hook and use helpers for password generation
This commit is contained in:
parent
cdd36570f8
commit
f019188a90
2 changed files with 43 additions and 35 deletions
|
@ -1,35 +0,0 @@
|
||||||
set -e
|
|
||||||
|
|
||||||
force=$1
|
|
||||||
|
|
||||||
function safe_copy () {
|
|
||||||
if [[ "$force" == "True" ]]; then
|
|
||||||
sudo yunohost service safecopy \
|
|
||||||
-s mysql $1 $2 --force
|
|
||||||
else
|
|
||||||
sudo yunohost service safecopy \
|
|
||||||
-s mysql $1 $2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function randpass () {
|
|
||||||
[ "$2" == "0" ] && CHAR="[:alnum:]" || CHAR="[:graph:]"
|
|
||||||
cat /dev/urandom | tr -cd "$CHAR" | head -c ${1:-32}
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
cd /usr/share/yunohost/templates/mysql
|
|
||||||
|
|
||||||
if [[ "$(safe_copy my.cnf /etc/mysql/my.cnf | tail -n1)" == "True" ]]; then
|
|
||||||
sudo service mysql restart
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f /etc/yunohost/mysql ]; then
|
|
||||||
[[ $(/bin/ps aux | grep '[m]ysqld') == "0" ]] \
|
|
||||||
&& sudo service mysql start
|
|
||||||
|
|
||||||
mysql_password=$(randpass 10 0)
|
|
||||||
sudo mysqladmin -u root -pyunohost password $mysql_password
|
|
||||||
echo $mysql_password | sudo tee /etc/yunohost/mysql
|
|
||||||
sudo chmod 400 /etc/yunohost/mysql
|
|
||||||
fi
|
|
43
data/hooks/conf_regen/34-mysql
Executable file
43
data/hooks/conf_regen/34-mysql
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
do_pre_regen() {
|
||||||
|
pending_dir=$1
|
||||||
|
|
||||||
|
cd /usr/share/yunohost/templates/mysql
|
||||||
|
|
||||||
|
install -D my.cnf "${pending_dir}/etc/mysql/my.cnf"
|
||||||
|
}
|
||||||
|
|
||||||
|
do_post_regen() {
|
||||||
|
# TODO: only restart if conf changed
|
||||||
|
sudo service mysql restart
|
||||||
|
|
||||||
|
if [ ! -f /etc/yunohost/mysql ]; then
|
||||||
|
# source string helpers
|
||||||
|
. /usr/share/yunohost/helpers.d/string
|
||||||
|
|
||||||
|
mysql_password=$(ynh_string_random 10)
|
||||||
|
sudo mysqladmin -u root -pyunohost password "$mysql_password"
|
||||||
|
echo $mysql_password | sudo tee /etc/yunohost/mysql
|
||||||
|
sudo chmod 400 /etc/yunohost/mysql
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCE=$2
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
pre)
|
||||||
|
do_pre_regen $3
|
||||||
|
;;
|
||||||
|
post)
|
||||||
|
do_post_regen
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "hook called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Add table
Reference in a new issue