Showing with 269 additions and 279 deletions.
  1. +17 −2 .github/CONTRIBUTING.md
  2. +12 −0 .github/PULL_REQUEST_TEMPLATE.md
  3. +1 −1 .msync.yml
  4. +11 −5 .travis.yml
  5. +21 −1 CHANGELOG.md
  6. +8 −7 Gemfile
  7. +8 −8 manifests/daily.pp
  8. +7 −7 manifests/hourly.pp
  9. +11 −23 manifests/init.pp
  10. +14 −12 manifests/job.pp
  11. +12 −12 manifests/job/multiple.pp
  12. +9 −9 manifests/monthly.pp
  13. +9 −9 manifests/weekly.pp
  14. +2 −5 metadata.json
  15. +0 −19 spec/acceptance/nodesets/docker/centos-5.yml
  16. +0 −20 spec/acceptance/nodesets/docker/centos-6.yml
  17. +0 −19 spec/acceptance/nodesets/docker/centos-7.yml
  18. +0 −18 spec/acceptance/nodesets/docker/debian-7.yml
  19. +0 −20 spec/acceptance/nodesets/docker/debian-8.yml
  20. +0 −20 spec/acceptance/nodesets/docker/debian-9.yml
  21. +0 −19 spec/acceptance/nodesets/docker/ubuntu-12.04.yml
  22. +0 −21 spec/acceptance/nodesets/docker/ubuntu-14.04.yml
  23. +0 −19 spec/acceptance/nodesets/docker/ubuntu-16.04.yml
  24. +0 −2 spec/acceptance/nodesets/fedora-25-x64.yml
  25. +16 −0 spec/acceptance/nodesets/fedora-26-x64.yml
  26. +18 −0 spec/acceptance/nodesets/fedora-27-x64.yml
  27. +4 −0 spec/spec_helper.rb
  28. +1 −1 templates/users.epp
  29. +5 −0 types/date.pp
  30. +3 −0 types/deb_version.pp
  31. +2 −0 types/environment.pp
  32. +5 −0 types/hour.pp
  33. +2 −0 types/job_ensure.pp
  34. +13 −0 types/jobname.pp
  35. +5 −0 types/minute.pp
  36. +2 −0 types/mode.pp
  37. +6 −0 types/month.pp
  38. +3 −0 types/monthname.pp
  39. +2 −0 types/package_ensure.pp
  40. +2 −0 types/package_state.pp
  41. +3 −0 types/rpm_version.pp
  42. +2 −0 types/second.pp
  43. +5 −0 types/service_enable.pp
  44. +5 −0 types/service_ensure.pp
  45. +12 −0 types/special.pp
  46. +2 −0 types/user.pp
  47. +6 −0 types/weekday.pp
  48. +3 −0 types/weekdayname.pp
19 changes: 17 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,24 @@ you must set an environment variable such as:

export PUPPET_VERSION="~> 4.2.0"

Install the dependencies like so...
You can install all needed gems for spec tests into the modules directory by
running:

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

If you also want to run acceptance tests:

```sh
bundle install --path .vendor/ --without development --with system_tests --without 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
```

## Syntax and style

Expand Down
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,15 @@ Thank you for contributing to this project!
- Our vulnerabilities reporting process is at https://voxpupuli.org/security/
-->
#### Pull Request (PR) description
<!--
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
-->
2 changes: 1 addition & 1 deletion .msync.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
modulesync_config_version: '1.6.0'
modulesync_config_version: '1.9.2'
16 changes: 11 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,29 @@ sudo: false
dist: trusty
language: ruby
cache: bundler
# related to https://github.com/rubygems/rubygems/issues/2123
before_install:
- rm -f Gemfile.lock
- 'rm -f Gemfile.lock'
- 'gem update --system'
- 'gem install bundler'
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=16
- rvm: 2.4.2
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
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=test_with_coveralls
- rvm: 2.4.2
- rvm: 2.4.4
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=rubocop
- rvm: 2.4.2
- rvm: 2.5.1
bundler_args: --without system_tests development release
env: PUPPET_VERSION="~> 5.0" CHECK=build DEPLOY_TO_FORGE=yes
branches:
Expand Down
22 changes: 21 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,32 @@ 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.

