/mysql2_chef_gem

Primary LanguageRubyApache License 2.0Apache-2.0

Mysql2 Chef Gem Installer Cookbook

Build Status Cookbook Version

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

depends 'mysql2_chef_gem', '~> 1.0'

Then, in a recipe:

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

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.

mysql2_chef_gem 'default' do
  provider Chef::Provider::Mysql2ChefGem::Mariadb
  action :install
end

License & Authors

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.