Skip to content

Commit 790d08e

Browse files
author
Dave Try
committed
initial fork
0 parents  commit 790d08e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+8214
-0
lines changed

CHANGELOG.md

+102
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
##2016-07-13 - Version 5.3
2+
3+
Several minor improvements to the Docker Compose support including:
4+
5+
* Support for v2 of the Compose file syntax
6+
* Support refreshing the docker_compose resource
7+
* The ability to pass an install_path for custom installations
8+
* Passing arguments to docker-compose up
9+
* Ensuring curl is available when using it to install Compose
10+
11+
New parameters for docker::run including stop_wait_time to allow
12+
containers time to stop when killed
13+
14+
New parameters for the docker class, including icc, storage_setup_file
15+
16+
Support for the overlay2 storage driver and the splunk log driver.
17+
18+
Improvements to management when not using the upstream repository,
19+
including doing less to manage potentially unneeded dependencies.
20+
21+
Support multiple registry authentications on the same host.
22+
23+
Fix an issue with using docker::run on Swarm.
24+
25+
Fix a number of issues if running the module with strict variables
26+
enabled, and add this to the tested conbinations.
27+
28+
29+
##2016-03-30 - Version 5.2
30+
31+
This release includes some minor features and several bug fixes,
32+
including:
33+
34+
* Support for specifying TLS settings for Docker connectivity
35+
* Added support for BIP and MTU options
36+
* Ensure containers are restarted if Docker is restarted
37+
* Support creating Docker Networks using Hiera
38+
* Fix issues with left over containers when using
39+
remove_container_on_stop
40+
* Use the plain HTTP package repository rather than HTTPS
41+
* Added Gentoo support
42+
* Support managing labels on Docker Engine
43+
44+
45+
##2016-02-12 - Version 5.1
46+
47+
Note that changes in Docker 1.10 changed the flag used to start the
48+
docker daemon. If you are using a version of docker prior to 1.8 you
49+
will need to pass the docker_subcommand parameter with the '-d' option.
50+
51+
52+
This release includes a few minor bug-fixes along with several new features:
53+
54+
* The module now allows for installing, and running, Docker Compose from
55+
Puppet, using both the docker::compose class the the docker_compose
56+
type.
57+
* The module also now allows for the creation and management of Docker
58+
Network using the new docker_network type
59+
* And the docker::run type now supports ensure => absent
60+
* Lots of options to configure the docker deaemon network
61+
* Support for installing Docker CS, the commercially supported Docker
62+
engine
63+
* Disable managing the docker service in Puppet
64+
65+
Fixes include:
66+
67+
* Ensuring idempotence of docker::run using deprecated params
68+
* Properly escaping variables in unless for docker::exec
69+
* Explicitly specify systemd as the service provider for recent versions
70+
of Ubuntu and Debian
71+
* Fix issue with Amazon Linux support
72+
73+
##2015-12-18 - Version 5.0
74+
75+
Note that this is a major release and in particular changes the default
76+
repository behaviour so all supported operating systems use the new
77+
Docker upstream repos.
78+
79+
This release includes:
80+
81+
* Full docker label support
82+
* Support for CentOS 7 repository options
83+
* Support for Docker's built-in restart policy
84+
* Docker storage setup options support for systemd
85+
* The ability to configure log drivers
86+
* Support unless for docker exec
87+
* Full datamapper property support, and deprecation of old property
88+
names
89+
* Allow arbitrary parameters to be passed to systemd
90+
* Add ZFS storage driver support
91+
* Allow docker image resources to be refreshed, pulling the latest
92+
* Deprecates use_name, all containers are now named for the resource
93+
* Support for Puppet 4.3 with the stricter parser
94+
95+
96+
As well as fixes for:
97+
98+
* Fix running=false to not start the docker image on docker restart
99+
under systemd
100+
* Prevent timeouts for docker run
101+
* Ensure docker is running before attempting to use docker run
102+
* Obsfucate registry password from Puppet logs

