Showing with 3,373 additions and 2,947 deletions.
  1. +100 −0 .github/CONTRIBUTING.md
  2. +23 −0 .github/ISSUE_TEMPLATE.md
  3. +5 −0 .github/PULL_REQUEST_TEMPLATE.md
  4. +14 −8 .gitignore
  5. +1 −0 .msync.yml
  6. +2 −0 .rspec
  7. +516 −0 .rubocop.yml
  8. +5 −0 .sync.yml
  9. +42 −60 .travis.yml
  10. +1 −0 .yardopts
  11. +119 −52 CHANGELOG → CHANGELOG.md
  12. +55 −21 Gemfile
  13. +63 −23 README.md
  14. +23 −22 Rakefile
  15. +1 −1 {tests → examples}/init.pp
  16. +1 −0 examples/prerun_command.pp
  17. +1 −0 examples/webhook.pp
  18. +2 −2 {tests → examples}/webhook/config.pp
  19. +6 −6 files/config_version.sh
  20. +2 −2 lib/facter/r10k_path.rb
  21. +6 −4 manifests/config.pp
  22. +9 −5 manifests/init.pp
  23. +13 −15 manifests/install.pp
  24. +1 −1 manifests/install/bundle.pp
  25. +5 −6 manifests/install/gem.pp
  26. +2 −3 manifests/install/pe_gem.pp
  27. +2 −3 manifests/install/puppet_gem.pp
  28. +19 −7 manifests/mcollective.pp
  29. +9 −4 manifests/mcollective/application.pp
  30. +48 −28 manifests/params.pp
  31. +36 −12 manifests/webhook.pp
  32. +21 −7 manifests/webhook/config.pp
  33. +5 −5 manifests/webhook/package.pp
  34. +7 −7 metadata.json
  35. +21 −20 spec/acceptance/basic_webhook_spec.rb
  36. +15 −0 spec/acceptance/nodesets/centos-511-x64.yml
  37. +17 −0 spec/acceptance/nodesets/centos-66-x64-pe.yml
  38. +15 −0 spec/acceptance/nodesets/centos-66-x64.yml
  39. +15 −0 spec/acceptance/nodesets/centos-72-x64.yml
  40. +15 −0 spec/acceptance/nodesets/debian-78-x64.yml
  41. +15 −0 spec/acceptance/nodesets/debian-82-x64.yml
  42. +19 −0 spec/acceptance/nodesets/docker/centos-5.yml
  43. +20 −0 spec/acceptance/nodesets/docker/centos-6.yml
  44. +18 −0 spec/acceptance/nodesets/docker/centos-7.yml
  45. +19 −0 spec/acceptance/nodesets/docker/debian-7.yml
  46. +20 −0 spec/acceptance/nodesets/docker/debian-8.yml
  47. +19 −0 spec/acceptance/nodesets/docker/ubuntu-12.04.yml
  48. +21 −0 spec/acceptance/nodesets/docker/ubuntu-14.04.yml
  49. +19 −0 spec/acceptance/nodesets/docker/ubuntu-16.04.yml
  50. +15 −0 spec/acceptance/nodesets/ubuntu-server-1204-x64.yml
  51. +15 −0 spec/acceptance/nodesets/ubuntu-server-1404-x64.yml
  52. +15 −0 spec/acceptance/nodesets/ubuntu-server-1604-x64.yml
  53. +18 −18 spec/acceptance/prefix_webhook_spec.rb
  54. +52 −0 spec/acceptance/signature_webhook_spec.rb
  55. +189 −504 spec/classes/config_spec.rb
  56. +4 −0 spec/classes/coverage_spec.rb
  57. +69 −135 spec/classes/init_spec.rb
  58. +76 −69 spec/classes/install/bundle_spec.rb
  59. +42 −114 spec/classes/install/gem_spec.rb
  60. +71 −65 spec/classes/install/pe_gem_spec.rb
  61. +18 −15 spec/classes/install/puppet_gem_spec.rb
  62. +321 −530 spec/classes/install_spec.rb
  63. +56 −53 spec/classes/mcollective/application_spec.rb
  64. +104 −154 spec/classes/mcollective_spec.rb
  65. +20 −25 spec/classes/params_spec.rb
  66. +101 −148 spec/classes/postrun_command_spec.rb
  67. +119 −147 spec/classes/prerun_command_spec.rb
  68. +27 −52 spec/classes/r10k_spec.rb
  69. +269 −202 spec/classes/webhook/config_spec.rb
  70. +117 −162 spec/classes/webhook/package_spec.rb
  71. +168 −201 spec/classes/webhook_spec.rb
  72. +6 −0 spec/default_facts.yml
  73. +0 −5 spec/fixtures/modules/.gitignore
  74. +26 −4 spec/spec_helper.rb
  75. +2 −6 spec/spec_helper_acceptance.rb
  76. +12 −11 spec/unit/facter/r10k_path_spec.rb
  77. +8 −1 templates/webhook.bin.erb
  78. +0 −1 tests/prerun_command.pp
  79. +0 −1 tests/webhook.pp
