Showing with 2,570 additions and 797 deletions.
  1. +14 −0 .editorconfig
  2. +18 −3 .github/CONTRIBUTING.md
  3. +5 −5 .github/PULL_REQUEST_TEMPLATE.md
  4. +1 −1 .msync.yml
  5. +1 −0 .pmtignore
  6. +30 −92 .travis.yml
  7. +86 −1 CHANGELOG.md
  8. +21 −0 Dockerfile
  9. +11 −11 Gemfile
  10. +263 −143 README.md
  11. +24 −34 Rakefile
  12. +1 −1 data/Archlinux.yaml
  13. +2 −0 data/Darwin.yaml
  14. +48 −26 data/defaults.yaml
  15. +17 −8 examples/init.pp
  16. +33 −8 manifests/alertmanager.pp
  17. +143 −0 manifests/apache_exporter.pp
  18. +6 −0 manifests/beanstalkd_exporter.pp
  19. +7 −0 manifests/blackbox_exporter.pp
  20. +6 −0 manifests/collectd_exporter.pp
  21. +61 −13 manifests/config.pp
  22. +6 −0 manifests/consul_exporter.pp
  23. +100 −76 manifests/daemon.pp
  24. +7 −1 manifests/elasticsearch_exporter.pp
  25. +6 −0 manifests/graphite_exporter.pp
  26. +9 −3 manifests/haproxy_exporter.pp
  27. +25 −2 manifests/init.pp
  28. +1 −0 manifests/install.pp
  29. +7 −1 manifests/mesos_exporter.pp
  30. +18 −1 manifests/mongodb_exporter.pp
  31. +6 −0 manifests/mysqld_exporter.pp
  32. +6 −0 manifests/nginx_vts_exporter.pp
  33. +6 −0 manifests/node_exporter.pp
  34. +32 −18 manifests/postgres_exporter.pp
  35. +7 −8 manifests/process_exporter.pp
  36. +1 −1 manifests/pushgateway.pp
  37. +137 −0 manifests/pushprox_client.pp
  38. +134 −0 manifests/pushprox_proxy.pp
  39. +6 −0 manifests/rabbitmq_exporter.pp
  40. +6 −0 manifests/redis_exporter.pp
  41. +40 −0 manifests/scrape_job.pp
  42. +3 −1 manifests/server.pp
  43. +1 −0 manifests/service_reload.pp
  44. +6 −0 manifests/snmp_exporter.pp
  45. +22 −7 manifests/statsd_exporter.pp
  46. +6 −0 manifests/varnish_exporter.pp
  47. +4 −4 metadata.json
  48. +37 −0 spec/acceptance/alertmanager_spec.rb
  49. +61 −0 spec/acceptance/apache_exporter_spec.rb
  50. +48 −0 spec/acceptance/blackbox_exporter_spec.rb
  51. +0 −4 spec/acceptance/collectd_exporter_spec.rb
  52. +19 −6 spec/acceptance/consul_exporter_spec.rb
  53. +85 −0 spec/acceptance/haproxy_exporter_spec.rb
  54. +41 −0 spec/acceptance/mesos_exporter_spec.rb
  55. +30 −13 spec/acceptance/mysqld_exporter_spec.rb
  56. +52 −0 spec/acceptance/nginx_vts_exporter_spec.rb
  57. +52 −0 spec/acceptance/node_exporter_spec.rb
  58. +0 −15 spec/acceptance/nodesets/centos-511-x64.yml
  59. +0 −15 spec/acceptance/nodesets/centos-6-x64.yml
  60. +0 −17 spec/acceptance/nodesets/centos-66-x64-pe.yml
  61. +0 −15 spec/acceptance/nodesets/centos-66-x64.yml
  62. +0 −15 spec/acceptance/nodesets/centos-7-x64.yml
  63. +0 −15 spec/acceptance/nodesets/centos-72-x64.yml
  64. +0 −15 spec/acceptance/nodesets/debian-78-x64.yml
  65. +0 −15 spec/acceptance/nodesets/debian-82-x64.yml
  66. +0 −15 spec/acceptance/nodesets/fedora-24-x64.yml
  67. +0 −16 spec/acceptance/nodesets/fedora-25-x64.yml
  68. +0 −16 spec/acceptance/nodesets/fedora-26-x64.yml
  69. +0 −18 spec/acceptance/nodesets/fedora-27-x64.yml
  70. +0 −15 spec/acceptance/nodesets/ubuntu-server-1204-x64.yml
  71. +0 −15 spec/acceptance/nodesets/ubuntu-server-1404-x64.yml
  72. +0 −15 spec/acceptance/nodesets/ubuntu-server-1604-x64.yml
  73. +46 −4 spec/acceptance/postgres_exporter_spec.rb
  74. +52 −0 spec/acceptance/process_exporter_spec.rb
  75. +0 −4 spec/acceptance/prometheus_exporter_spec.rb
  76. +3 −7 spec/acceptance/prometheus_server_spec.rb
  77. +52 −0 spec/acceptance/pushgateway_spec.rb
  78. +31 −0 spec/acceptance/pushprox_client_spec.rb
  79. +0 −4 spec/acceptance/redis_exporter_spec.rb
  80. +52 −0 spec/acceptance/snmp_exporter_spec.rb
  81. +61 −0 spec/acceptance/statsd_exporter_spec.rb
  82. +47 −0 spec/acceptance/varnish_exporter_spec.rb
  83. +23 −0 spec/classes/alertmanager_spec.rb
  84. +63 −0 spec/classes/apache_exporter_spec.rb
  85. +35 −0 spec/classes/haproxy_exporter_spec.rb
  86. +28 −0 spec/classes/mesos_exporter_spec.rb
  87. +4 −4 spec/classes/mysqld_exporter_spec.rb
  88. +1 −1 spec/classes/node_exporter_spec.rb
  89. +41 −0 spec/classes/prometheus_spec.rb
  90. +1 −0 spec/classes/pushgateway_spec.rb
  91. +108 −0 spec/classes/statsd_exporter_spec.rb
  92. +0 −13 spec/default_facts.yml
  93. +62 −3 spec/defines/daemon_spec.rb
  94. +2 −2 spec/fixtures/files/prometheus2.systemd
  95. +1 −1 spec/fixtures/files/prometheus2.sysv
  96. +1 −2 spec/fixtures/files/prometheus2.upstart
  97. +13 −5 spec/spec_helper.rb
  98. +2 −2 templates/daemon.debian.erb
  99. +1 −1 templates/daemon.env.erb
  100. +1 −1 templates/daemon.launchd.erb
  101. +1 −1 templates/daemon.sles.erb
  102. +1 −1 templates/daemon.systemd.erb
  103. +3 −3 templates/daemon.sysv.erb
  104. +1 −1 templates/daemon.upstart.erb
  105. +5 −2 templates/prometheus.systemd.erb
  106. +1 −1 templates/prometheus.sysv.erb
  107. +1 −2 templates/prometheus.upstart.erb
  108. +1 −1 templates/prometheus.yaml.erb
  109. +0 −7 templates/statsd_mapping.conf.erb
