Switch from Batali to Berkshelf to manage upstream cookbooks

This commit is contained in:
2018-04-17 12:15:43 +02:00
parent 0c80aaabd4
commit d3aa94aab5
62 changed files with 943 additions and 2560 deletions
View File
View File
-1
View File
@@ -1 +0,0 @@
--color
-14
View File
@@ -1,14 +0,0 @@
bundler_args: --without integration
before_script: bundle exec berks install
script: bundle exec rake
language: ruby
rvm:
- 2.3.1
sudo: false
notifications:
hipchat:
secure: ! 'mTePogP3SZVXbZ8l3o1yN+uszEEwQY3WgBXXXQc4hV1nLGhAXgjgj5ueCKAE
JzFSZEjp+31OOg4CIMKs+awwv/SUnFUjB1hlHPrpVnWqUORez6l2fvPABiIs
kshNJ3x5zPlxJwo/U8jObaxJ7XdjxFKugod3q2rzTsq3TlLF2WA='
-8
View File
@@ -1,8 +0,0 @@
# -*- ruby -*-
source 'https://supermarket.getchef.com'
metadata
group :integration do
cookbook 'minitest-handler'
end
-65
View File
@@ -1,65 +0,0 @@
# Change History
0.4.2 (2017-05-04)
==================
- #51: Make host file idempotent on RHEL
- #52: Add `append_hostsfile_ip` logic for improved idempotence
- #55: Ensure sysctl `kernel.hostname` set correctly on RHEL
0.4.1 (2017-04-24)
==================
- #43: Set unique hosts file entry for hostname
- #44: Make hostname mapping to `127.0.0.1` optional
- #59: Updates to resolve deprecations warnings
- #60, #61: various test fixes
0.4.0 (2015-03-16)
==================
- #40: Use file resources with lazy eval and notifies to prevent network restarts from occurring on every chef run (Matt Kasa)
- Add box with Ubuntu 14.04 for kitchen tests
- #27: Update default recipe to reload only the hostname plugin instead of ohai (Jonathan Serafini)
0.3.0 (2014-05-20)
==================
- Fixed (and tested) FreeBSD support
- #17: added support for RedHat & CentOS (Damien Roche, Marta Paciorkowska)
- added instructions on manual testing with reboot (Marta Paciorkowska)
0.2.0
=====
- Refresh and fix tests, add Rubocop style checks (Marta Paciorkowska)
- #16: do not remove existing /etc/hosts entries on 127.0.0.1, use
configurable IP for hostname entry we need to have for ourselves
(Jean Mertz, Marta Paciorkowska)
0.1.0
=====
- Tests: chefspec, test-kitchen
- Substitute `*` in `set_fqdn` with `node.name` to allow fully
automatic FQDN setup.
0.0.6
=====
- Clean up backup files from community.opscode.com release
0.0.5
=====
- Added change log
- `metadata.rb` explicitly states cookbook name (Chulki Lee)
- New recipe `hostname::vmware` (tily)
- Use hostsfile cookbook to manipulate `/etc/hosts`, use 127.0.1.1
instead of trying to figure out own IP (Guilhem Lettron)
0.0.4
=====
- Use attribute levels when setting for Chef 11 compatibility (Alan
Wilhelm)
0.0.3
=====
- Syntax fix for compatibility with Ruby 1.9.2
0.0.2 and before
================
This is prehistory.
+44
View File
@@ -0,0 +1,44 @@
{
"name": "hostname",
"description": "Configures hostname and FQDN",
"long_description": "# hostname cookbook\n\n[![Build Status](https://travis-ci.org/3ofcoins/chef-cookbook-hostname.svg?branch=master)](https://travis-ci.org/3ofcoins/chef-cookbook-hostname)\n[![Chef cookbook](https://img.shields.io/cookbook/v/hostname.svg)](https://supermarket.chef.io/cookbooks/hostname)\n## Description\n\nSets hostname and FQDN of the node. The latest code is hosted at\nhttps://github.com/3ofcoins/chef-cookbook-hostname\n\n### Important\n\nSetting hostname on FQDN is not (and won't be) supported. Unfortunately, using dots in the hostname can cause\n[inconsistent results for any system that consumes DNS](http://serverfault.com/questions/229331/can-i-have-dots-in-a-hostname)\nand [is not allowed by RFC952](http://tools.ietf.org/html/rfc952). If a user\nneeds additional info in their shell prompt, they can change PS1 in etc/profile\nto include the FQDN together with any information they find useful (such as\nthe customer, the environment, etc).\n\n## Attributes\n\n- `node['set_fqdn']` - FQDN to set.\n\nThe asterisk character will be replaced with `node.name`. This way,\nyou can add this to base role:\n\n```ruby\ndefault_attributes :set_fqdn => '*.project-domain.com'\n```\n\nand have node set its FQDN and hostname based on its chef node name\n(which is provided on `chef-client` first run's command line).\n\n- `node['hostname_cookbook']['hostsfile_ip']` -- IP used in\n `/etc/hosts` to correctly set FQDN (default: `127.0.1.1`)\n- `node['hostname_cookbook']['hostsfile_aliases']` -- list of aliases used in\n `/etc/hosts` for the ip set above (default: [`hostname`])\n- `node['hostname_cookbook']['hostsfile_include_hostname_in_aliases']` -- whether to include the hostname\n at the end of the aliases list above (default: true)\n\n- `node['hostname_cookbook']['append_hostsfile_ip']` -- Set to `false` to\n prevent an entry for the node's hostname from being appended in `/etc/hosts` (default: `true`)\n\n## Recipes\n\n* `hostname::default` -- will set node's FQDN to value of `set_fqdn` attribute,\nand hostname to its host part (up to first dot).\n* `hostname::vmware` -- sets hostname automatically using vmtoolsd.\nYou do not need to set `node[\"set_fqdn\"]`.\n\n## Author\n\nAuthor: Maciej Pasternacki maciej@3ofcoins.net\n",
"maintainer": "Maciej Pasternacki",
"maintainer_email": "maciej@3ofcoins.net",
"license": "MIT",
"platforms": {
"debian": ">= 0.0.0",
"ubuntu": ">= 0.0.0",
"freebsd": ">= 0.0.0"
},
"dependencies": {
"hostsfile": ">= 0.0.0"
},
"recommendations": {
},
"suggestions": {
},
"conflicting": {
},
"providing": {
},
"replacing": {
},
"attributes": {
},
"groupings": {
},
"recipes": {
},
"version": "0.4.2",
"source_url": "https://github.com/3ofcoins/chef-cookbook-hostname",
"issues_url": "https://github.com/3ofcoins/chef-cookbook-hostname/issues",
"privacy": false
}
-20
View File
@@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
name 'hostname'
maintainer 'Maciej Pasternacki'
maintainer_email 'maciej@3ofcoins.net'
license 'MIT'
description 'Configures hostname and FQDN'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '0.4.2'
supports 'debian'
supports 'ubuntu'
supports 'freebsd'
depends 'hostsfile'
source_url 'https://github.com/3ofcoins/chef-cookbook-hostname' if respond_to?(:source_url)
issues_url 'https://github.com/3ofcoins/chef-cookbook-hostname/issues' if respond_to?(:issues_url)
chef_version '>= 12.1' if respond_to?(:chef_version)
-7
View File
@@ -1,7 +0,0 @@
name 'hostsfile'
maintainer 'Seth Vargo'
maintainer_email 'sethvargo@gmail.com'
license 'Apache 2.0'
description 'Provides an LWRP for managing the /etc/hosts file'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '2.4.5'
-51
View File
@@ -1,51 +0,0 @@
*.rbc
.config
coverage
InstalledFiles
lib/bundler/man
pkg
rdoc
spec/reports
test/tmp
test/version_tmp
tmp
_Store
*~
*#
.#*
\#*#
.*.sw[a-z]
*.un~
*.tmp
*.bk
*.bkup
# ruby/bundler files
.ruby-version
.ruby-gemset
.rvmrc
Gemfile.lock
.bundle
*.gem
# YARD artifacts
.yardoc
_yardoc
doc/
.idea
# chef stuff
Berksfile.lock
.kitchen
.kitchen.local.yml
vendor/
.coverage/
.zero-knife.rb
Policyfile.lock.json
Cheffile.lock
.librarian/
# vagrant stuff
.vagrant/
.vagrant.d/
.kitchen/
-29
View File
@@ -1,29 +0,0 @@
driver:
name: vagrant
provisioner:
name: chef_zero
# We have tests that ensure our deprecated features still
# work so we can't turn this on globally.
# deprecations_as_errors: true
platforms:
- name: centos-6.8
- name: centos-7.3
# - name: debian-7.11
- name: debian-8.6
- name: fedora-25
- name: opensuse-leap-42.1
- name: ubuntu-14.04
- name: ubuntu-16.04
suites:
- name: default
run_list:
- recipe[logrotate::default]
- name: definition
run_list:
- recipe[fake::definition]
- name: global
run_list:
- recipe[logrotate::global]
-20
View File
@@ -1,20 +0,0 @@
# Use Travis's cointainer based infrastructure
sudo: false
addons:
apt:
sources:
- chef-stable-precise
packages:
- chefdk
branches:
only:
- master
# Ensure we make ChefDK's Ruby the default
install: echo "Using ChefDK for all dependencies"
before_script:
- eval "$(/opt/chefdk/bin/chef shell-init bash)"
script:
- make travis
-7
View File
@@ -1,7 +0,0 @@
source 'https://supermarket.chef.io'
metadata
group :development do
cookbook 'fake', path: 'test/fixtures/cookbooks/fake'
end
-194
View File
@@ -1,194 +0,0 @@
logrotate Cookbook CHANGELOG
============================
This file is used to list changes made in each version of the
logrotate cookbook.
v2.2.0
------
# Compatibility Notes
The `compat_resource` dependency was removed. This means we now
require Chef 12.5 or higher. It also means we now better support Chef
13.
# Enhancements
- The global configuration now supports scripts.
- The package install action (upgrade by default) is now configurable
via an attribute.
- The development environment now more closely follows modern cookbook
practices.
# Bug Fixes
- ChefSpec matcher now correctly calls ChefSpec.define_matcher.
-
# Contributors
- Austin Heiman
- Baptiste Courtois
- Bogdan Katynski
- Thomas Dziedzic
- Tim Smith
v2.1.0
------
# Bug Fixes
- Restore `cookbook` parameter for `logrotate_app` resource due to
popular demand.
- Add a `template_name` parameter to replace the 1.x `template`
parameter. The name `template` can't be used inside a resource
without conflicting with an attribute of the same name.
- Fix exception when `options` specified as a string rather than an
array
v2.0.0
------
- Convert the logrotate_app definition to a resource
- Accept all options included in logrotate 3.9.2
# Known incompatibilities
- The `cookbook` parameter to `logrotate_app` is no longer accepted.
v1.9.2
------
## Bug Fixes
- Fix deprecation warnings from ChefSpec
v1.9.1
------
## Bug Fixes
- Fixes regression in the sharedscripts logrotate_app
parameter (Bug #69)
v1.9.0
------
### Improvements
- All configuration options from the logrotate 3.8.8 manual page can
be used by the global configuration and the logrotate_app
definition.
- Berkshelf is no longer a development dependency of the
logrotate cookbook.
- Rubocop lint failures have been resolved.
v1.8.0
------
### Resolved Bugs
- `su` parameter now supported in global config.
### Improvements
- firstaction and lastaction attributes documented in the README
- rotate attribute documented in the README
- Use hash-rocket syntax in rspec matcher to maintain 1.9 support.
v1.7.0
------
### Bugs
- Use `raise` rather than Application.fatal! to prevent killing a
daemonized chef-client
### Improvements
- Chefspec matcher for logrotate_app definition
- Support the following options: compressoptions, maxage,
shred/shredcycles, extension, tabooext
- Add Solaris support
v1.6.0
------
### Bugs
- Fix documentation error
### Improvements
- Support for options "compresscmd", "uncompresscmd", "compressext"
- Allow nodateext as parameter for logrotate_app definition
- Move to chefspec ~> 3.0
v1.5.0
------
### Bugs
- Fix missing end tag in template
- Don't re-initialize constants.
- Fix rubocop finding
### Improvements
- [COOK-3911] Allow to use maxsize parameter.
- [COOK-4000] Allow to use dateyesterday option.
- [COOK-4024] Allow to use su parameter.
- [COOK-4175] Allows use of the dateformat parameter.
- Loosen test-kitchen version constraint
- Add rvm files to gitignore
v1.4.0
------
### Bug
- **[COOK-3632](https://tickets.chef.io/browse/COOK-3632)** - Raise Exception when adding more than one invalid option
- **[COOK-3141](https://tickets.chef.io/browse/COOK-3141)** - Do not duplicate template entires for multiple paths
- **[COOK-3034](https://tickets.chef.io/browse/COOK-3034)** - Update logrotate_app params to accept arrays and strings
### Improvement
- **[COOK-2646](https://tickets.chef.io/browse/COOK-2646)** - Add ability to choose file mode for logrotate template
v1.3.0
------
### Improvement
- **[COOK-3341](https://tickets.chef.io/browse/COOK-3341)** - Add optional `frequency` and `rotate` params when defined globally
- **[COOK-3298](https://tickets.chef.io/browse/COOK-3298)** - Use `Array` instead of `respond_to?(:each)`
- **[COOK-3285](https://tickets.chef.io/browse/COOK-3285)** - Change `logrotate.d` config file mode to `0644`
- **[COOK-3250](https://tickets.chef.io/browse/COOK-3250)** - Add `minsize`
### Bug
- **[COOK-3274](https://tickets.chef.io/browse/COOK-3274)** - Fix README typo that suggested the opposite action
### New Feature
- **[COOK-2923](https://tickets.chef.io/browse/COOK-2923)** - Add `olddir` option
- **[COOK-1651](https://tickets.chef.io/browse/COOK-1651)** - Add `dateext` ability
v1.2.2
-----
### Bug
- [COOK-2872]: Add firstaction/lastaction ability to logrotate
- [COOK-2908]: Argument error in `logrotate_app` definition
v1.2.0
-----
- [COOK-2401] - Add the ability to manage the global logrotate configuration
v1.1.0
-----
- [COOK-2218] - Logrotate size parameter
v1.0.2
-----
- [COOK-1027] - Add support for pre-/post-rotate commands
- [COOK-1338] - Update log rotate for more flexibility of rotate options
- [COOK-1598] - "Create" isn't a mandatory option
-46
View File
@@ -1,46 +0,0 @@
## Contribution Guidelines
- Please submit improvements and bug fixes via Github pull requests or
by sending an email to steve@chef.io in git's format-patch
format.
- All patches should have well-written commit message. The first line
should summarize the change while the rest of the commit message
should explain the reason the change is needed.
- Please ensure all tests and lint checking pass before submitting
pull requests.
## Development
### Requirements
- Ruby 2.0+
- Latest ChefDK
- [Vagrant](https://vagrantup.com)
- [VirtualBox](https://virtualbox.org)
### Development Flow
1. Clone the git repository from GitHub:
git clone git@github.com:stevendanna/logrotate.git
2. Ensure you have ChefDK installed:
chef --version
3. Create a branch for your changes:
git checkout -b my_bug_fix
4. Make any changes
5. Write tests to support those changes. It is highly recommended you
write both unit and integration tests.
6. Run the tests:
- `make travis`
- `kitchen test`
7. Assuming the tests pass, open a Pull Request on GitHub
-18
View File
@@ -1,18 +0,0 @@
name 'logrotate'
maintainer 'Steven Danna'
maintainer_email 'steve@chef.io'
license 'Apache 2.0'
description 'Installs logrotate package and provides a definition for logrotate configs'
long_description 'Installs the logrotate package, manages /etc/logrotate.conf, and provides a logrotate_app definition.'
version '2.2.0'
recipe 'logrotate', 'Installs logrotate package'
provides 'logrotate_app'
%w(amazon centos debian fedora redhat scientific solaris2 ubuntu).each do |platform|
supports platform
end
source_url 'https://github.com/stevendanna/logrotate'
issues_url 'https://github.com/stevendanna/logrotate/issues'
chef_version '>= 12.5' if respond_to?(:chef_version)
-9
View File
@@ -1,9 +0,0 @@
# 0.1.0
Initial release of mediawiki
* Enhancements
* an enhancement
* Bug Fixes
* a bug fix
-88
View File
@@ -1,88 +0,0 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.require_version ">= 1.5.0"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
config.vm.hostname = "mediawiki-berkshelf"
# Set the version of chef to install using the vagrant-omnibus plugin
config.omnibus.chef_version = :latest
# Every Vagrant virtual environment requires a box to build off of.
# If this value is a shorthand to a box in Vagrant Cloud then
# config.vm.box_url doesn't need to be specified.
config.vm.box = "chef/ubuntu-14.04"
# The url from where the 'config.vm.box' box will be fetched if it
# is not a Vagrant Cloud box and if it doesn't already exist on the
# user's system.
# config.vm.box_url = "https://vagrantcloud.com/chef/ubuntu-14.04/version/1/provider/virtualbox.box"
# Assign this VM to a host-only network IP, allowing you to access it
# via the IP. Host-only networks can talk to the host machine as well as
# any other machines on the same network, but cannot be accessed (through this
# network interface) by any external networks.
config.vm.network :private_network, type: "dhcp"
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider :virtualbox do |vb|
# # Don't boot with headless mode
# vb.gui = true
#
# # Use VBoxManage to customize the VM. For example to change memory:
# vb.customize ["modifyvm", :id, "--memory", "1024"]
# end
#
# View the documentation for the provider you're using for more
# information on available options.
# The path to the Berksfile to use with Vagrant Berkshelf
# config.berkshelf.berksfile_path = "./Berksfile"
# Enabling the Berkshelf plugin. To enable this globally, add this configuration
# option to your ~/.vagrant.d/Vagrantfile file
config.berkshelf.enabled = true
# An array of symbols representing groups of cookbook described in the Vagrantfile
# to exclusively install and copy to Vagrant's shelf.
# config.berkshelf.only = []
# An array of symbols representing groups of cookbook described in the Vagrantfile
# to skip installing and copying to Vagrant's shelf.
# config.berkshelf.except = []
config.vm.provision :chef_solo do |chef|
chef.json = {
mysql: {
server_root_password: 'rootpass',
server_debian_password: 'debpass',
server_repl_password: 'replpass'
}
}
chef.run_list = [
"recipe[mediawiki::default]"
]
end
end
+147
View File
@@ -0,0 +1,147 @@
{
"name": "mediawiki",
"description": "Installs/Configures mediawiki",
"long_description": "Installs/Configures mediawiki",
"maintainer": "pulsation",
"maintainer_email": "YOUR_EMAIL",
"license": "BSD",
"platforms": {
"centos": ">= 0.0.0",
"debian": ">= 0.0.0"
},
"dependencies": {
"apache2": ">= 0.0.0",
"php": ">= 0.0.0",
"mysql": ">= 0.0.0",
"database": ">= 0.0.0",
"chef_nginx": ">= 0.0.0",
"mysql2_chef_gem": ">= 0.0.0",
"php-fpm": ">= 0.0.0"
},
"recommendations": {
},
"suggestions": {
},
"conflicting": {
},
"providing": {
},
"replacing": {
},
"attributes": {
"mediawiki/version": {
"display_name": "Mediawiki version",
"type": "string",
"required": "recommended",
"choice": [
],
"calculated": false,
"recipes": [
]
},
"mediawiki/database/name": {
"display_name": "Database name",
"type": "string",
"required": "optional",
"choice": [
],
"calculated": false,
"recipes": [
]
},
"mediawiki/database/user": {
"display_name": "Database user",
"type": "string",
"required": "optional",
"choice": [
],
"calculated": false,
"recipes": [
]
},
"mediawiki/database/password": {
"display_name": "Database password",
"type": "string",
"required": "optional",
"choice": [
],
"calculated": false,
"recipes": [
]
},
"mediawiki/server_name": {
"display_name": "Server name",
"type": "string",
"required": "recommended",
"choice": [
],
"calculated": false,
"recipes": [
]
},
"mediawiki/sciptpath": {
"display_name": "Script path",
"type": "string",
"required": "optional",
"choice": [
],
"calculated": false,
"recipes": [
]
},
"mediawiki/admin_user": {
"display_name": "Admin user",
"type": "string",
"required": "recommended",
"choice": [
],
"calculated": false,
"recipes": [
]
},
"mediawiki/admin_password": {
"display_name": "Admin password",
"type": "string",
"required": "recommended",
"choice": [
],
"calculated": false,
"recipes": [
]
}
},
"groupings": {
},
"recipes": {
"mediawiki::default": "Installs/Configures mediawiki"
},
"version": "0.3.0",
"source_url": "",
"issues_url": "",
"privacy": false,
"chef_versions": [
],
"ohai_versions": [
],
"gems": [
]
}
-59
View File
@@ -1,59 +0,0 @@
name 'mediawiki'
maintainer 'pulsation'
license 'BSD'
description 'Installs/Configures mediawiki'
long_description 'Installs/Configures mediawiki'
version '0.3.0'
depends 'apache2'
depends 'php'
depends 'mysql'
depends 'database'
depends 'chef_nginx'
depends 'mysql2_chef_gem'
depends 'php-fpm'
attribute 'mediawiki/version',
:display_name => "Mediawiki version",
:type => "string",
:required => "recommended"
attribute 'mediawiki/database/name',
:display_name => "Database name",
:type => "string",
:required => "optional"
attribute 'mediawiki/database/user',
:display_name => "Database user",
:type => "string",
:required => "optional"
attribute 'mediawiki/database/password',
:display_name => "Database password",
:type => "string",
:required => "optional"
attribute 'mediawiki/server_name',
:display_name => "Server name",
:type => "string",
:required => "recommended"
attribute 'mediawiki/sciptpath',
:display_name => "Script path",
:type => "string",
:required => "optional"
attribute 'mediawiki/admin_user',
:display_name => "Admin user",
:type => "string",
:required => "recommended"
attribute 'mediawiki/admin_password',
:display_name => "Admin password",
:type => "string",
:required => "recommended"
recipe "mediawiki::default", "Installs/Configures mediawiki"
supports "centos"
supports "debian"
+1 -1
View File
@@ -63,8 +63,8 @@ bash "configure_mediawiki_database" do
cwd node["mediawiki"]["webdir"]
code "php maintenance/install.php" +
" --pass '" + node["mediawiki"]["admin_password"] +
"' --dbserver 'localhost:/run/mysql-default/mysqld.sock" +
"' --dbname '" + node["mediawiki"]["db"]["name"] +
"' --dbpass '" + node["mediawiki"]["db"]["pass"] +
"' --dbuser '" + node["mediawiki"]["db"]["user"] +
"' --server '" + node["mediawiki"]["server"] +
"' --scriptpath '" + node["mediawiki"]["scriptpath"] +
-49
View File
@@ -1,49 +0,0 @@
*.rbc
.config
coverage
InstalledFiles
lib/bundler/man
pkg
rdoc
spec/reports
test/tmp
test/version_tmp
tmp
_Store
*~
*#
.#*
\#*#
.*.sw[a-z]
*.un~
*.tmp
*.bk
*.bkup
# ruby/bundler files
.ruby-version
.ruby-gemset
.rvmrc
Gemfile.lock
.bundle
*.gem
# YARD artifacts
.yardoc
_yardoc
doc/
.idea
# chef stuff
Berksfile.lock
.kitchen
.kitchen.local.yml
vendor/
.coverage/
.zero-knife.rb
Policyfile.lock.json
# vagrant stuff
.vagrant/
.vagrant.d/
.kitchen/
-105
View File
@@ -1,105 +0,0 @@
driver:
name: vagrant
provisioner:
name: chef_zero
verifier:
name: inspec
driver_config:
customize:
memory: 512
cpus: 4
platforms:
- name: centos-5.11
- name: centos-6.8
- name: centos-7.2
- name: debian-7.11
run_list: apt::default
- name: debian-8.5
run_list: apt::default
- name: fedora-24
run_list: yum::dnf_yum_compat
- name: ubuntu-12.04
run_list: apt::default
- name: ubuntu-14.04
run_list: apt::default
- name: ubuntu-16.04
run_list: apt::default
suites:
- name: default
run_list:
- recipe[nodejs]
- name: package
run_list:
- recipe[nodejs]
attributes:
nodejs:
install_method: package
- name: binary
run_list:
- recipe[nodejs]
attributes:
nodejs:
install_method: binary
- name: source
run_list:
- recipe[nodejs]
attributes:
nodejs:
install_method: source
excludes:
- ubuntu-12.04
- centos-5.11
- centos-6.8
- name: source-iojs
run_list:
- recipe[nodejs]
attributes:
nodejs:
engine: iojs
install_method: source
source:
checksum: 55e79cc4f4cde41f03c1e204d2af5ee4b6e4edcf14defc82e518436e939195fa
version: 2.2.1
excludes:
- ubuntu-12.04
- centos-5.11
- centos-6.8
- name: npm
run_list:
- recipe[nodejs::npm]
- recipe[nodejs_test::npm]
- name: npm_embedded
run_list:
- recipe[nodejs::npm]
- recipe[nodejs_test::npm]
attributes:
nodejs:
npm:
install_method: embedded
- name: npm_source
run_list:
- recipe[nodejs::npm]
- recipe[nodejs_test::npm]
attributes:
nodejs:
npm:
install_method: source
excludes:
- ubuntu-12.04
- centos-5.11
- centos-6.8
- name: npm_packages
run_list: recipe[nodejs]
attributes:
nodejs:
npm_packages:
- name: express
- name: socket.io
version: 1.0.4
- name: express
action: uninstall
-25
View File
@@ -1,25 +0,0 @@
# Use Travis's cointainer based infrastructure
sudo: false
addons:
apt:
sources:
- chef-current-precise
packages:
- chefdk
# Don't `bundle install`
install: echo "skip bundle install"
branches:
only:
- master
# Ensure we make ChefDK's Ruby the default
before_script:
- eval "$(/opt/chefdk/bin/chef shell-init bash)"
script:
- /opt/chefdk/embedded/bin/chef --version
- /opt/chefdk/embedded/bin/cookstyle --version
- /opt/chefdk/embedded/bin/foodcritic --version
- /opt/chefdk/bin/chef exec rake
-9
View File
@@ -1,9 +0,0 @@
source 'https://supermarket.chef.io'
metadata
group :integration do
cookbook 'yum'
cookbook 'apt'
cookbook 'nodejs_test', path: './test/cookbooks/nodejs_test'
end
-134
View File
@@ -1,134 +0,0 @@
# NodeJS Cookbook Changelog
## 3.0.0 (2016-11-02)
- Updated the default release to the nodejs 6.9.1\. This requires C++11 extensions to compile, which are only present in GCC 4.8+. Due to this RHEL 5/6 and Ubuntu 12.04 are not supported if using this version.
- Switched the download URLs to the .xz packages since the .tar.gz packages are no longer being created
- Improvements to the readme examples and requirements sections
- Removed installation of apt-transport-https and instead rely on an apt cookbook that will do the same
- Fixed the ChefSpec matchers
- Added Scientific, Oracle, and Amazon as supported distros in the metadata
- Added chef_version metadata
- Removed conflicts and suggests metadata which aren't implemented or recommended for use
- Removed Chef 10 compatibility code
- Switched Integration testing to Inspec from bats
- Added the Apache 2.0 license file to the repo
- Expanded Test Kitchen testing
- Switched from Rubocop to Cookstyle and resolved all warnings
- Switched Travis to testing using ChefDK
## 2.4.4
- Use HTTPS prefix URLs for node download #98
- Update NPM symlink when installing from source #105
- Add support for NPM private modules #107
## v2.4.2
- Fix check version
- Support iojs package install
## v2.4.0
- Move `npm_packages` to his own recipe
- Fix different race conditions when using direct recipe call
- Fix npm recipe
## v2.3.2
- Fix package recipe
## v2.3.0
- Support io.js. Use node['nodejs']['engine'].
- Add MacOS support via homebrew
## v2.2.0
- Add node['nodejs']['keyserver']
- Update arm checksum
- Fix `npm_packages` JSON
## v2.1.0
- Use official nodesource repository
- Add node['nodejs']['npm_packages'] to install npm package with `default` recipe
## v2.0.0
- Travis integration
- Gems updated
- Rewrite cookbook dependencies
- Added complete test-kitchen integration : Rake, rubocop, foodcritic, vagrant, bats testing ...
- Added NodeJS `install_method` option (sources, bins or packages)
- Added NPM `install_method` option (sources or packages)
- NPM version can now be chosen independently from nodejs' embedded version
- Added a `nodejs_npm` LWRP to manage, install and resolve NPM packages
## v1.3.0
- update default versions to the latest: node - v0.10.15 and npm - v1.3.5
- default to package installation of nodejs on smartos ([@wanelo-pair])
- Add Raspberry pi support ([@robertkowalski])
## v1.2.0
- implement installation from package on RedHat - ([@vaskas])
## v1.1.3:
- update default version of node to 0.10.13 - and npm - v1.3.4 ([@jodosha][])
## v1.1.2:
- update default version of node to 0.10.2 - ([@bakins])
- fully migrated to test-kitchen 1.alpha and vagrant 1.1.x/berkshelf 1.3.1
## v1.1.1:
- update default versions to the latest: node - v0.10.0 and npm - v1.2.14
- `make_thread` is now a real attribute - ([@ChrisLundquist])
## v1.1.0:
- rewrite the package install; remove rpm support since there are no longer any packages available anywhere
- add support to install `legacy_packages` from ubuntu repo as well as the latest 0.10.x branch (this is default).
## v1.0.4:
- add support for binary installation method ([@JulesAU])
## v1.0.3:
- unreleased
## v1.0.2:
- add smartos support for package install ([@sax])
- support to compile with all processors available (default 2 if unknown) - ([@ChrisLundquist])
- moved to `platform_family` syntax
- ensure npm recipe honours the 'source' or 'package' setting - ([@markbirbeck])
- updated the default versions to the latest stable node/npm
## v1.0.1:
- fixed bug that prevented overwritting the node/npm versions (moved the `src_url`s as local variables instead of attributes) - ([@johannesbecker])
- updated the default versions to the latest node/npm
## v1.0.0:
- added packages installation support ([@smith])
[@bakins]: https://github.com/bakins
[@chrislundquist]: https://github.com/ChrisLundquist
[@gmccue]: https://github.com/gmccue
[@johannesbecker]: https://github.com/johannesbecker
[@julesau]: https://github.com/JulesAU
[@markbirbeck]: https://github.com/markbirbeck
[@predominant]: https://github.com/predominant
[@robertkowalski]: https://github.com/robertkowalski
[@sax]: https://github.com/sax
[@sjlu]: https://github.com/sjlu
[@smith]: https://github.com/smith
[@vaskas]: https://github.com/vaskas
[@wanelo-pair]: https://github.com/wanelo-pair
-67
View File
@@ -1,67 +0,0 @@
#!/usr/bin/env rake
# Style tests. cookstyle (rubocop) and Foodcritic
namespace :style do
begin
require 'cookstyle'
require 'rubocop/rake_task'
desc 'Run Ruby style checks'
RuboCop::RakeTask.new(:ruby)
rescue LoadError => e
puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
end
begin
require 'foodcritic'
desc 'Run Chef style checks'
FoodCritic::Rake::LintTask.new(:chef) do |t|
t.options = {
fail_tags: ['any'],
progress: true
}
end
rescue LoadError => e
puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
end
end
desc 'Run all style checks'
task style: ['style:chef', 'style:ruby']
# ChefSpec
begin
require 'rspec/core/rake_task'
desc 'Run ChefSpec examples'
RSpec::Core::RakeTask.new(:spec)
rescue LoadError
puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
end
# Integration tests. Kitchen.ci
namespace :integration do
begin
require 'kitchen/rake_tasks'
desc 'Run kitchen integration tests'
Kitchen::RakeTasks.new
rescue StandardError => e
puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
end
end
namespace :supermarket do
begin
require 'stove/rake_task'
desc 'Publish cookbook to Supermarket with Stove'
Stove::RakeTask.new
rescue LoadError => e
puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
end
end
# Default
task default: %w(style spec)
-20
View File
@@ -1,20 +0,0 @@
name 'nodejs'
maintainer 'redguide'
maintainer_email 'guilhem@lettron.fr'
license 'Apache 2.0'
description 'Installs/Configures node.js & io.js'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
source_url 'https://github.com/redguide/nodejs' if respond_to?(:source_url)
issues_url 'https://github.com/redguide/nodejs/issues' if respond_to?(:issues_url)
chef_version '>= 11.0' if respond_to?(:chef_version)
version '3.0.0'
depends 'yum-epel'
depends 'build-essential'
depends 'ark'
depends 'apt', '>= 2.9.1'
depends 'homebrew'
%w(debian ubuntu centos redhat scientific oracle amazon smartos mac_os_x).each do |os|
supports os
end
View File
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-10
View File
@@ -1,10 +0,0 @@
name 'rbac'
maintainer 'Eric Saxby'
maintainer_email 'sax@livinginthepast.org'
license 'MIT'
description 'Allows delegation of service management to users with Solaris Role Based Access Control (RBAC)'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '1.0.3'
supports 'solaris2'
supports 'smartos'
+9
View File
@@ -0,0 +1,9 @@
*.tgz
*.tar.gz
vendor/bundle
.bundle
.DS_Store
build/*
tmp/
*.lock
.kitchen/*
+47
View File
@@ -0,0 +1,47 @@
{
"name": "redis",
"description": "Installs and configures Redis",
"long_description": "",
"maintainer": "Phil Cohen",
"maintainer_email": "github@phlippers.net",
"license": "MIT",
"platforms": {
"debian": ">= 0.0.0",
"ubuntu": ">= 0.0.0"
},
"dependencies": {
"apt": ">= 0.0.0"
},
"recommendations": {
},
"suggestions": {
},
"conflicting": {
},
"providing": {
},
"replacing": {
},
"attributes": {
},
"groupings": {
},
"recipes": {
"redis::default": "Sets up ppa apt repository",
"redis::server": "Installs redis server",
"redis::client": "Installs redis client"
},
"version": "0.5.6",
"source_url": "",
"issues_url": "",
"privacy": false,
"chef_versions": [
],
"ohai_versions": [
],
"gems": [
]
}
-15
View File
@@ -1,15 +0,0 @@
name "redis"
maintainer "Phil Cohen"
maintainer_email "github@phlippers.net"
license "MIT"
description "Installs and configures Redis"
version "0.5.6"
recipe "redis::default", "Sets up ppa apt repository"
recipe "redis::server", "Installs redis server"
recipe "redis::client", "Installs redis client"
supports "debian"
supports "ubuntu"
depends "apt"
+2
View File
@@ -0,0 +1,2 @@
cache_type "BasicFile"
cache_options(path: "#{ENV["HOME"]}/.chef/checksums")
-13
View File
@@ -1,13 +0,0 @@
name 'smf'
maintainer 'Eric Saxby'
maintainer_email 'sax@livinginthepast.org'
license 'MIT'
description 'A light weight resource provider (LWRP) for SMF (Service Management Facility)'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '2.2.8'
supports 'smartos'
depends 'rbac', '>= 1.0.1'
suggests 'resource-control' # For managing Solaris projects, when setting project on a manifest
View File
-32
View File
@@ -1,32 +0,0 @@
---
engines:
duplication:
enabled: true
config:
languages:
- ruby
- javascript
- python
- php
fixme:
enabled: true
rubocop:
enabled: true
foodcritic:
enabled: true
markdownlint:
enabled: true
checks:
MD013:
enabled: false
ratings:
paths:
- "**.inc"
- "**.js"
- "**.jsx"
- "**.module"
- "**.php"
- "**.py"
- "**.rb"
- "**.md"
exclude_paths: []
-21
View File
@@ -1,21 +0,0 @@
.vagrant
*~
*#
.#*
\#*#
.*.sw[a-z]
*.un~
# Bundler
Gemfile.lock
bin/*
.bundle/*
# test kitchen
.kitchen/
.kitchen.local.yml
# Chef
Berksfile.lock
.zero-knife.rb
Policyfile.lock.json
-26
View File
@@ -1,26 +0,0 @@
---
driver:
name: vagrant
provisioner:
name: chef_zero
# You may wish to disable always updating cookbooks in CI or other testing environments.
# For example:
# always_update_cookbooks: <%= !ENV['CI'] %>
always_update_cookbooks: true
verifier:
name: inspec
platforms:
- name: ubuntu-16.04
- name: centos-7.3
suites:
- name: default
run_list:
- recipe[timezone_iii::default]
verifier:
inspec_tests:
- test/smoke/default
attributes:
-18
View File
@@ -1,18 +0,0 @@
AllCops:
Exclude:
- vendor/**/*
- Guardfile
TargetRubyVersion: 2.4
ClassLength:
Enabled: false
CyclomaticComplexity:
Enabled: false
LineLength:
Enabled: false
MethodLength:
Enabled: false
Metrics/ModuleLength:
Enabled: false
PerceivedComplexity:
Enabled: false
-3
View File
@@ -1,3 +0,0 @@
source 'https://supermarket.chef.io'
metadata
-21
View File
@@ -1,21 +0,0 @@
# CHANGELOG for timezone_ii
## 1.0.4 (6/6/2017)
- [badsector3] - Temp fix for recent Ubuntu releases with local time file overriding timezone file
## 1.0.3 (4/20/2017)
- [Corey Hemminger] - fixed linux include_recipe line that was being skipped
## 1.0.2 (4/19/2017)
- [Corey Hemminger] - changed hash rockets to new hash style
## 1.0.1 (4/18/2017)
- [Corey Hemminger] - fixed windows idempotency
## 1.0.0 (4/18/2017)
- [Corey Hemminger] - Initial commit
-1
View File
@@ -1 +0,0 @@
Please refer to <https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD>
-1
View File
@@ -1 +0,0 @@
Please refer to <https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD>
-27
View File
@@ -1,27 +0,0 @@
name 'timezone_iii'
maintainer 'Corey Hemminger'
maintainer_email 'hemminger@hotmail.com'
license 'Apache-2.0'
description 'Configures the timezone for node'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '1.0.4'
chef_version '>= 12.1' if respond_to?(:chef_version)
# The `issues_url` points to the location where issues for this cookbook are
# tracked. A `View Issues` link will be displayed on this cookbook's page when
# uploaded to a Supermarket.
#
issues_url 'https://github.com/Stromweld/timezone_iii/issues'
# The `source_url` points to the development reposiory for this cookbook. A
# `View Source` link will be displayed on this cookbook's page when uploaded to
# a Supermarket.
#
source_url 'https://github.com/Stromweld/timezone_iii'
%w(amazon centos debian fedora gentoo ubuntu pld redhat windows).each do |os|
supports os
end
replaces 'timezone'
replaces 'timezone-ii'
@@ -1,16 +1,14 @@
*#
*.un~
*~
.#*
.*.sw[a-z]
.bundle/*
.kitchen.local.yml
.kitchen/
.vagrant
/cookbooks
Berksfile.lock
Gemfile.lock
*~
*#
.#*
\#*#
bin/*
metadata.json
Gemfile.lock
.*.sw[a-z]
*.un~
.bundle
.cache
.kitchen
bin
.kitchen.local.yml
File diff suppressed because one or more lines are too long
-100
View File
@@ -1,100 +0,0 @@
name "wordpress"
maintainer "Brint O'Hearn"
maintainer_email "cookbooks@opscode.com"
license "Apache 2.0"
description "Installs/Configures WordPress"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version "3.1.0"
recipe "WordPress", "Installs and configures WordPress LAMP stack on a single system"
recipe "WordPress::languages", "Install WordPress translation files"
%w{ php openssl }.each do |cb|
depends cb
end
depends "apache2", ">= 2.0.0"
depends "database", ">= 1.6.0"
depends "mysql", ">= 6.0"
depends "mysql2_chef_gem", ">= 1.0.1"
depends "build-essential"
depends "iis", ">= 1.6.2"
depends "tar", ">= 0.3.1"
depends "chef_nginx"
depends "php-fpm"
depends 'selinux', '~> 0.7'
%w{ debian ubuntu windows centos redhat scientific oracle }.each do |os|
supports os
end
attribute "WordPress/version",
:display_name => "WordPress download version",
:description => "Version of WordPress to download from the WordPress site or 'latest' for the current release.",
:default => "latest"
attribute "WordPress/checksum",
:display_name => "WordPress tarball checksum",
:description => "Checksum of the tarball for the version specified.",
:default => ""
attribute "WordPress/dir",
:display_name => "WordPress installation directory",
:description => "Location to place WordPress files.",
:default => "/var/www/wordpress"
attribute "WordPress/db/database",
:display_name => "WordPress MySQL database",
:description => "WordPress will use this MySQL database to store its data.",
:default => "wordpressdb"
attribute "WordPress/db/user",
:display_name => "WordPress MySQL user",
:description => "WordPress will connect to MySQL using this user.",
:default => "wordpressuser"
attribute "WordPress/db/password",
:display_name => "WordPress MySQL password",
:description => "Password for the WordPress MySQL user.",
:default => "randomly generated"
attribute "WordPress/keys/auth",
:display_name => "WordPress auth key",
:description => "WordPress auth key.",
:default => "randomly generated"
attribute "WordPress/keys/secure_auth",
:display_name => "WordPress secure auth key",
:description => "WordPress secure auth key.",
:default => "randomly generated"
attribute "WordPress/keys/logged_in",
:display_name => "WordPress logged-in key",
:description => "WordPress logged-in key.",
:default => "randomly generated"
attribute "WordPress/keys/nonce",
:display_name => "WordPress nonce key",
:description => "WordPress nonce key.",
:default => "randomly generated"
attribute "WordPress/server_aliases",
:display_name => "WordPress Server Aliases",
:description => "WordPress Server Aliases",
:default => "FQDN"
attribute "WordPress/languages/lang",
:display_name => "WordPress WPLANG configulation value",
:description => "WordPress WPLANG configulation value",
:default => ""
attribute "WordPress/languages/version",
:display_name => "Version of WordPress translation file",
:description => "Version of WordPress translation file",
:default => ""
attribute "WordPress/languages/projects",
:display_name => "WordPress translation projects",
:description => "WordPress translation projects",
:type => "array",
:default => ["main", "admin", "admin/network", "cc"]
-9
View File
@@ -1,9 +0,0 @@
name 'yum-epel'
maintainer 'Chef'
maintainer_email 'Sean OMeara <someara@getchef.com>'
license 'Apache 2.0'
description 'Installs/Configures yum-epel'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '0.3.6'
depends 'yum', '~> 3.0'