initial commit
This commit is contained in:
Коммит
25b0af41d9
|
@ -0,0 +1,6 @@
|
|||
fixtures:
|
||||
repositories:
|
||||
apt: git://github.com/puppetlabs/puppetlabs-apt.git
|
||||
stdlib: git://github.com/puppetlabs/puppetlabs-stdlib.git
|
||||
symlinks:
|
||||
docker: "#{source_dir}"
|
|
@ -0,0 +1,2 @@
|
|||
pkg
|
||||
spec/fixtures
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
language: ruby
|
||||
rvm:
|
||||
- 1.9.2
|
||||
- 1.9.3
|
||||
- 1.8.7
|
||||
script: bundle exec rake spec
|
||||
env:
|
||||
matrix:
|
||||
- PUPPET_VERSION=2.7.18
|
||||
- PUPPET_VERSION=3.1.0
|
|
@ -0,0 +1,15 @@
|
|||
source "http://rubygems.org"
|
||||
|
||||
if ENV.key?('PUPPET_VERSION')
|
||||
puppetversion = "= #{ENV['PUPPET_VERSION']}"
|
||||
else
|
||||
puppetversion = ['~> 2.7']
|
||||
end
|
||||
|
||||
gem "rake"
|
||||
gem "puppet", puppetversion
|
||||
gem "puppet-lint"
|
||||
gem "rspec-puppet"
|
||||
gem "puppetlabs_spec_helper"
|
||||
gem "travis"
|
||||
gem "travis-lint"
|
|
@ -0,0 +1,80 @@
|
|||
GEM
|
||||
remote: http://rubygems.org/
|
||||
specs:
|
||||
addressable (2.3.3)
|
||||
backports (2.8.2)
|
||||
coderay (1.0.9)
|
||||
diff-lcs (1.2.1)
|
||||
facter (1.6.18)
|
||||
faraday (0.8.7)
|
||||
multipart-post (~> 1.1)
|
||||
faraday_middleware (0.9.0)
|
||||
faraday (>= 0.7.4, < 0.9)
|
||||
gh (0.9.1)
|
||||
addressable
|
||||
backports (~> 2.3)
|
||||
faraday (~> 0.8)
|
||||
multi_json (~> 1.0)
|
||||
net-http-persistent (>= 2.7)
|
||||
net-http-pipeline
|
||||
hashr (0.0.22)
|
||||
highline (1.6.16)
|
||||
launchy (2.2.0)
|
||||
addressable (~> 2.3)
|
||||
metaclass (0.0.1)
|
||||
method_source (0.8.1)
|
||||
mocha (0.13.3)
|
||||
metaclass (~> 0.0.1)
|
||||
multi_json (1.7.2)
|
||||
multipart-post (1.2.0)
|
||||
net-http-persistent (2.8)
|
||||
net-http-pipeline (1.0.1)
|
||||
netrc (0.7.7)
|
||||
pry (0.9.12)
|
||||
coderay (~> 1.0.5)
|
||||
method_source (~> 0.8)
|
||||
slop (~> 3.4)
|
||||
puppet (2.7.21)
|
||||
facter (~> 1.5)
|
||||
puppet-lint (0.3.2)
|
||||
puppetlabs_spec_helper (0.4.1)
|
||||
mocha (>= 0.10.5)
|
||||
rake
|
||||
rspec (>= 2.9.0)
|
||||
rspec-puppet (>= 0.1.1)
|
||||
rake (10.0.4)
|
||||
rspec (2.13.0)
|
||||
rspec-core (~> 2.13.0)
|
||||
rspec-expectations (~> 2.13.0)
|
||||
rspec-mocks (~> 2.13.0)
|
||||
rspec-core (2.13.1)
|
||||
rspec-expectations (2.13.0)
|
||||
diff-lcs (>= 1.1.3, < 2.0)
|
||||
rspec-mocks (2.13.0)
|
||||
rspec-puppet (0.1.6)
|
||||
rspec
|
||||
slop (3.4.4)
|
||||
travis (1.2.0)
|
||||
backports (~> 2.6)
|
||||
faraday (~> 0.8)
|
||||
faraday_middleware (~> 0.9)
|
||||
gh (~> 0.9)
|
||||
highline (~> 1.6)
|
||||
launchy (~> 2.1)
|
||||
net-http-persistent (~> 2.8)
|
||||
netrc (~> 0.7)
|
||||
pry (~> 0.9)
|
||||
travis-lint (1.6.0)
|
||||
hashr (~> 0.0.22)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
puppet (~> 2.7)
|
||||
puppet-lint
|
||||
puppetlabs_spec_helper
|
||||
rake
|
||||
rspec-puppet
|
||||
travis
|
||||
travis-lint
|
|
@ -0,0 +1,207 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction, and
|
||||
distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by the
|
||||
copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all other
|
||||
entities that control, are controlled by, or are under common control with
|
||||
that entity. For the purposes of this definition, "control" means (i) the
|
||||
power, direct or indirect, to cause the direction or management of such
|
||||
entity, whether by contract or otherwise, or (ii) ownership of
|
||||
fifty percent (50%) or more of the outstanding shares, or (iii) beneficial
|
||||
ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity exercising
|
||||
permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation source,
|
||||
and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical transformation
|
||||
or translation of a Source form, including but not limited to compiled
|
||||
object code, generated documentation, and conversions to
|
||||
other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or Object
|
||||
form, made available under the License, as indicated by a copyright notice
|
||||
that is included in or attached to the work (an example is provided in the
|
||||
Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object form,
|
||||
that is based on (or derived from) the Work and for which the editorial
|
||||
revisions, annotations, elaborations, or other modifications represent,
|
||||
as a whole, an original work of authorship. For the purposes of this
|
||||
License, Derivative Works shall not include works that remain separable
|
||||
from, or merely link (or bind by name) to the interfaces of, the Work and
|
||||
Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including the original
|
||||
version of the Work and any modifications or additions to that Work or
|
||||
Derivative Works thereof, that is intentionally submitted to Licensor for
|
||||
inclusion in the Work by the copyright owner or by an individual or
|
||||
Legal Entity authorized to submit on behalf of the copyright owner.
|
||||
For the purposes of this definition, "submitted" means any form of
|
||||
electronic, verbal, or written communication sent to the Licensor or its
|
||||
representatives, including but not limited to communication on electronic
|
||||
mailing lists, source code control systems, and issue tracking systems
|
||||
that are managed by, or on behalf of, the Licensor for the purpose of
|
||||
discussing and improving the Work, but excluding communication that is
|
||||
conspicuously marked or otherwise designated in writing by the copyright
|
||||
owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity on
|
||||
behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License.
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor
|
||||
hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
|
||||
royalty-free, irrevocable copyright license to reproduce, prepare
|
||||
Derivative Works of, publicly display, publicly perform, sublicense,
|
||||
and distribute the Work and such Derivative Works in
|
||||
Source or Object form.
|
||||
|
||||
3. Grant of Patent License.
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor
|
||||
hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
|
||||
royalty-free, irrevocable (except as stated in this section) patent
|
||||
license to make, have made, use, offer to sell, sell, import, and
|
||||
otherwise transfer the Work, where such license applies only to those
|
||||
patent claims licensable by such Contributor that are necessarily
|
||||
infringed by their Contribution(s) alone or by combination of their
|
||||
Contribution(s) with the Work to which such Contribution(s) was submitted.
|
||||
If You institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
|
||||
Contribution incorporated within the Work constitutes direct or
|
||||
contributory patent infringement, then any patent licenses granted to
|
||||
You under this License for that Work shall terminate as of the date such
|
||||
litigation is filed.
|
||||
|
||||
4. Redistribution.
|
||||
|
||||
You may reproduce and distribute copies of the Work or Derivative Works
|
||||
thereof in any medium, with or without modifications, and in Source or
|
||||
Object form, provided that You meet the following conditions:
|
||||
|
||||
1. You must give any other recipients of the Work or Derivative Works a
|
||||
copy of this License; and
|
||||
|
||||
2. You must cause any modified files to carry prominent notices stating
|
||||
that You changed the files; and
|
||||
|
||||
3. You must retain, in the Source form of any Derivative Works that You
|
||||
distribute, all copyright, patent, trademark, and attribution notices from
|
||||
the Source form of the Work, excluding those notices that do not pertain
|
||||
to any part of the Derivative Works; and
|
||||
|
||||
4. If the Work includes a "NOTICE" text file as part of its distribution,
|
||||
then any Derivative Works that You distribute must include a readable copy
|
||||
of the attribution notices contained within such NOTICE file, excluding
|
||||
those notices that do not pertain to any part of the Derivative Works,
|
||||
in at least one of the following places: within a NOTICE text file
|
||||
distributed as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or, within a
|
||||
display generated by the Derivative Works, if and wherever such
|
||||
third-party notices normally appear. The contents of the NOTICE file are
|
||||
for informational purposes only and do not modify the License.
|
||||
You may add Your own attribution notices within Derivative Works that You
|
||||
distribute, alongside or as an addendum to the NOTICE text from the Work,
|
||||
provided that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and may
|
||||
provide additional or different license terms and conditions for use,
|
||||
reproduction, or distribution of Your modifications, or for any such
|
||||
Derivative Works as a whole, provided Your use, reproduction, and
|
||||
distribution of the Work otherwise complies with the conditions
|
||||
stated in this License.
|
||||
|
||||
5. Submission of Contributions.
|
||||
|
||||
Unless You explicitly state otherwise, any Contribution intentionally
|
||||
submitted for inclusion in the Work by You to the Licensor shall be under
|
||||
the terms and conditions of this License, without any additional
|
||||
terms or conditions. Notwithstanding the above, nothing herein shall
|
||||
supersede or modify the terms of any separate license agreement you may
|
||||
have executed with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks.
|
||||
|
||||
This License does not grant permission to use the trade names, trademarks,
|
||||
service marks, or product names of the Licensor, except as required for
|
||||
reasonable and customary use in describing the origin of the Work and
|
||||
reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty.
|
||||
|
||||
Unless required by applicable law or agreed to in writing, Licensor
|
||||
provides the Work (and each Contributor provides its Contributions)
|
||||
on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
either express or implied, including, without limitation, any warranties
|
||||
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any risks
|
||||
associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability.
|
||||
|
||||
In no event and under no legal theory, whether in tort
|
||||
(including negligence), contract, or otherwise, unless required by
|
||||
applicable law (such as deliberate and grossly negligent acts) or agreed
|
||||
to in writing, shall any Contributor be liable to You for damages,
|
||||
including any direct, indirect, special, incidental, or consequential
|
||||
damages of any character arising as a result of this License or out of
|
||||
the use or inability to use the Work (including but not limited to damages
|
||||
for loss of goodwill, work stoppage, computer failure or malfunction,
|
||||
or any and all other commercial damages or losses), even if such
|
||||
Contributor has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability.
|
||||
|
||||
While redistributing the Work or Derivative Works thereof, You may choose
|
||||
to offer, and charge a fee for, acceptance of support, warranty,
|
||||
indemnity, or other liability obligations and/or rights consistent with
|
||||
this License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf of any
|
||||
other Contributor, and only if You agree to indemnify, defend, and hold
|
||||
each Contributor harmless for any liability incurred by, or claims
|
||||
asserted against, such Contributor by reason of your accepting any such
|
||||
warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work
|
||||
|
||||
To apply the Apache License to your work, attach the following boilerplate
|
||||
notice, with the fields enclosed by brackets "[]" replaced with your own
|
||||
identifying information. (Don't include the brackets!) The text should be
|
||||
enclosed in the appropriate comment syntax for the file format. We also
|
||||
recommend that a file or class name and description of purpose be included
|
||||
on the same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2013 Gareth Rushgrove
|
||||
|
||||
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.
|
|
@ -0,0 +1,10 @@
|
|||
name 'garethr-docker'
|
||||
version '0.0.1'
|
||||
source 'git://github.com/garethr/garethr-docker.git'
|
||||
author 'Gareth Rushgrove'
|
||||
summary 'Module for installing docker from official ppa'
|
||||
description 'Install the official docker packages'
|
||||
license 'Apache License, Version 2.0'
|
||||
|
||||
dependency 'puppetlabs/apt', '>= 1.1.0'
|
||||
dependency 'puppetlabs/stdlib', '>=3.2.0'
|
|
@ -0,0 +1,16 @@
|
|||
Puppet module for installing
|
||||
[Docker](https://github.com/dotcloud/docker) from the [official PPA](https://launchpad.net/~dotcloud/+archive/lxc-docker).
|
||||
|
||||
This module is also available on the [Puppet
|
||||
Forge](https://forge.puppetlabs.com/garethr/docker)
|
||||
|
||||
[![Build
|
||||
Status](https://secure.travis-ci.org/garethr/garethr-docker.png)](http://travis-ci.org/garethr/garethr-docker)
|
||||
|
||||
## Usage
|
||||
|
||||
The module includes a single class:
|
||||
|
||||
include 'docker'
|
||||
|
||||
By default this sets up the PPA and installs the lxc-docker package.
|
|
@ -0,0 +1,5 @@
|
|||
require 'puppetlabs_spec_helper/rake_tasks'
|
||||
require 'puppet-lint/tasks/puppet-lint'
|
||||
|
||||
PuppetLint.configuration.send("disable_80chars")
|
||||
PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}"
|
|
@ -0,0 +1,25 @@
|
|||
# == Class: docker
|
||||
#
|
||||
# Module to install an up-to-date version of Docker from the
|
||||
# official PPA. The use of the PPA means this only works
|
||||
# on Ubuntu.
|
||||
#
|
||||
# === Parameters
|
||||
# [*version*]
|
||||
# The package version to install, passed to ensure.
|
||||
# Defaults to present.
|
||||
#
|
||||
class docker(
|
||||
$version = 'present',
|
||||
) {
|
||||
include apt
|
||||
validate_string($version)
|
||||
validate_re($::osfamily, '^Debian$', 'This module uses PPA repos and only works with Debian based distros')
|
||||
|
||||
apt::ppa { 'ppa:dotcloud/lxc-docker': }
|
||||
|
||||
package { 'lxc-docker':
|
||||
ensure => $version,
|
||||
require => Apt::Ppa['ppa:dotcloud/docker'],
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'docker', :type => :class do
|
||||
let(:facts) { {:osfamily => 'Debian', :lsbdistcodename => 'precise'} }
|
||||
|
||||
context 'with no parameters' do
|
||||
it { should include_class('apt') }
|
||||
it { should contain_package('lxc-docker').with_ensure('present') }
|
||||
it { should contain_apt__ppa('ppa:dotcloud/lxc-docker') }
|
||||
end
|
||||
|
||||
context 'with a custom version' do
|
||||
let(:params) { {'version' => 'absent' } }
|
||||
it { should contain_package('lxc-docker').with_ensure('absent') }
|
||||
end
|
||||
|
||||
context 'with an invalid distro name' do
|
||||
let(:facts) { {:osfamily => 'RedHat'} }
|
||||
it do
|
||||
expect {
|
||||
should contain_package('lxc-docker')
|
||||
}.to raise_error(Puppet::Error, /This module uses PPA repos/)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
|
@ -0,0 +1 @@
|
|||
require 'puppetlabs_spec_helper/module_spec_helper'
|
|
@ -0,0 +1 @@
|
|||
include 'docker'
|
Загрузка…
Ссылка в новой задаче