This repository has been archived by the owner on Sep 21, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 106
/
spec
202 lines (191 loc) · 8.59 KB
/
spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
---
name: mysql
templates:
mariadb_ctl.erb: bin/mariadb_ctl
my.cnf.erb: config/my.cnf
mylogin.cnf.erb: config/mylogin.cnf
mariadb_ctl_config.yml.erb: config/mariadb_ctl_config.yml
mariadb_init.erb: config/mariadb_init
galera-healthcheck_ctl.erb: bin/galera-healthcheck_ctl
galera_healthcheck_config.yaml.erb: config/galera_healthcheck_config.yaml
galera_healthcheck_setup.sql.erb: config/galera_healthcheck_setup.sql
gra-log-purger_ctl.erb: bin/gra-log-purger_ctl
gra-log-purger.sh.erb: bin/gra-log-purger.sh
syslog_forwarder.conf.erb: config/syslog_forwarder.conf
pre-start-setup.erb: bin/pre-start
pre-start-execution.erb: bin/pre-start-execution
cluster_health_logger_ctl.erb: bin/cluster_health_logger_ctl
cluster_health_logger_config.yml.erb: config/cluster_health_logger_config.yml
cluster_health_logger_setup.sql.erb: config/cluster_health_logger_setup.sql
mysql_audit_logs.logrotate.erb: config/mysql_audit_logs.logrotate
packages:
- xtrabackup
- mariadb
- mariadb_ctrl
- galera
- galera-healthcheck
- gra-log-purger
- cf-mysql-common
- cf-mysql-cluster-health-logger
- syslog_aggregator
consumes:
- name: mysql
type: mysql
optional: true
- name: arbitrator
type: arbitrator
optional: true
provides:
- name: mysql
type: mysql
properties:
- cf_mysql.mysql.port
- cf_mysql.mysql.galera_healthcheck.port
- cf_mysql.mysql.galera_healthcheck.endpoint_username
- cf_mysql.mysql.galera_healthcheck.endpoint_password
properties:
syslog_aggregator.address:
description: "IP address for syslog aggregator"
syslog_aggregator.port:
description: "TCP port of syslog aggregator"
syslog_aggregator.transport:
description: "Transport to be used when forwarding logs (tcp|udp|relp)."
default: "tcp"
cf_mysql.mysql.admin_username:
description: 'Username for the MySQL server admin user'
default: 'root'
cf_mysql.mysql.admin_password:
description: 'Password for the MySQL server admin user'
cf_mysql.mysql.previous_admin_username:
description: 'Optional. Previous username of the MySQL server admin user to be removed. Use this when changing the admin_username to avoid leaving around an unused user with root access.'
cf_mysql.mysql.port:
description: 'Port the mysql server should bind to'
default: 3306
cf_mysql.mysql.advertise_host:
description: |
Optional. IP address used to reach mysql from other cluster members
If not provided, the IP is automatically determined.
cf_mysql.mysql.galera_port:
description: 'Port which Galera Cluster uses for communication across nodes'
default: 4567
cf_mysql.mysql.max_connections:
description: 'Maximum total number of database connections for the node'
default: 1500
cf_mysql.mysql.character_set_server:
description: 'Default character set. Note that while the MariaDB default is latin1, we default to utf8.'
default: utf8
cf_mysql.mysql.collation_server:
description: 'Default collation. Use SHOW COLLATION to view the valid collations for your character set.'
default: utf8_unicode_ci
cf_mysql.mysql.max_open_files:
description: 'Configure this number to be comfortably larger than the maximum number of tables you expect the database to support.'
default: 65536
cf_mysql.mysql.innodb_buffer_pool_size:
description: 'Optional, the size in bytes of the memory buffer InnoDB uses to cache data and indexes of its tables'
cf_mysql.mysql.innodb_buffer_pool_instances:
description: 'Optional, number of buffer pool instances for InnoDB used if innodb_buffer_pool_size > 1GB'
cf_mysql.mysql.innodb_lock_wait_timeout:
description: 'Optional, time in seconds that an InnoDB transaction waits for an InnoDB row lock'
cf_mysql.mysql.cluster_ips:
description: 'Optional, list of nodes. Must have the same number of ips as there are nodes in the cluster'
cf_mysql.mysql.max_allowed_packet:
description: 'The maximum size in bytes of a packet or a generated/intermediate string'
default: 256M
cf_mysql.mysql.max_heap_table_size:
description: 'The maximum size (in rows) to which user-created MEMORY tables are permitted to grow'
default: 16777216
cf_mysql.mysql.tmp_table_size:
description: 'The maximum size (in bytes) of internal in-memory temporary tables'
default: 33554432
cf_mysql.mysql.wsrep_max_ws_rows:
description: 'Maximum permitted number of rows per writeset.'
default: 0
cf_mysql.mysql.wsrep_max_ws_size:
description: 'Maximum permitted size in bytes per writeset.'
default: 1073741824
cf_mysql.mysql.skip_name_resolve:
description: 'Do not restrict connections to database based on hostname'
default: true
#these two properties are also used by the Broker
cf_mysql.mysql.gcache_size:
description: 'Cache size used by galera (maximum amount of data possible in an IST), in MB'
default: 512
cf_mysql.mysql.ib_log_file_size:
description: 'Size of the ib_log_file used by innodb, in MB'
default: 1024
cf_mysql.mysql.seeded_databases:
description: 'Set of databases to seed'
default: {}
example: |
- name: db1
username: user1
password: pw1
- name: db2
username: user2
password: pw2
cf_mysql.mysql.roadmin_enabled:
description: 'Whether read only user is enabled'
default: false
cf_mysql.mysql.roadmin_password:
description: 'Password for the MySQL server read-only admin user'
cf_mysql.mysql.server_audit_events:
description: 'Enable audit logging and specify types of events that will be logged. If null, then logging is disabled'
example: 'connect,query_ddl,query_dml,query_dcl'
cf_mysql.mysql.server_audit_file_rotations:
default: 30
description: 'Number of audit file rotations to keep'
cf_mysql.mysql.server_audit_file_rotate_size_in_mb:
default: 100
description: 'Size in MB of each audit log file'
cf_mysql.mysql.server_audit_excluded_users:
description: 'Other database users to exclude from audit logging'
default: []
example: |
- monitoring_user
- other_excluded_user
- bot_user
cf_mysql.mysql.cluster_health.log_interval:
description: 'Time in seconds between log entries for cluster health'
default: 30
cf_mysql.mysql.cluster_health.password:
description: 'Password for the cluster logger health user'
cf_mysql.mysql.galera_healthcheck.endpoint_username:
description: 'Username used by the sidecar endpoints for Basic Auth'
default: galera-healthcheck
cf_mysql.mysql.galera_healthcheck.endpoint_password:
description: 'Password used by the sidecar endpoints for Basic Auth'
cf_mysql.mysql.galera_healthcheck.port:
description: 'Port used by sidecar process to listen on'
default: 9200
cf_mysql.mysql.galera_healthcheck.db_password:
description: 'Password used by the sidecar to connect to the database'
cf_mysql.mysql.disable_auto_sst:
description: 'When disable_auto_sst is true, nodes unable to IST will be prevented from automatically deleting their data and performing an SST'
default: true
cf_mysql.mysql.interrupt_notify_cmd:
description: 'Path to a binary to run when SST is prevented from running'
default: ""
cf_mysql.mysql.userstat:
default: false
description: 'Enables user statistics, adding several new information schema tables and new FLUSH and SHOW commands.'
cf_mysql.mysql.binlog_enabled:
default: true
description: 'Enable binlogs across all nodes'
cf_mysql.mysql.binlog_expire_days:
default: 7
description: 'Time in days to store binlogs before purging'
cf_mysql.mysql.wsrep_debug:
description: "When set to 1 or 2, the database server logs additional events surrounding errors to help in identifying and correcting problems. Note, these logs are written to disk and to syslog. Enabling this will possibly expose unencrypted application data."
default: 0
cf_mysql.mysql.log_conflicts:
default: true
description: 'Defines whether the node logs additional information about conflicts. The values that were in conflict are logged, so it is possible for user data to end up in the logs.'
cf_mysql.mysql.log_queries_not_using_indexes:
default: false
description: "Queries that don't use an index, or that perform a full index scan where the index doesn't limit the number of rows, will be logged to the slow query log."
cf_mysql.mysql.event_scheduler:
default: "off"
description: Events are named database objects containing SQL statements that are to be executed at a later stage, either once off, or at regular intervals.
cf_mysql.mysql.startup_timeout:
default: 60
description: 'Number of seconds that monit should wait for mysql to start before giving up'