125 lines
4.4 KiB
Markdown
125 lines
4.4 KiB
Markdown
Mysql2 Chef Gem Installer Cookbook
|
|
==================================
|
|
|
|
[](https://travis-ci.org/sinfomicien/mysql2_chef_gem)
|
|
[](https://supermarket.chef.io/cookbooks/mysql2_chef_gem)
|
|
|
|
mysql2_chef_gem is a library cookbook that provides an LWRP for use
|
|
in recipes. It provides a wrapper around `chef_gem` called
|
|
`mysql2_chef_gem` that eases the installation process, collecting the
|
|
prerequisites and side-stepping the compilation phase arms race.
|
|
|
|
Scope
|
|
-----
|
|
This cookbook is concerned with the installation of the `mysql2`
|
|
Rubygem into Chef's gem path. Installation into other Ruby
|
|
environments, or installation of related gems such as `mysql` are
|
|
outside the scope of this cookbook.
|
|
|
|
Requirements
|
|
------------
|
|
* Chef 11 or higher
|
|
* Ruby 1.9 (preferably from the Chef full-stack installer)
|
|
|
|
Platform Support
|
|
----------------
|
|
The following platforms have been tested with Test Kitchen and are
|
|
known to work.
|
|
|
|
```
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| | 5.0 | 5.1 | 5.5 | 5.6 | 5.7 |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mysql / centos-5 | X | | | X | X |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mysql / centos-6 | | X | X | X | X |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mysql / centos-7 | | | X | X | X |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mysql / fedora-20 | | | X | X | X |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mysql / debian-7 | | | X | | |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mysql / ubuntu-10.04 | | X | | | |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mysql / ubuntu-12.04 | | | X | | |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mysql / ubuntu-14.04 | | | X | X | |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mariadb / fedora-20 | | | X | | |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
| Mysql2ChefGem::Mariadb / ubuntu-14.04 | | | X | | |
|
|
|---------------------------------------+-----+-----+-----+-----+-----|
|
|
```
|
|
|
|
Usage
|
|
-----
|
|
Place a dependency on the mysql cookbook in your cookbook's metadata.rb
|
|
```ruby
|
|
depends 'mysql2_chef_gem', '~> 1.0'
|
|
```
|
|
|
|
Then, in a recipe:
|
|
|
|
```ruby
|
|
mysql2_chef_gem 'default' do
|
|
action :install
|
|
end
|
|
```
|
|
|
|
Resources Overview
|
|
------------------
|
|
### mysql2_chef_gem
|
|
|
|
The `mysql2_chef_gem` resource the build dependencies and installation
|
|
of the `mysql2` rubygem into Chef's Ruby environment
|
|
|
|
#### Example
|
|
```ruby
|
|
mysql2_chef_gem 'default' do
|
|
gem_version '0.3.17'
|
|
action :install
|
|
end
|
|
```
|
|
#### Parameters
|
|
- `gem_version` - The version of the `mysql` Rubygem to install into
|
|
the Chef environment. Defaults to '0.3.17'
|
|
connector libraries
|
|
- `client_version` - The version of the mysql client libraries to
|
|
install and link against
|
|
|
|
#### Actions
|
|
- `:install` - Build and install the gem into the Chef environment
|
|
- `:remove` - Delete the gem from the Chef environment
|
|
|
|
#### Providers
|
|
Chef selects a default provider based on platform and version,
|
|
but you can specify one if your platform support it.
|
|
|
|
```ruby
|
|
mysql2_chef_gem 'default' do
|
|
provider Chef::Provider::Mysql2ChefGem::Mariadb
|
|
action :install
|
|
end
|
|
```
|
|
|
|
|
|
License & Authors
|
|
-----------------
|
|
- Author:: Sean OMeara (<someara@chef.io>)
|
|
- Author:: Nicolas Blanc(<sinfomicien@gmail.com>)
|
|
|
|
```
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
```
|