Initial Chef repository

This commit is contained in:
Greg Karékinian
2015-07-21 19:45:23 +02:00
parent 7e5401fc71
commit ee4079fa85
1151 changed files with 185163 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
if defined?(ChefSpec)
def install_mysql2_chef_gem(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:mysql2_chef_gem, :install, resource_name)
end
end

View File

@@ -0,0 +1,37 @@
class Chef
class Provider
class Mysql2ChefGem
class Mariadb < Chef::Provider::LWRPBase
use_inline_resources if defined?(use_inline_resources)
def whyrun_supported?
true
end
action :install do
recipe_eval do
run_context.include_recipe 'build-essential::default'
end
# As a recipe: must rely on global node attributes
recipe_eval do
run_context.include_recipe 'mariadb::client'
end
gem_package 'mysql2' do
gem_binary RbConfig::CONFIG['bindir'] + '/gem'
version new_resource.gem_version
action :install
end
end
action :remove do
gem_package 'mysql2' do
gem_binary RbConfig::CONFIG['bindir'] + '/gem'
action :remove
end
end
end
end
end
end

View File

@@ -0,0 +1,37 @@
class Chef
class Provider
class Mysql2ChefGem
class Mysql < Chef::Provider::LWRPBase
include Chef::DSL::IncludeRecipe
use_inline_resources if defined?(use_inline_resources)
def whyrun_supported?
true
end
action :install do
include_recipe 'build-essential::default'
# As a resource: can pass version from calling recipe
mysql_client 'default' do
version new_resource.client_version
action :create
end
gem_package 'mysql2' do
gem_binary RbConfig::CONFIG['bindir'] + '/gem'
version new_resource.gem_version
action :install
end
end
action :remove do
gem_package 'mysql2' do
gem_binary RbConfig::CONFIG['bindir'] + '/gem'
action :remove
end
end
end
end
end
end

View File

@@ -0,0 +1,15 @@
require 'chef/resource/lwrp_base'
class Chef
class Resource
class Mysql2ChefGem < Chef::Resource::LWRPBase
self.resource_name = :mysql2_chef_gem
actions :install, :remove
default_action :install
attribute :mysql2_chef_gem_name, kind_of: String, name_attribute: true, required: true
attribute :gem_version, kind_of: String, default: '0.3.17'
attribute :client_version, kind_of: String, default: nil
end
end
end

View File

@@ -0,0 +1,17 @@
#########
# mysql2_chef_gem
#########
Chef::Platform.set platform: :amazon, resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :centos, version: '< 7.0', resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :centos, version: '>= 7.0', resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :debian, resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :fedora, version: '< 19', resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :fedora, version: '>= 19', resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :omnios, resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :redhat, version: '< 7.0', resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :redhat, version: '>= 7.0', resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :scientific, version: '< 7.0', resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :scientific, version: '>= 7.0', resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :smartos, resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :suse, resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql
Chef::Platform.set platform: :ubuntu, resource: :mysql2_chef_gem, provider: Chef::Provider::Mysql2ChefGem::Mysql