cookbook 'mysql_role', '~> 0.1.0', :supermarket
mysql_role (1) Versions 0.1.0 Follow0
MySQL role wrapper cookbook
cookbook 'mysql_role', '~> 0.1.0'
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 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.0 passed this metric
Publish Metric
0.1.0 passed this metric
Supported Platforms 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 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.1.0 passed this metric
Publish Metric
0.1.0 passed this metric
Supported Platforms 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 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.1.0 passed this metric
Publish Metric
0.1.0 passed this metric
Supported Platforms 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 passed this 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 include a tag that matches this cookbook version number