## [v1.2.0](https://github.com/voxpupuli/puppet-cron/tree/v1.2.0) (2018-06-25)

[Full Changelog](https://github.com/voxpupuli/puppet-cron/compare/v1.1.1...v1.2.0)

**Fixed bugs:**

- Code in init.pp doesn't match defined types [\#31](https://github.com/voxpupuli/puppet-cron/issues/31)

**Closed issues:**

- Make first release under voxpupuli's 'puppet' namespace [\#36](https://github.com/voxpupuli/puppet-cron/issues/36)
- Add defined types for parameter validation. [\#30](https://github.com/voxpupuli/puppet-cron/issues/30)

**Merged pull requests:**

- Remove docker nodesets [\#47](https://github.com/voxpupuli/puppet-cron/pull/47) ([bastelfreak](https://github.com/bastelfreak))
- bump puppet version dependency to \>= 4.10.0 \< 6.0.0 [\#46](https://github.com/voxpupuli/puppet-cron/pull/46) ([bastelfreak](https://github.com/bastelfreak))
- Add types for parameter validation. [\#29](https://github.com/voxpupuli/puppet-cron/pull/29) ([pillarsdotnet](https://github.com/pillarsdotnet))

## [v1.1.1](https://github.com/voxpupuli/puppet-cron/tree/v1.1.1) (2018-01-19)

[Full Changelog](https://github.com/voxpupuli/puppet-cron/compare/v1.1.0...v1.1.1)

**Merged pull requests:**

- Release 1.1.1 [\#43](https://github.com/voxpupuli/puppet-cron/pull/43) ([alexjfisher](https://github.com/alexjfisher))
- Fix README.md links [\#42](https://github.com/voxpupuli/puppet-cron/pull/42) ([alexjfisher](https://github.com/alexjfisher))

## [v1.1.0](https://github.com/voxpupuli/puppet-cron/tree/v1.1.0) (2018-01-19)
Expand Down Expand Up @@ -107,4 +127,4 @@ These should not affect the functionality of the module.
* Initial PuppetForge release


\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
15 changes: 8 additions & 7 deletions 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.5.0', :require => false
gem 'puppetlabs_spec_helper', '~> 2.6.0', :require => false
gem 'rspec-puppet', '~> 2.5', :require => false
gem 'rspec-puppet-facts', :require => false
gem 'rspec-puppet-utils', :require => false
Expand All @@ -25,7 +25,7 @@ group :test do
gem 'redcarpet', :require => false
gem 'rubocop', '~> 0.49.1', :require => false if RUBY_VERSION >= '2.3.0'
gem 'rubocop-rspec', '~> 1.15.0', :require => false if RUBY_VERSION >= '2.3.0'
gem 'mocha', '>= 1.2.1', :require => false
gem 'mocha', '~> 1.4.0', :require => false
gem 'coveralls', :require => false
gem 'simplecov-console', :require => false
gem 'rack', '~> 1.0', :require => false if RUBY_VERSION < '2.2.2'
Expand All @@ -40,7 +40,7 @@ group :development do
end

group :system_tests do
gem 'winrm', :require => false
gem 'winrm', :require => false
if beaker_version = ENV['BEAKER_VERSION']
gem 'beaker', *location_for(beaker_version)
else
Expand All @@ -51,13 +51,14 @@ group :system_tests do
else
gem 'beaker-rspec', :require => false
end
gem 'serverspec', :require => false
gem 'beaker-puppet_install_helper', :require => false
gem 'beaker-module_install_helper', :require => false
gem 'serverspec', :require => false
gem 'beaker-hostgenerator', '>= 1.1.10', :require => false
gem 'beaker-puppet_install_helper', :require => false
gem 'beaker-module_install_helper', :require => false
end

group :release do
gem 'github_changelog_generator', :require => false if RUBY_VERSION >= '2.2.2'
gem 'github_changelog_generator', :require => false, :git => 'https://github.com/skywinder/github-changelog-generator' if RUBY_VERSION >= '2.2.2'
gem 'puppet-blacksmith', :require => false
gem 'voxpupuli-release', :require => false, :git => 'https://github.com/voxpupuli/voxpupuli-release-gem'
gem 'puppet-strings', '~> 1.0', :require => false
Expand Down
16 changes: 8 additions & 8 deletions manifests/daily.pp
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@
# }
#
define cron::daily (
Optional[String[1]] $command = undef,
Enum['absent','present'] $ensure = 'present',
Variant[Integer,String[1]] $minute = 0,
Variant[Integer,String[1]] $hour = 0,
Array[String] $environment = [],
String[1] $user = 'root',
String[4,4] $mode = '0644',
Optional[String] $description = undef,
Optional[String[1]] $command = undef,
Cron::Job_ensure $ensure = 'present',
Cron::Minute $minute = 0,
Cron::Hour $hour = 0,
Cron::Environment $environment = [],
Cron::User $user = 'root',
Cron::Mode $mode = '0644',
Optional[String] $description = undef,
) {

cron::job { $title:
Expand Down
14 changes: 7 additions & 7 deletions manifests/hourly.pp
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@
# }
#
define cron::hourly (
Optional[String[1]] $command = undef,
Enum['absent','present'] $ensure = 'present',
Variant[Integer,String[1]] $minute = 0,
Array[String] $environment = [],
String[1] $user = 'root',
String[4,4] $mode = '0644',
Optional[String] $description = undef,
Optional[String[1]] $command = undef,
Cron::Job_ensure $ensure = 'present',
Cron::Minute $minute = 0,
Cron::Environment $environment = [],
Cron::User $user = 'root',
Cron::Mode $mode = '0644',
Optional[String] $description = undef,
) {

cron::job { $title:
Expand Down
34 changes: 11 additions & 23 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -34,29 +34,17 @@
# }
#
class cron (
String[1] $service_name,
String[1] $package_name,
Boolean $manage_package = true,
Boolean $manage_service = true,
Variant[
Boolean,
Enum[
'running',
'stopped',
]
] $service_ensure = 'running',
Variant[
Boolean,
Enum[
'manual',
'mask',
]
] $service_enable = true,
String[1] $package_ensure = 'installed',
Array[String] $users_allow = [],
Array[String] $users_deny = [],
Boolean $manage_users_allow = false,
Boolean $manage_users_deny = false,
String[1] $service_name,
String[1] $package_name,
Boolean $manage_package = true,
Boolean $manage_service = true,
Cron::Service_ensure $service_ensure = 'running',
Cron::Service_enable $service_enable = true,
Cron::Package_ensure $package_ensure = 'installed',
Array[Cron::User] $users_allow = [],
Array[Cron::User] $users_deny = [],
Boolean $manage_users_allow = false,
Boolean $manage_users_deny = false,
) {

contain '::cron::install'
Expand Down
26 changes: 14 additions & 12 deletions manifests/job.pp
Original file line number Diff line number Diff line change
Expand Up @@ -43,20 +43,22 @@
# }
#
define cron::job (
Optional[String[1]] $command = undef,
Enum['absent','present'] $ensure = 'present',
Variant[Integer,String[1]] $minute = '*',
Variant[Integer,String[1]] $hour = '*',
Variant[Integer,String[1]] $date = '*',
Variant[Integer,String[1]] $month = '*',
Variant[Integer,String[1]] $weekday = '*',
Optional[String[1]] $special = undef,
Array[String] $environment = [],
String[1] $user = 'root',
String[4,4] $mode = '0644',
Optional[String] $description = undef,
Optional[String[1]] $command = undef,
Cron::Job_ensure $ensure = 'present',
Cron::Minute $minute = '*',
Cron::Hour $hour = '*',
Cron::Date $date = '*',
Cron::Month $month = '*',
Cron::Weekday $weekday = '*',
Cron::Special $special = undef,
Cron::Environment $environment = [],
Cron::User $user = 'root',
Cron::Mode $mode = '0644',
Optional[String] $description = undef,
) {

assert_type(Cron::Jobname, $title)

case $ensure {
'absent': {
file { "job_${title}":
Expand Down
24 changes: 12 additions & 12 deletions manifests/job/multiple.pp
Original file line number Diff line number Diff line change
Expand Up @@ -44,19 +44,19 @@
define cron::job::multiple(
Array[Struct[{
Optional['command'] => String[1],
Optional['minute'] => Variant[Integer,String[1]],
Optional['hour'] => Variant[Integer,String[1]],
Optional['date'] => Variant[Integer,String[1]],
Optional['month'] => Variant[Integer,String[1]],
Optional['weekday'] => Variant[Integer,String[1]],
Optional['special'] => String[1],
Optional['environment'] => Array[String],
Optional['user'] => String[1],
Optional['minute'] => Cron::Minute,
Optional['hour'] => Cron::Hour,
Optional['date'] => Cron::Date,
Optional['month'] => Cron::Month,
Optional['weekday'] => Cron::Weekday,
Optional['special'] => Cron::Special,
Optional['environment'] => Cron::Environment,
Optional['user'] => Cron::User,
Optional['description'] => String,
}]] $jobs,
Enum['absent','present'] $ensure = 'present',
Array[String] $environment = [],
String[4,4] $mode = '0644',
}]] $jobs,
Cron::Job_ensure $ensure = 'present',
Cron::Environment $environment = [],
Cron::Mode $mode = '0644',
) {
case $ensure {
'absent': {
Expand Down
18 changes: 9 additions & 9 deletions manifests/monthly.pp
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@
# }
#
define cron::monthly (
Optional[String[1]] $command = undef,
Enum['absent','present'] $ensure = 'present',
Variant[Integer,String[1]] $minute = 0,
Variant[Integer,String[1]] $hour = 0,
Variant[Integer,String[1]] $date = 1,
Array[String] $environment = [],
String[1] $user = 'root',
String[4,4] $mode = '0644',
Optional[String] $description = undef,
Optional[String[1]] $command = undef,
Cron::Job_ensure $ensure = 'present',
Cron::Minute $minute = 0,
Cron::Hour $hour = 0,
Cron::Date $date = 1,
Cron::Environment $environment = [],
Cron::User $user = 'root',
Cron::Mode $mode = '0644',
Optional[String] $description = undef,
) {

cron::job { $title:
Expand Down
18 changes: 9 additions & 9 deletions manifests/weekly.pp
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@
# }
#
define cron::weekly (
Optional[String[1]] $command = undef,
Enum['absent','present'] $ensure = 'present',
Variant[Integer,String[1]] $minute = 0,
Variant[Integer,String[1]] $hour = 0,
Variant[Integer,String[1]] $weekday = 0,
String[1] $user = 'root',
String[4,4] $mode = '0644',
Array[String] $environment = [],
Optional[String] $description = undef,
Optional[String[1]] $command = undef,
Cron::Job_ensure $ensure = 'present',
Cron::Minute $minute = 0,
Cron::Hour $hour = 0,
Cron::Weekday $weekday = 0,
Cron::User $user = 'root',
Cron::Mode $mode = '0644',
Cron::Environment $environment = [],
Optional[String] $description = undef,
) {

cron::job { $title:
Expand Down
Loading