instance-mariadb.cfg 5.19 KB
Newer Older
1 2 3
[buildout]
parts =
  publish-mariadb-url
4
  mariadb-instance
5 6 7 8
  logrotate
  logrotate-entry-mariadb
  cron
  cron-entry-logrotate
9
  cron-entry-mariadb-backup
10
  binary-link
11 12 13 14 15

eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true

16
[publish-mariadb-url]
17
recipe = slapos.cookbook:publishurl
18
url = mysql://$${mariadb-instance:user}:$${mariadb-instance:password}@$${mariadb-instance:ip}:$${mariadb-instance:port}/$${mariadb-instance:database}
19

20 21 22 23 24
[cron-entry-mariadb-backup]
<= cron
recipe = slapos.cookbook:cron.d
name = mariadb-backup
frequency = 0 0 * * *
Romain Courteaud's avatar
Romain Courteaud committed
25
command = $${mariadb-instance:backup-script}
26

27 28
[mariadb-instance]
recipe = slapos.cookbook:generic.mysql
29 30 31

# Options
user = user
Łukasz Nowak's avatar
Łukasz Nowak committed
32
parallel-test-database-amount = 100
33
port = 45678
34
ip = $${slap-network-information:local-ipv4}
Łukasz Nowak's avatar
Łukasz Nowak committed
35 36 37
database = erp5
test-user = erp5_test
test-database = erp5_test
38 39
mysql-test-database-base = erp5_test_parallel
mysql-test-user-base = erp5_test_parallel
40 41 42 43

# Paths
wrapper = $${basedirectory:services}/mariadb
update-wrapper = $${basedirectory:services}/mariadb_update
44 45 46
backup-script = $${rootdirectory:bin}/innobackupex-controller
full-backup-directory = $${directory:mariadb-backup-full}
incremental-backup-directory = $${directory:mariadb-backup-incremental}
47 48 49 50 51 52 53
data-directory = $${directory:mariadb-data}
pid-file = $${basedirectory:run}/mariadb.pid
socket = $${basedirectory:run}/mariadb.sock
error-log = $${basedirectory:log}/mariadb_error.log
slow-query-log = $${basedirectory:log}/mariadb_slowquery.log
conf-file = $${rootdirectory:etc}/mariadb.cnf
dumpname = dump.sql.gz
54 55 56
bin-directory = $${rootdirectory:bin}
innobackupex-incremental = $${rootdirectory:bin}/innobackupex-incremental
innobackupex-full = $${rootdirectory:bin}/innobackupex-full
57 58

# Binary information
59
innobackupex-binary = ${xtrabackup:location}/bin/innobackupex
60 61 62 63
mysql-binary = ${mariadb:location}/bin/mysql
mysql-install-binary = ${mariadb:location}/bin/mysql_install_db
mysql-upgrade-binary = ${mariadb:location}/bin/mysql_upgrade
mysqld-binary = ${mariadb:location}/libexec/mysqld
64 65 66 67 68 69 70 71
mk-variable-advisor-binary = ${perl:siteprefix}/bin/mk-variable-advisor
mk-table-usage-binary = ${perl:siteprefix}/bin/mk-table-usage
mk-visual-explain-binary = ${perl:siteprefix}/bin/mk-visual-explain
mk-config-diff-binary = ${perl:siteprefix}/bin/mk-config-diff
mk-deadlock-logger-binary = ${perl:siteprefix}/bin/mk-deadlock-logger
mk-error-log-binary = ${perl:siteprefix}/bin/mk-error-log
mk-index-usage-binary = ${perl:siteprefix}/bin/mk-index-usage
mk-query-advisor-binary = ${perl:siteprefix}/bin/mk-query-advisor
72
xtrabackup-binary = ${xtrabackup:location}/bin/xtrabackup_51
73
perl-binary = ${perl:location}/bin/perl
74 75 76 77 78

[logrotate]
recipe = slapos.cookbook:logrotate
# Binaries
logrotate-binary = ${logrotate:location}/usr/sbin/logrotate
79
gzip-binary = ${gzip:location}/bin/gzip
80 81 82 83 84 85 86 87 88 89 90 91
gunzip-binary = ${gzip:location}/bin/gunzip
# Directories
wrapper = $${rootdirectory:bin}/logrotate
conf = $${rootdirectory:etc}/logrotate.conf
logrotate-entries = $${directory:logrotate-entries}
backup = $${directory:logrotate-backup}
state-file = $${rootdirectory:srv}/logrotate.status

[logrotate-entry-mariadb]
<= logrotate
recipe = slapos.cookbook:logrotate.d
name = mariadb
92 93
log = $${mariadb-instance:error-log} $${mariadb-instance:slow-query-log}
post = $${mariadb-instance:mysql-binary} --no-defaults -B --socket=$${mariadb-instance:socket} -e "FLUSH LOGS"
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115

[cron]
recipe = slapos.cookbook:cron
dcrond-binary = ${dcron:location}/sbin/crond
cron-entries = $${directory:cron-entries}
crontabs = $${directory:crontabs}
cronstamps = $${directory:cronstamps}
catcher = $${cron-simplelogger:binary}
binary = $${basedirectory:services}/crond

[cron-simplelogger]
recipe = slapos.cookbook:simplelogger
binary = $${rootdirectory:bin}/cron_simplelogger
output = $${directory:cronoutput}

[cron-entry-logrotate]
<= cron
recipe = slapos.cookbook:cron.d
name = logrotate
frequency = 0 0 * * *
command = $${logrotate:wrapper}

116 117 118 119 120 121 122 123 124 125 126 127
[binary-link]
recipe = slapos.cookbook:symbolic.link
target-directory = $${rootdirectory:bin}
link-binary = 
  ${coreutils:location}/bin/basename
  ${coreutils:location}/bin/cat
  ${coreutils:location}/bin/cp
  ${coreutils:location}/bin/ls
  ${coreutils:location}/bin/tr
  ${coreutils:location}/bin/uname
  ${grep:location}/bin/grep
  ${sed:location}/bin/sed
128
  ${mariadb:location}/bin/mysql
129

130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc/
var = $${buildout:directory}/var/
srv = $${buildout:directory}/srv/
bin = $${buildout:directory}/bin/

[basedirectory]
recipe = slapos.cookbook:mkdirectory
log = $${rootdirectory:var}/log/
services = $${rootdirectory:etc}/run/
run = $${rootdirectory:var}/run/
backup = $${rootdirectory:srv}/backup/

[directory]
recipe = slapos.cookbook:mkdirectory
cron-entries = $${rootdirectory:etc}/cron.d/
crontabs = $${rootdirectory:etc}/crontabs/
cronstamps = $${rootdirectory:etc}/cronstamps/
cronoutput = $${basedirectory:log}/cron/
ca-dir = $${rootdirectory:srv}/ssl/
151 152
mariadb-backup-full = $${basedirectory:backup}/mariadb-full/
mariadb-backup-incremental = $${basedirectory:backup}/mariadb-incremental/
153 154 155 156
mariadb-data = $${rootdirectory:srv}/mariadb/
logrotate-backup = $${basedirectory:backup}/logrotate/
logrotate-entries = $${rootdirectory:etc}/logrotate.d/