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

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

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

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

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

# Options
user = user
34
parallel-test-database-amount = 5
35
port = 45678
36
ip = $${slap-network-information:local-ipv4}
37
database = sanef_dms
Łukasz Nowak's avatar
Łukasz Nowak committed
38 39
test-user = erp5_test
test-database = erp5_test
40 41
mysql-test-database-base = testdb
mysql-test-user-base = testuser
42
innodb-buffer-pool-size = $${slap-parameter:innodb-buffer-pool-size}
43 44 45 46

# Paths
wrapper = $${basedirectory:services}/mariadb
update-wrapper = $${basedirectory:services}/mariadb_update
47 48 49
backup-script = $${rootdirectory:bin}/innobackupex-controller
full-backup-directory = $${directory:mariadb-backup-full}
incremental-backup-directory = $${directory:mariadb-backup-incremental}
50 51 52 53 54 55 56
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
57 58 59
bin-directory = $${rootdirectory:bin}
innobackupex-incremental = $${rootdirectory:bin}/innobackupex-incremental
innobackupex-full = $${rootdirectory:bin}/innobackupex-full
60 61

# Binary information
62
innobackupex-binary = ${xtrabackup:location}/bin/innobackupex
Romain Courteaud's avatar
Romain Courteaud committed
63 64 65 66
mysql-binary = ${mysql-tritonn-5.0:location}/bin/mysql
mysql-install-binary = ${mysql-tritonn-5.0:location}/bin/mysql_install_db
mysql-upgrade-binary = ${mysql-tritonn-5.0:location}/bin/mysql_upgrade
mysqld-binary = ${mysql-tritonn-5.0:location}/libexec/mysqld
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
pt-archiver-binary = ${perl:siteprefix}/bin/pt-archiver
pt-config-diff-binary = ${perl:siteprefix}/bin/pt-config-diff
pt-deadlock-logger-binary = ${perl:siteprefix}/bin/pt-deadlock-logger
pt-duplicate-key-checker-binary = ${perl:siteprefix}/bin/pt-duplicate-key-checker
pt-fifo-split-binary = ${perl:siteprefix}/bin/pt-fifo-split
pt-find-binary = ${perl:siteprefix}/bin/pt-find
pt-fk-error-logger-binary = ${perl:siteprefix}/bin/pt-fk-error-logger
pt-heartbeat-binary = ${perl:siteprefix}/bin/pt-heartbeat
pt-index-usage-binary = ${perl:siteprefix}/bin/pt-index-usage
pt-kill-binary = ${perl:siteprefix}/bin/pt-kill
pt-log-player-binary = ${perl:siteprefix}/bin/pt-log-player
pt-online-schema-change-binary = ${perl:siteprefix}/bin/pt-online-schema-change
pt-query-advisor-binary = ${perl:siteprefix}/bin/pt-query-advisor
pt-query-digest-binary = ${perl:siteprefix}/bin/pt-query-digest
pt-show-grants-binary = ${perl:siteprefix}/bin/pt-show-grants
pt-slave-delay-binary = ${perl:siteprefix}/bin/pt-slave-delay
pt-slave-find-binary = ${perl:siteprefix}/bin/pt-slave-find
pt-slave-restart-binary = ${perl:siteprefix}/bin/pt-slave-restart
pt-table-checksum-binary = ${perl:siteprefix}/bin/pt-table-checksum
pt-table-sync-binary = ${perl:siteprefix}/bin/pt-table-sync
pt-tcp-model-binary = ${perl:siteprefix}/bin/pt-tcp-model
pt-trend-binary = ${perl:siteprefix}/bin/pt-trend
pt-upgrade-binary = ${perl:siteprefix}/bin/pt-upgrade
pt-variable-advisor-binary = ${perl:siteprefix}/bin/pt-variable-advisor
pt-visual-explain-binary = ${perl:siteprefix}/bin/pt-visual-explain
92
xtrabackup-binary = ${xtrabackup:location}/bin/xtrabackup_51
93
perl-binary = ${perl:location}/bin/perl
94

95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
[mydumper]
recipe = slapos.cookbook:mydumper
wrapper = $${rootdirectory:bin}/raw_mydumper
backup-directory = $${directory:mariadb-backup}
socket = $${mariadb-instance:socket}
user = root
mydumper-binary = ${mydumper:location}/bin/mydumper
database = $${mariadb-instance:database}
import = false
compression = true

[cron-entry-mariadb-mydumperbackup]
<= cron
recipe = slapos.cookbook:cron.d
name = backup
110
frequency = 0 2 * * *
111 112 113 114 115 116 117 118 119 120 121 122
command = $${mydumper:wrapper}

[mydumper-import]
recipe = slapos.cookbook:mydumper
wrapper = $${rootdirectory:bin}/myloader
backup-directory = $${directory:mariadb-backup}
socket = $${mariadb-instance:socket}
user = root
myloader-binary = ${mydumper:location}/bin/myloader
database = $${mariadb-instance:database}
import = true

123 124 125 126
[logrotate]
recipe = slapos.cookbook:logrotate
# Binaries
logrotate-binary = ${logrotate:location}/usr/sbin/logrotate
127
gzip-binary = ${gzip:location}/bin/gzip
128 129 130 131 132 133 134 135 136 137 138 139
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
140 141
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"
142 143 144 145 146 147 148

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

[cron-simplelogger]
recipe = slapos.cookbook:simplelogger
154 155
wrapper = $${rootdirectory:bin}/cron_simplelogger
log = $${basedirectory:log}/cron.log
156 157 158 159 160

[cron-entry-logrotate]
<= cron
recipe = slapos.cookbook:cron.d
name = logrotate
161
frequency = 45 1 * * *
162 163
command = $${logrotate:wrapper}

164 165 166 167 168 169 170 171 172 173
[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
174
  ${gettext:location}/lib/gettext/hostname
175 176
  ${grep:location}/bin/grep
  ${sed:location}/bin/sed
177
  ${mysql-tritonn-5.0:location}/bin/mysql
178

179 180
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
Romain Courteaud's avatar
Romain Courteaud committed
181 182 183 184
etc = $${buildout:directory}/etc
var = $${buildout:directory}/var
srv = $${buildout:directory}/srv
bin = $${buildout:directory}/bin
185 186 187

[basedirectory]
recipe = slapos.cookbook:mkdirectory
Romain Courteaud's avatar
Romain Courteaud committed
188 189 190 191
log = $${rootdirectory:var}/log
services = $${rootdirectory:etc}/run
run = $${rootdirectory:var}/run
backup = $${rootdirectory:srv}/backup
192 193 194

[directory]
recipe = slapos.cookbook:mkdirectory
Romain Courteaud's avatar
Romain Courteaud committed
195 196 197 198
cron-entries = $${rootdirectory:etc}/cron.d
crontabs = $${rootdirectory:etc}/crontabs
cronstamps = $${rootdirectory:etc}/cronstamps
ca-dir = $${rootdirectory:srv}/ssl
199
mariadb-backup = $${basedirectory:backup}/mariadb
Romain Courteaud's avatar
Romain Courteaud committed
200 201 202 203 204
mariadb-backup-full = $${basedirectory:backup}/mariadb-full
mariadb-backup-incremental = $${basedirectory:backup}/mariadb-incremental
mariadb-data = $${rootdirectory:srv}/mariadb
logrotate-backup = $${basedirectory:backup}/logrotate
logrotate-entries = $${rootdirectory:etc}/logrotate.d
205