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