cookbook 'mysql_role', '~> 0.1.0'
mysql_role (1) Versions 0.1.0 Follow0
MySQL role wrapper cookbook
cookbook 'mysql_role', '~> 0.1.0', :supermarket
knife supermarket install mysql_role
knife supermarket download mysql_role
Description
Role wrapper cookbook for MySQL.
Install MySQL and configure utility tools such as Percona Toolkit, mysqltuner and other shell tools.
Currently tested with test-kitchen and Chef 11.10.4.
On Ubuntu/Debian, Opscode's apt
cookbook is used to ensure the package
cache is updated so Chef can install mysql chef gem.
Full description on github
Requirements
Platform:
- Ubuntu (>= 12.04)
Cookbooks:
- mysql (= 3.0.2)
- database (~> 1.3.12)
- mysql-chef_gem
- apt (>= 2.6.0)
Attributes
-
node[:mysql][:bind_address]
- Defaults to"0.0.0.0"
. -
node[:mysql][:allow_remote_root]
- Defaults to"false"
. -
node[:mysql][:remove_test_database]
- Defaults to"true"
. -
node[:mysql][:remove_anonymous_users]
- Defaults to"true"
. -
node[:mysql][:tunable][:log_bin]
- Binary log path used for database replication and incremental backups. Defaults to"/var/log/mysql/mysql-bin.log"
. -
node[:mysql][:tunable][:innodb_file_per_table]
- Whether innodb tables should be stored one file per table. Defaults to"true"
. -
node[:mysql][:users_databag]
- Databag containing MySQL users. Defaults to"mysql_users"
.
Recipes
- mysql_role::databag_users - The recipe is used to create MySQL users from databag contents.
- mysql_role::default - Main recipe used to install and configure MySQL.
- mysql_role::full - Used to install and configure MySQL and configure users through databags.
- mysql_role::shell_config - This recipes provides passwordless mysql access for root user.
- mysql_role::tools - Installs some useful system tools to interact with MySQL installation.
mysql_role::databag_users
The recipe is used to create MySQL users from databag contents.
Users are fetched from a search
into node[:mysql][:users_databag]
with the key server:#{server_fqdn}
where server_fqdn
is computed from node[:fqdn]
. If cookbook user is using the hostname
cookbook and he has set node[:set_fqdn]
to change the hostname it will take precedence on node[:fqdn]
to
avoid issues on first run.
See databag format for details on databag content.
mysql_role::default
Main recipe used to install and configure MySQL.
Depends on apt::default
to update the package cache, then it includes all other recipes but databag_users
mysql_role::full
Used to install and configure MySQL and configure users through databags.
Also includes default recipe.
mysql_role::shell_config
This recipes provides passwordless mysql access for root user. It writes '/root/.my.cnf'
file (with 0600
permissions)
to allow root user to access mysql from shell without providing password.
mysql_role::tools
Installs some useful system tools to interact with MySQL installation. Provided tools are:
Percona toolkit is installed with Ubuntu native package.
The latter three tools are installed from vendored files into /usr/local/bin
so they are available in $PATH
.
Databag format for users
This is the JSON structure used in databag for defining users
{ "id": "uniq_id", # not used in recipe but required for databag semantic "server": "db.example.org", // Single or multiple elements allowed "server": ["db1.example.org", "db2.example.org"], // if array the user will be created on all matching servers "username": "db_username", // mandatory parameter "password": "db_password", // mandatory, plain or hashed password "host": "%.example.org", // optional, default localhost "privileges": ["SELECT, UPDATE"], // optional, default :all "database_name": "db", // optional, default *, i.e. all databases // if given the previous grants will be given for all of these database and database parameter is ignored "databases": [ "db1", "db2", "db3" ] }
License and Maintainer
Maintainer:: Fabio Napoleoni (f.napoleoni@gmail.com)
License:: Apache 2.0
Dependent cookbooks
mysql = 3.0.2 |
database ~> 1.3.12 |
mysql-chef_gem >= 0.0.0 |
apt >= 2.6.0 |
Contingent cookbooks
Collaborator Number Metric
0.1.0 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.1.0 failed this metric
FC064: Ensure issues_url is set in metadata: mysql_role/metadata.rb:1
FC065: Ensure source_url is set in metadata: mysql_role/metadata.rb:1
FC066: Ensure chef_version is set in metadata: mysql_role/metadata.rb:1
FC069: Ensure standardized license defined in metadata: mysql_role/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.0 passed this metric
Testing File Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.0 failed this metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.1.0 failed this metric
FC064: Ensure issues_url is set in metadata: mysql_role/metadata.rb:1
FC065: Ensure source_url is set in metadata: mysql_role/metadata.rb:1
FC066: Ensure chef_version is set in metadata: mysql_role/metadata.rb:1
FC069: Ensure standardized license defined in metadata: mysql_role/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.0 passed this metric
Testing File Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.0 failed this metric
FC065: Ensure source_url is set in metadata: mysql_role/metadata.rb:1
FC066: Ensure chef_version is set in metadata: mysql_role/metadata.rb:1
FC069: Ensure standardized license defined in metadata: mysql_role/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.1.0 passed this metric
Testing File Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.0 failed this metric
0.1.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number