100 changes: 100 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
This module has grown over time based on a range of contributions from
people using it. If you follow these contributing guidelines your patch
will likely make it into a release a little quicker.


## Contributing

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. [Contributor Code of Conduct](https://voxpupuli.org/coc/).

1. Fork the repo.

1. Create a separate branch for your change.

1. Run the tests. We only take pull requests with passing tests, and
documentation.

1. Add a test for your change. Only refactoring and documentation
changes require no new tests. If you are adding functionality
or fixing a bug, please add a test.

1. Squash your commits down into logical components. Make sure to rebase
against the current master.

1. Push the branch to your fork and submit a pull request.

Please be prepared to repeat some of these steps as our contributors review
your code.

## Dependencies

The testing and development tools have a bunch of dependencies,
all managed by [bundler](http://bundler.io/) according to the
[Puppet support matrix](http://docs.puppetlabs.com/guides/platforms.html#ruby-versions).

By default the tests use a baseline version of Puppet.

If you have Ruby 2.x or want a specific version of Puppet,
you must set an environment variable such as:

export PUPPET_VERSION="~> 4.2.0"

Install the dependencies like so...

bundle install

## Syntax and style

The test suite will run [Puppet Lint](http://puppet-lint.com/) and
[Puppet Syntax](https://github.com/gds-operations/puppet-syntax) to
check various syntax and style things. You can run these locally with:

bundle exec rake lint
bundle exec rake validate

It will also run some [Rubocop](http://batsov.com/rubocop/) tests
against it. You can run those locally ahead of time with:

bundle exec rake rubocop

## Running the unit tests

The unit test suite covers most of the code, as mentioned above please
add tests if you're adding new functionality. If you've not used
[rspec-puppet](http://rspec-puppet.com/) before then feel free to ask
about how best to test your new feature.

To run your all the unit tests

bundle exec rake spec SPEC_OPTS='--format documentation'

To run a specific spec test set the `SPEC` variable:

bundle exec rake spec SPEC=spec/foo_spec.rb

To run the linter, the syntax checker and the unit tests:

bundle exec rake test


## Integration tests

The unit tests just check the code runs, not that it does exactly what
we want on a real machine. For that we're using
[beaker](https://github.com/puppetlabs/beaker).

This fires up a new virtual machine (using vagrant) and runs a series of
simple tests against it after applying the module. You can run this
with:

bundle exec rake acceptance

This will run the tests on an Ubuntu 12.04 virtual machine. You can also
run the integration tests against Centos 6.6 with.

BEAKER_set=centos-66-x64 bundle exec rake acceptances

If you don't want to have to recreate the virtual machine every time you
can use `BEAKER_DESTROY=no` and `BEAKER_PROVISION=no`. On the first run you will
at least need `BEAKER_PROVISION` set to yes (the default). The Vagrantfile
for the created virtual machines will be in `.vagrant/beaker_vagrant_fies`.
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!--
Thank you for contributing to this project!
- This project has a Contributor Code of Conduct: https://voxpupuli.org/coc/
- Please check that here is no existing issue or PR that addresses your problem.
- Please fill the following form to enable us to help you.
-->

### Affected Puppet, Ruby, OS and module versions/distributions

- Puppet:
- Ruby:
- Distribution:
- Module version:

### How to reproduce (e.g Puppet code you use)

### What are you seeing

### What behaviour did you expect instead

### Output log

### Any additional information you'd like to impart
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<!--
Thank you for contributing to this project!
- This project has a Contributor Code of Conduct: https://voxpupuli.org/coc/
- Please check that here is no existing issue or PR that addresses your problem.
-->
22 changes: 14 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
.swp
pkg
spec/fixtures/manifests/site.pp
.DS_Store
*.swp
.bundle
.ruby-version
pkg/
Gemfile.lock
log/*
Gemfile.local
vendor/
.vendor/
spec/fixtures/manifests/
spec/fixtures/modules/
.vagrant/
.bundle/
coverage/
log/
.idea/
*.iml
.*.sw?
.yardoc/
1 change: 1 addition & 0 deletions .msync.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
modulesync_config_version: '0.15.1'
2 changes: 2 additions & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--format documentation
--color
Loading