2 changes: 1 addition & 1 deletion .msync.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
modulesync_config_version: '1.3.0'
modulesync_config_version: '1.5.0'
3 changes: 3 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ Style/HashSyntax:
Style/RedundantReturn:
Enabled: True

Style/EndOfLine:
Enabled: False

Lint/AmbiguousOperator:
Enabled: True

Expand Down
7 changes: 6 additions & 1 deletion .sync.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
.travis.yml:
secure: "JquGPtLafZM/F6sNke12hW2VlKIn5yKfTXh/iAVIOLG/GLi2Om7enhvxl81nuyu1qjeXqMla+6WUKqWHu1s5odzI6JRjaWjdikxwcwuU464h3Fg8r3/enDlZtL6VWbLGQf0pqiaNNKlRl/2P9dYTCx8cbgAUPTqNIGY1Hf/V0oSIXRV1L3DbtDa0Qt5e3WOC0oAHYjoMLDFx/LhAUoFH6h5VGmM2hiuw641OE1PdZcdzkD64xFUpOSuFP7hknNyeGMftr+ZtwH3oymKHhpeH4IYJIiuI74+HEUtSzNsh+8Ok35gRZz3hgab4YmGjbJIVR2BiMIIghbD41Izcp2FmH4mMqkfJx5slLv/uoAtVeyyOgFOz9rcGuGlQE6mFXDeAWTNeXMQdnTEZGiwj7/sKYzbfdRKiPquGqr//so7RiN+0QwO+9MJoQuwZDhIsHsr1EEJhkA9kLy/gZpOD54Ef4w3EcRzu76grxRMzEgwLTOYFKVKIuXUY4y0u6SV/uJeoi80Ke5fCwfGRG/U1heWto2sns5LhEkV+nfH31iM5BLzMLYukuTgX9CJRje22+s/gL8bvXvD6LCQ0bckzZI8Pq+g1w41iILXRYJ7kJsjFszdDG8pQPk1rM5ZNHl+CNq1u7wXEci2ND0b9WQu2QDcOH8eGtasPaVFX+2LBhpaw0k0="
secure: "M9rOa2lFaOagSRKNWb6BtS90yj8+8jk0tjeNGxxk73RoSfldKbxczZYY/U+nxGbLAvsDDHqQhMXXhRXxHKngl+Lg+dD6O0qT51ArGBtjSiMnVY00dC/+0nF932oS2skPbgzMGszK+u4o2Efjd6h18q9dT0WTGka2aOv9eJ18pwyESB7vyWbEDgxQ6Bk4J02EeFGhp/is1MlcK5rXpEYUGSPwJJCgEkbWuJek4ZDyT+qG5TTEUJMovNu4Oxy6HVGCDrM65hjK79oT9BVKM5xkgJoxN1trdqpmIEu8KOZck/+Iokcz+mHJfx62dJ2fg6bcOhQFSbW2UdPAYW4f1YaViHuwWWXgT58hPtB1PdEKPI/6HnAKBSLA2Fr3fA26BKbT/0CcRbSLMTjmbd9csEb5VE0eoCoTtVItVEsRkqm0BNvQ8oLRmQgFht2hGwwoczwBAj9aF80MjuDUzG2WjM/WjNIWfIFmeNoWTy/u+/58Q9wj6vIX2EyTJDEOorlP+4RXK+xub3QXntfmqkIlyB5qE6QxMDTAZN8aqBjo/771Ky7pIKAthWLVdDHPKhPHD2bMzilSqoFzNFtCkIbYp8w/eJUCfXhPpFEpt/9QzPLtP4/3KrJ/KUMt3hWfEGWOhUXlbalF5cFCP5aWkDDnoKxWILGS94xkXV2qyEGEMY2tn5o="
docker_sets:
- set: docker/ubuntu-14.04
- set: docker/ubuntu-16.04
- set: docker/debian-8
- set: docker/centos-7
47 changes: 26 additions & 21 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,53 +15,58 @@ script:
matrix:
fast_finish: true
include:
- rvm: 2.1.9
bundler_args: --without system_tests development
env: PUPPET_VERSION="~> 4.0" CHECK=test
- rvm: 2.4.2
bundler_args: --without system_tests development
env: PUPPET_VERSION="~> 5.0" CHECK=test_with_coveralls
- rvm: 2.4.2
bundler_args: --without system_tests development
env: PUPPET_VERSION="~> 5.0" CHECK=rubocop
- rvm: 2.4.2
bundler_args: --without system_tests development
env: PUPPET_VERSION="~> 5.0" CHECK=build DEPLOY_TO_FORGE=yes
- rvm: 2.4.2
bundler_args: --without development
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent CHECK=acceptance BEAKER_debug=true BEAKER_set=docker/centos-7
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04 CHECK=beaker
services: docker
sudo: required
- rvm: 2.4.2
bundler_args: --without development
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent CHECK=acceptance BEAKER_debug=true BEAKER_set=docker/ubuntu-16.04
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/ubuntu-16.04 CHECK=beaker
services: docker
sudo: required
- rvm: 2.4.2
bundler_args: --without development
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent CHECK=acceptance BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/debian-8 CHECK=beaker
services: docker
sudo: required
- rvm: 2.4.2
bundler_args: --without development
bundler_args: --without development release
dist: trusty
env: PUPPET_INSTALL_TYPE=agent CHECK=acceptance BEAKER_debug=true BEAKER_set=docker/debian-8
env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/centos-7 CHECK=beaker
services: docker
sudo: required
- rvm: 2.1.9
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 4.0" CHECK=test PARALLEL_TEST_PROCESSORS=16
- rvm: 2.4.2
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=test_with_coveralls
- rvm: 2.4.2
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=rubocop
- rvm: 2.4.2
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=build DEPLOY_TO_FORGE=yes
branches:
only:
- master
- /^v\d/
notifications:
email: false
irc:
on_success: always
on_failure: always
channels:
- "chat.freenode.org#voxpupuli-notifications"
deploy:
provider: puppetforge
user: puppet
password:
secure: "JquGPtLafZM/F6sNke12hW2VlKIn5yKfTXh/iAVIOLG/GLi2Om7enhvxl81nuyu1qjeXqMla+6WUKqWHu1s5odzI6JRjaWjdikxwcwuU464h3Fg8r3/enDlZtL6VWbLGQf0pqiaNNKlRl/2P9dYTCx8cbgAUPTqNIGY1Hf/V0oSIXRV1L3DbtDa0Qt5e3WOC0oAHYjoMLDFx/LhAUoFH6h5VGmM2hiuw641OE1PdZcdzkD64xFUpOSuFP7hknNyeGMftr+ZtwH3oymKHhpeH4IYJIiuI74+HEUtSzNsh+8Ok35gRZz3hgab4YmGjbJIVR2BiMIIghbD41Izcp2FmH4mMqkfJx5slLv/uoAtVeyyOgFOz9rcGuGlQE6mFXDeAWTNeXMQdnTEZGiwj7/sKYzbfdRKiPquGqr//so7RiN+0QwO+9MJoQuwZDhIsHsr1EEJhkA9kLy/gZpOD54Ef4w3EcRzu76grxRMzEgwLTOYFKVKIuXUY4y0u6SV/uJeoi80Ke5fCwfGRG/U1heWto2sns5LhEkV+nfH31iM5BLzMLYukuTgX9CJRje22+s/gL8bvXvD6LCQ0bckzZI8Pq+g1w41iILXRYJ7kJsjFszdDG8pQPk1rM5ZNHl+CNq1u7wXEci2ND0b9WQu2QDcOH8eGtasPaVFX+2LBhpaw0k0="
secure: "M9rOa2lFaOagSRKNWb6BtS90yj8+8jk0tjeNGxxk73RoSfldKbxczZYY/U+nxGbLAvsDDHqQhMXXhRXxHKngl+Lg+dD6O0qT51ArGBtjSiMnVY00dC/+0nF932oS2skPbgzMGszK+u4o2Efjd6h18q9dT0WTGka2aOv9eJ18pwyESB7vyWbEDgxQ6Bk4J02EeFGhp/is1MlcK5rXpEYUGSPwJJCgEkbWuJek4ZDyT+qG5TTEUJMovNu4Oxy6HVGCDrM65hjK79oT9BVKM5xkgJoxN1trdqpmIEu8KOZck/+Iokcz+mHJfx62dJ2fg6bcOhQFSbW2UdPAYW4f1YaViHuwWWXgT58hPtB1PdEKPI/6HnAKBSLA2Fr3fA26BKbT/0CcRbSLMTjmbd9csEb5VE0eoCoTtVItVEsRkqm0BNvQ8oLRmQgFht2hGwwoczwBAj9aF80MjuDUzG2WjM/WjNIWfIFmeNoWTy/u+/58Q9wj6vIX2EyTJDEOorlP+4RXK+xub3QXntfmqkIlyB5qE6QxMDTAZN8aqBjo/771Ky7pIKAthWLVdDHPKhPHD2bMzilSqoFzNFtCkIbYp8w/eJUCfXhPpFEpt/9QzPLtP4/3KrJ/KUMt3hWfEGWOhUXlbalF5cFCP5aWkDDnoKxWILGS94xkXV2qyEGEMY2tn5o="
on:
tags: true
# all_branches is required to use tags
Expand Down
32 changes: 31 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,37 @@ All notable changes to this project will be documented in this file.
Each new release typically also includes the latest modulesync defaults.
These should not affect the functionality of the module.