14 changes: 14 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# editorconfig.org

# MANAGED BY MODULESYNC

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
tab_width = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
21 changes: 18 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,19 @@ You can install all needed gems for spec tests into the modules directory by
running:

```sh
bundle install --path .vendor/ --without development --without system_tests --without release
bundle install --path .vendor/ --without development system_tests release
```

If you also want to run acceptance tests:

```sh
bundle install --path .vendor/ --without development --with system_tests --without release
bundle install --path .vendor/ --with system_tests --without development release
```

Our all in one solution if you don't know if you need to install or update gems:

```sh
bundle install --path .vendor/ --without development --with system_tests --without release; bundle update; bundle clean
bundle install --path .vendor/ --with system_tests --without development release; bundle update; bundle clean
```

## Syntax and style
Expand Down Expand Up @@ -109,6 +109,21 @@ To run a specific spec test set the `SPEC` variable:
bundle exec rake spec SPEC=spec/foo_spec.rb
```

### Unit tests in docker

Some people don't want to run the dependencies locally or don't want to install
ruby. We ship a Dockerfile that enables you to run all unit tests and linting.
You only need to run:

```sh
docker build .
```

Please ensure that a docker daemon is running and that your user has the
permission to talk to it. You can specify a remote docker host by setting the
`DOCKER_HOST` environment variable. it will copy the content of the module into
the docker image. So it will not work if a Gemfile.lock exists.

## Integration tests

The unit tests just check the code runs, not that it does exactly what
Expand Down
10 changes: 5 additions & 5 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ Thank you for contributing to this project!
-->
#### Pull Request (PR) description
<!--
Replace this comment with a description of your pull request.
Replace this comment with a description of your pull request.
-->

#### This Pull Request (PR) fixes the following issues
<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->
2 changes: 1 addition & 1 deletion .msync.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
modulesync_config_version: '2.2.0'
modulesync_config_version: '2.7.0'
1 change: 1 addition & 0 deletions .pmtignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ Puppetfile.lock
*.iml
.*.sw?
.yardoc/
Dockerfile
122 changes: 30 additions & 92 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,138 +1,76 @@
---
sudo: false
dist: trusty
dist: xenial
language: ruby
cache: bundler
before_install:
- rm -f Gemfile.lock
- gem update --system
- gem update bundler
- bundle --version
script:
- 'bundle exec rake $CHECK'
matrix:
fast_finish: true
include:
- rvm: 2.1.9
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 4.0" CHECK=test PARALLEL_TEST_PROCESSORS=12
- rvm: 2.4.4
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=test
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 6.0" CHECK=test_with_coveralls
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 6.0" CHECK=rubocop
- rvm: 2.4.4
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=build DEPLOY_TO_FORGE=yes
- rvm: 2.5.1
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=ubuntu1404-64{hypervisor=docker} CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=ubuntu1404-64{hypervisor=docker} CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6-nightly BEAKER_debug=true BEAKER_setfile=ubuntu1404-64{hypervisor=docker} CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=ubuntu1604-64{hypervisor=docker} CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=ubuntu1604-64{hypervisor=docker} CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6-nightly BEAKER_debug=true BEAKER_setfile=ubuntu1604-64{hypervisor=docker} CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=ubuntu1804-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=ubuntu1404-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=ubuntu1804-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=ubuntu1404-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6-nightly BEAKER_debug=true BEAKER_setfile=ubuntu1804-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=ubuntu1604-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=debian8-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=ubuntu1604-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=debian8-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=ubuntu1804-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6-nightly BEAKER_debug=true BEAKER_setfile=debian8-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=ubuntu1804-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=debian9-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=debian8-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=debian9-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=debian8-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6-nightly BEAKER_debug=true BEAKER_setfile=debian9-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=debian9-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=centos7-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=debian9-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=centos7-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=centos7-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
- rvm: 2.5.1
- rvm: 2.5.3
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6-nightly BEAKER_debug=true BEAKER_setfile=centos7-64{hypervisor=docker} CHECK=beaker
env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=centos7-64 BEAKER_HYPERVISOR=docker CHECK=beaker
services: docker
sudo: required
branches:
only:
- master
Expand Down
Loading