CONTRIBUTING.md

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
This module has grown over time based on a range of contributions from
2+
people using it. If you follow these contributing guidelines your patch
3+
will likely make it into a release a little quicker.
4+
5+
6+
## Contributing
7+
8+
1. Fork the repo.
9+
10+
2. Run the tests. We only take pull requests with passing tests, and
11+
it's great to know that you have a clean slate
12+
13+
3. Add a test for your change. Only refactoring and documentation
14+
changes require no new tests. If you are adding functionality
15+
or fixing a bug, please add a test.
16+
17+
4. Make the test pass.
18+
19+
5. Push to your fork and submit a pull request.
20+
21+
22+
## Dependencies
23+
24+
The testing and development tools have a bunch of dependencies,
25+
all managed by [bundler](http://bundler.io/) according to the
26+
[Puppet support matrix](http://docs.puppetlabs.com/guides/platforms.html#ruby-versions).
27+
By default the tests use a baseline version of Puppet.
28+
29+
If you have Ruby 2.x or want a specific version of Puppet,
30+
you must set an environment variable such as:
31+
32+
export PUPPET_GEM_VERSION="~> 3.2.0"
33+
34+
Install the dependencies like so...
35+
36+
bundle install
37+
38+
...or promote reuse of bundled gems across projects by running:
39+
40+
bundle install --path=~/.bundle
41+
42+
## Syntax and style
43+
44+
The test suite will run [Puppet Lint](http://puppet-lint.com/) and
45+
[Puppet Syntax](https://github.com/gds-operations/puppet-syntax) to
46+
check various syntax and style things. You can run these locally with:
47+
48+
bundle exec rake lint
49+
bundle exec rake syntax
50+
51+
## Running the unit tests
52+
53+
The unit test suite covers most of the code, as mentioned above please
54+
add tests if you're adding new functionality. If you've not used
55+
[rspec-puppet](http://rspec-puppet.com/) before then feel free to ask
56+
about how best to test your new feature. Running the test suite is done
57+
with:
58+
59+
bundle exec rake spec
60+
61+
Note also you can run the syntax, style and unit tests in one go with:
62+
63+
bundle exec rake test
64+
65+
## Integration tests
66+
67+
The unit tests just check the code runs, not that it does exactly what
68+
we want on a real machine. For that we're using
69+
[Beaker](https://github.com/puppetlabs/beaker).
70+
This fires up a new virtual machine (using vagrant) and runs a series of
71+
simple tests against it after applying the module. You can run this
72+
with:
73+
74+
bundle exec rake beaker
75+
76+
This will run the tests on an Ubuntu 12.04 virtual machine. You can also
77+
run the integration tests against Centos 6.5 with:
78+
79+
BEAKER_set=centos-70-x64 bundle exec rake beaker
80+
81+
Or with Ubuntu 14.04 with:
82+
83+
BEAKER_set=ubuntu-1404-x64 bundle exec rake beaker
84+

Gemfile

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
source "https://rubygems.org"
2+
3+
group :test do
4+
gem "rake", "~> 10.0"
5+
if puppet_gem_version = ENV['PUPPET_GEM_VERSION']
6+
gem "puppet", puppet_gem_version
7+
elsif puppet_git_url = ENV['PUPPET_GIT_URL']
8+
gem "puppet", :git => puppet_git_url
9+
else
10+
gem "puppet"
11+
end
12+
gem "puppet-lint"
13+
gem "puppet-lint-unquoted_string-check"
14+
gem "rspec-puppet"
15+
gem "puppet-syntax"
16+
gem "puppetlabs_spec_helper"
17+
gem "metadata-json-lint", "1.1.0"
18+
gem "rspec"
19+
gem "rspec-retry"
20+
gem "simplecov", ">= 0.11.0"
21+
gem "simplecov-console"
22+
gem "json_pure", "<= 2.0.1" # 2.0.2 requires Ruby 2+
23+
end
24+
25+
group :system_tests do
26+
gem "beaker-puppet_install_helper", :require => false
27+
gem "beaker-rspec"
28+
gem "beaker", "~> 2.0"
29+
end
30+
31+
group :development do
32+
gem "travis"
33+
gem "travis-lint"
34+
gem "puppet-blacksmith"
35+
gem "guard-rake"
36+
gem "pry"
37+
gem "yard"
38+
gem 'parallel_tests' # requires at least Ruby 1.9.3
39+
gem 'rubocop', :require => false # requires at least Ruby 1.9.2
40+
end

Guardfile

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
notification :off
2+
3+
scope group: :spec
4+
5+
group :spec do
6+
guard :rake, :task => 'test' do
7+
watch(%r{^lib\/.+\.rb$})
8+
watch(%r{^spec\/.+\.rb$})
9+
watch(%r{^manifests\/.+\.pp$})
10+
end
11+
end
12+
13+
group :acceptance do
14+
guard :rake, :task => 'acceptance' do
15+
watch(%r{^spec\/acceptance\/.+\.rb$})
16+
end
17+
end

0 commit comments

Comments
 (0)