## [v3.0.0](https://github.com/voxpupuli/puppet-prometheus/tree/v3.0.0) (2017-10-30)
## [v3.1.0](https://github.com/voxpupuli/puppet-prometheus/tree/v3.1.0) (2017-11-26)

[Full Changelog](https://github.com/voxpupuli/puppet-prometheus/compare/v3.0.0...v3.1.0)

**Implemented enhancements:**

- add support for remote\_read [\#109](https://github.com/voxpupuli/puppet-prometheus/pull/109) ([lobeck](https://github.com/lobeck))
- messagebird/beanstalkd\_exporter support [\#105](https://github.com/voxpupuli/puppet-prometheus/pull/105) ([TomaszUrugOlszewski](https://github.com/TomaszUrugOlszewski))
- Add support for mesos exporter [\#59](https://github.com/voxpupuli/puppet-prometheus/pull/59) ([tahaalibra](https://github.com/tahaalibra))

**Fixed bugs:**

- Unable to use this module on fresh alert manager instances [\#55](https://github.com/voxpupuli/puppet-prometheus/issues/55)
- older versions of puppet don't know about the --to\_yaml option [\#119](https://github.com/voxpupuli/puppet-prometheus/pull/119) ([tuxmea](https://github.com/tuxmea))
- prometheus systemd needs network-online and started after multi-user. [\#117](https://github.com/voxpupuli/puppet-prometheus/pull/117) ([tuxmea](https://github.com/tuxmea))
- Disable line wrapping when converting full\_config to yaml. [\#104](https://github.com/voxpupuli/puppet-prometheus/pull/104) ([benpollardcts](https://github.com/benpollardcts))
- verify whether alert\_manager is running [\#101](https://github.com/voxpupuli/puppet-prometheus/pull/101) ([tuxmea](https://github.com/tuxmea))

**Closed issues:**

- Error: Could not parse application options: invalid option: --to\_yaml [\#118](https://github.com/voxpupuli/puppet-prometheus/issues/118)
- Flaky Acceptance Tests in TravisCI [\#114](https://github.com/voxpupuli/puppet-prometheus/issues/114)
- Update release on forge.puppetlabs.com [\#107](https://github.com/voxpupuli/puppet-prometheus/issues/107)

**Merged pull requests:**

- replace all Variant\[Undef.. with Optional\[... [\#103](https://github.com/voxpupuli/puppet-prometheus/pull/103) ([TheMeier](https://github.com/TheMeier))
- release 3.0.0 [\#99](https://github.com/voxpupuli/puppet-prometheus/pull/99) ([bastelfreak](https://github.com/bastelfreak))
- Tests for prometheus::daemon [\#87](https://github.com/voxpupuli/puppet-prometheus/pull/87) ([sathieu](https://github.com/sathieu))

## [v3.0.0](https://github.com/voxpupuli/puppet-prometheus/tree/v3.0.0) (2017-10-31)

[Full Changelog](https://github.com/voxpupuli/puppet-prometheus/compare/v2.0.0...v3.0.0)

Expand Down
4 changes: 3 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def location_for(place, fake_version = nil)
end

group :test do
gem 'puppetlabs_spec_helper', '~> 2.4.0', :require => false
gem 'puppetlabs_spec_helper', '~> 2.5.0', :require => false
gem 'rspec-puppet', '~> 2.5', :require => false
gem 'rspec-puppet-facts', :require => false
gem 'rspec-puppet-utils', :require => false
Expand Down Expand Up @@ -43,6 +43,8 @@ group :system_tests do
gem 'winrm', :require => false
if beaker_version = ENV['BEAKER_VERSION']
gem 'beaker', *location_for(beaker_version)
else
gem 'beaker', '>= 3.9.0', :require => false
end
if beaker_rspec_version = ENV['BEAKER_RSPEC_VERSION']
gem 'beaker-rspec', *location_for(beaker_rspec_version)
Expand Down
12 changes: 9 additions & 3 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet_blacksmith/rake_tasks'
require 'voxpupuli/release/rake_tasks'
require 'puppet-strings/tasks'

# load optional tasks for releases
# only available if gem group releases is installed
begin
require 'puppet_blacksmith/rake_tasks'
require 'voxpupuli/release/rake_tasks'
require 'puppet-strings/tasks'
rescue LoadError
end

PuppetLint.configuration.log_format = '%{path}:%{line}:%{check}:%{KIND}:%{message}'
PuppetLint.configuration.fail_on_warnings = true
Expand Down
1 change: 1 addition & 0 deletions examples/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
include ::prometheus::statsd_exporter
include ::prometheus::process_exporter
include ::prometheus::blackbox_exporter
include ::prometheus::beanstalkd_exporter
5 changes: 5 additions & 0 deletions lib/facter/alert_manager_running.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Facter.add('prometheus_alert_manager_running') do
setcode do
Facter::Core::Execution.execute('puppet resource service alert_manager 2>&1').scan('running')[0]
end
end
8 changes: 5 additions & 3 deletions manifests/alertmanager.pp
Original file line number Diff line number Diff line change
Expand Up @@ -193,9 +193,11 @@
require => File[$config_dir],
}

# This is here to stop the previous alertmanager that was installed in version 0.1.14
service { 'alert_manager':
ensure => 'stopped',
if $facts['prometheus_alert_manager_running'] == 'running' {
# This is here to stop the previous alertmanager that was installed in version 0.1.14
service { 'alert_manager':
ensure => 'stopped',
}
}

if $storage_path {
Expand Down
155 changes: 155 additions & 0 deletions manifests/beanstalkd_exporter.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# Class: prometheus::beanstalkd_exporter
#
# This module manages prometheus beanstalkd_exporter
#
# Parameters:
# [*arch*]
# Architecture (amd64 or i386)
#
# [*bin_dir*]
# Directory where binaries are located
#
# [*config*]
# Path to configuration file that stores beanstalkd address
#
# [*mapping_config*]
# Path to configuration file with tubes mappings (not implemented)
#
# [*beanstalkd_address*]
# Address of beanstalkd, defaults to localhost
#
# [*exporter_listen*]
# Address to bind beanstalkd_exporter to. Default is different than upstream (*:9371)
#
# [*download_extension*]
# Extension for the release binary archive
#
# [*download_url*]
# Complete URL corresponding to the where the release binary archive can be downloaded
#
# [*download_url_base*]
# Base URL for the binary archive
#
# [*extra_groups*]
# Extra groups to add the binary user to
#
# [*extra_options*]
# Extra options added to the startup command
#
# [*group*]
# Group under which the binary is running
#
# [*init_style*]
# Service startup scripts style (e.g. rc, upstart or systemd)
#
# [*install_method*]
# Installation method: url or package (only url is supported currently)
#
# [*manage_group*]
# Whether to create a group for or rely on external code for that
#
# [*manage_service*]
# Should puppet manage the service? (default true)
#
# [*manage_user*]
# Whether to create user or rely on external code for that
#
# [*os*]
# Operating system (linux is the only one supported)
#
# [*package_ensure*]
# If package, then use this for package ensure default 'latest'
#
# [*package_name*]
# The binary package name - not available yet
#
# [*purge_config_dir*]
# Purge config files no longer generated by Puppet
#
# [*restart_on_change*]
# Should puppet restart the service on configuration change? (default true)
#
# [*service_enable*]
# Whether to enable the service from puppet (default true)
#
# [*service_ensure*]
# State ensured for the service (default 'running')
#
# [*user*]
# User which runs the service
#
# [*version*]
# The binary release version
class prometheus::beanstalkd_exporter (
String $arch = $::prometheus::params::arch,
String $bin_dir = $::prometheus::params::bin_dir,
String $download_extension = $::prometheus::params::beanstalkd_exporter_download_extension,
Variant[Undef,String] $download_url = undef,
String $download_url_base = $::prometheus::params::beanstalkd_exporter_download_url_base,
Array $extra_groups = $::prometheus::params::beanstalkd_exporter_extra_groups,
String $extra_options = '',
String $group = $::prometheus::params::beanstalkd_exporter_group,
String $init_style = $::prometheus::params::init_style,
String $install_method = $::prometheus::params::install_method,
Boolean $manage_group = true,
Boolean $manage_service = true,
Boolean $manage_user = true,
String $os = $::prometheus::params::os,
String $package_ensure = $::prometheus::params::beanstalkd_exporter_package_ensure,
String $package_name = $::prometheus::params::beanstalkd_exporter_package_name,
Boolean $purge_config_dir = true,
Boolean $restart_on_change = true,
Boolean $service_enable = true,
String $service_ensure = 'running',
String $user = $::prometheus::params::beanstalkd_exporter_user,
String $version = $::prometheus::params::beanstalkd_exporter_version,
String $config = $::prometheus::params::beanstalkd_exporter_config,
String $mapping_config = $::prometheus::params::beanstalkd_exporter_mapping_config,
String $beanstalkd_address = $::prometheus::params::beanstalkd_exporter_beanstalkd_address,
String $exporter_listen = $::prometheus::params::beanstalkd_exporter_listen,
) inherits prometheus::params {
#Please provide the download_url for versions < 0.9.0
$real_download_url = pick($download_url,"${download_url_base}/download/${version}/${package_name}-${version}.${os}-${arch}.${download_extension}")

$notify_service = $restart_on_change ? {
true => Service['beanstalkd_exporter'],
default => undef,
}

$options = "-listen-address ${exporter_listen} -config ${config} -mapping-config ${mapping_config} ${extra_options}"

file { $config:
ensure => file,
content => $beanstalkd_address,
before => Prometheus::Daemon['beanstalkd_exporter'],
}

file { $mapping_config:
ensure => file,
before => Prometheus::Daemon['beanstalkd_exporter'],
}

prometheus::daemon { 'beanstalkd_exporter':
install_method => $install_method,
version => $version,
download_extension => $download_extension,
os => $os,
arch => $arch,
real_download_url => $real_download_url,
bin_dir => $bin_dir,
notify_service => $notify_service,
package_name => $package_name,
package_ensure => $package_ensure,
manage_user => $manage_user,
user => $user,
extra_groups => $extra_groups,
group => $group,
manage_group => $manage_group,
purge => $purge_config_dir,
options => $options,
init_style => $init_style,
service_ensure => $service_ensure,
service_enable => $service_enable,
manage_service => $manage_service,
}
}
Loading