Initial commit
This commit is contained in:
commit
4aeca2a02d
6
.fixtures.yml
Normal file
6
.fixtures.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file can be used to install module dependencies for unit testing
|
||||||
|
# See https://github.com/puppetlabs/puppetlabs_spec_helper#using-fixtures for details
|
||||||
|
---
|
||||||
|
fixtures:
|
||||||
|
forge_modules:
|
||||||
|
# stdlib: "puppetlabs/stdlib"
|
5
.gitattributes
vendored
Normal file
5
.gitattributes
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
*.rb eol=lf
|
||||||
|
*.erb eol=lf
|
||||||
|
*.pp eol=lf
|
||||||
|
*.sh eol=lf
|
||||||
|
*.epp eol=lf
|
24
.gitignore
vendored
Normal file
24
.gitignore
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
.git/
|
||||||
|
.*.sw[op]
|
||||||
|
.metadata
|
||||||
|
.yardoc
|
||||||
|
.yardwarns
|
||||||
|
*.iml
|
||||||
|
/.bundle/
|
||||||
|
/.idea/
|
||||||
|
/.vagrant/
|
||||||
|
/coverage/
|
||||||
|
/bin/
|
||||||
|
/doc/
|
||||||
|
/Gemfile.local
|
||||||
|
/Gemfile.lock
|
||||||
|
/junit/
|
||||||
|
/log/
|
||||||
|
/pkg/
|
||||||
|
/spec/fixtures/manifests/
|
||||||
|
/spec/fixtures/modules/
|
||||||
|
/tmp/
|
||||||
|
/vendor/
|
||||||
|
/convert_report.txt
|
||||||
|
/update_report.txt
|
||||||
|
.DS_Store
|
41
.gitlab-ci.yml
Normal file
41
.gitlab-ci.yml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
stages:
|
||||||
|
- syntax
|
||||||
|
- unit
|
||||||
|
|
||||||
|
cache:
|
||||||
|
paths:
|
||||||
|
- vendor/bundle
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- bundle -v
|
||||||
|
- rm Gemfile.lock || true
|
||||||
|
- gem update --system
|
||||||
|
- gem --version
|
||||||
|
- bundle -v
|
||||||
|
- bundle install --without system_tests --path vendor/bundle --jobs $(nproc)
|
||||||
|
|
||||||
|
parallel_spec-Ruby 2.1.9-Puppet ~> 4.0:
|
||||||
|
stage: unit
|
||||||
|
image: ruby:2.1.9
|
||||||
|
script:
|
||||||
|
- bundle exec rake parallel_spec
|
||||||
|
variables:
|
||||||
|
PUPPET_GEM_VERSION: '~> 4.0'
|
||||||
|
|
||||||
|
syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop-Ruby 2.4.4-Puppet ~> 5.5:
|
||||||
|
stage: syntax
|
||||||
|
image: ruby:2.4.4
|
||||||
|
script:
|
||||||
|
- bundle exec rake syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop
|
||||||
|
variables:
|
||||||
|
PUPPET_GEM_VERSION: '~> 5.5'
|
||||||
|
|
||||||
|
parallel_spec-Ruby 2.4.4-Puppet ~> 5.5:
|
||||||
|
stage: unit
|
||||||
|
image: ruby:2.4.4
|
||||||
|
script:
|
||||||
|
- bundle exec rake parallel_spec
|
||||||
|
variables:
|
||||||
|
PUPPET_GEM_VERSION: '~> 5.5'
|
||||||
|
|
24
.pdkignore
Normal file
24
.pdkignore
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
.git/
|
||||||
|
.*.sw[op]
|
||||||
|
.metadata
|
||||||
|
.yardoc
|
||||||
|
.yardwarns
|
||||||
|
*.iml
|
||||||
|
/.bundle/
|
||||||
|
/.idea/
|
||||||
|
/.vagrant/
|
||||||
|
/coverage/
|
||||||
|
/bin/
|
||||||
|
/doc/
|
||||||
|
/Gemfile.local
|
||||||
|
/Gemfile.lock
|
||||||
|
/junit/
|
||||||
|
/log/
|
||||||
|
/pkg/
|
||||||
|
/spec/fixtures/manifests/
|
||||||
|
/spec/fixtures/modules/
|
||||||
|
/tmp/
|
||||||
|
/vendor/
|
||||||
|
/convert_report.txt
|
||||||
|
/update_report.txt
|
||||||
|
.DS_Store
|
122
.rubocop.yml
Normal file
122
.rubocop.yml
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
---
|
||||||
|
require: rubocop-rspec
|
||||||
|
AllCops:
|
||||||
|
DisplayCopNames: true
|
||||||
|
TargetRubyVersion: '2.1'
|
||||||
|
Include:
|
||||||
|
- "./**/*.rb"
|
||||||
|
Exclude:
|
||||||
|
- bin/*
|
||||||
|
- ".vendor/**/*"
|
||||||
|
- "**/Gemfile"
|
||||||
|
- "**/Rakefile"
|
||||||
|
- pkg/**/*
|
||||||
|
- spec/fixtures/**/*
|
||||||
|
- vendor/**/*
|
||||||
|
- "**/Puppetfile"
|
||||||
|
- "**/Vagrantfile"
|
||||||
|
- "**/Guardfile"
|
||||||
|
Metrics/LineLength:
|
||||||
|
Description: People have wide screens, use them.
|
||||||
|
Max: 200
|
||||||
|
GetText/DecorateString:
|
||||||
|
Description: We don't want to decorate test output.
|
||||||
|
Exclude:
|
||||||
|
- spec/*
|
||||||
|
RSpec/BeforeAfterAll:
|
||||||
|
Description: Beware of using after(:all) as it may cause state to leak between tests.
|
||||||
|
A necessary evil in acceptance testing.
|
||||||
|
Exclude:
|
||||||
|
- spec/acceptance/**/*.rb
|
||||||
|
RSpec/HookArgument:
|
||||||
|
Description: Prefer explicit :each argument, matching existing module's style
|
||||||
|
EnforcedStyle: each
|
||||||
|
Style/BlockDelimiters:
|
||||||
|
Description: Prefer braces for chaining. Mostly an aesthetical choice. Better to
|
||||||
|
be consistent then.
|
||||||
|
EnforcedStyle: braces_for_chaining
|
||||||
|
Style/ClassAndModuleChildren:
|
||||||
|
Description: Compact style reduces the required amount of indentation.
|
||||||
|
EnforcedStyle: compact
|
||||||
|
Style/EmptyElse:
|
||||||
|
Description: Enforce against empty else clauses, but allow `nil` for clarity.
|
||||||
|
EnforcedStyle: empty
|
||||||
|
Style/FormatString:
|
||||||
|
Description: Following the main puppet project's style, prefer the % format format.
|
||||||
|
EnforcedStyle: percent
|
||||||
|
Style/FormatStringToken:
|
||||||
|
Description: Following the main puppet project's style, prefer the simpler template
|
||||||
|
tokens over annotated ones.
|
||||||
|
EnforcedStyle: template
|
||||||
|
Style/Lambda:
|
||||||
|
Description: Prefer the keyword for easier discoverability.
|
||||||
|
EnforcedStyle: literal
|
||||||
|
Style/RegexpLiteral:
|
||||||
|
Description: Community preference. See https://github.com/voxpupuli/modulesync_config/issues/168
|
||||||
|
EnforcedStyle: percent_r
|
||||||
|
Style/TernaryParentheses:
|
||||||
|
Description: Checks for use of parentheses around ternary conditions. Enforce parentheses
|
||||||
|
on complex expressions for better readability, but seriously consider breaking
|
||||||
|
it up.
|
||||||
|
EnforcedStyle: require_parentheses_when_complex
|
||||||
|
Style/TrailingCommaInArguments:
|
||||||
|
Description: Prefer always trailing comma on multiline argument lists. This makes
|
||||||
|
diffs, and re-ordering nicer.
|
||||||
|
EnforcedStyleForMultiline: comma
|
||||||
|
Style/TrailingCommaInLiteral:
|
||||||
|
Description: Prefer always trailing comma on multiline literals. This makes diffs,
|
||||||
|
and re-ordering nicer.
|
||||||
|
EnforcedStyleForMultiline: comma
|
||||||
|
Style/SymbolArray:
|
||||||
|
Description: Using percent style obscures symbolic intent of array's contents.
|
||||||
|
EnforcedStyle: brackets
|
||||||
|
RSpec/MessageSpies:
|
||||||
|
EnforcedStyle: receive
|
||||||
|
Style/Documentation:
|
||||||
|
Exclude:
|
||||||
|
- lib/puppet/parser/functions/**/*
|
||||||
|
- spec/**/*
|
||||||
|
Style/WordArray:
|
||||||
|
EnforcedStyle: brackets
|
||||||
|
Style/CollectionMethods:
|
||||||
|
Enabled: true
|
||||||
|
Style/MethodCalledOnDoEndBlock:
|
||||||
|
Enabled: true
|
||||||
|
Style/StringMethods:
|
||||||
|
Enabled: true
|
||||||
|
Layout/EndOfLine:
|
||||||
|
Enabled: false
|
||||||
|
Layout/IndentHeredoc:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/AbcSize:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/BlockLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/ClassLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/CyclomaticComplexity:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/MethodLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/ModuleLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/ParameterLists:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/PerceivedComplexity:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/DescribeClass:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ExampleLength:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/MessageExpectation:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/MultipleExpectations:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/NestedGroups:
|
||||||
|
Enabled: false
|
||||||
|
Style/AsciiComments:
|
||||||
|
Enabled: false
|
||||||
|
Style/IfUnlessModifier:
|
||||||
|
Enabled: false
|
||||||
|
Style/SymbolProc:
|
||||||
|
Enabled: false
|
47
.travis.yml
Normal file
47
.travis.yml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
sudo: false
|
||||||
|
dist: trusty
|
||||||
|
language: ruby
|
||||||
|
cache: bundler
|
||||||
|
before_install:
|
||||||
|
- bundle -v
|
||||||
|
- rm -f Gemfile.lock
|
||||||
|
- gem update --system
|
||||||
|
- gem --version
|
||||||
|
- bundle -v
|
||||||
|
script:
|
||||||
|
- 'bundle exec rake $CHECK'
|
||||||
|
bundler_args: --without system_tests
|
||||||
|
rvm:
|
||||||
|
- 2.5.1
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
- BEAKER_PUPPET_COLLECTION=puppet6 PUPPET_GEM_VERSION="~> 6.0"
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
include:
|
||||||
|
-
|
||||||
|
env: CHECK="syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop"
|
||||||
|
-
|
||||||
|
env: CHECK=parallel_spec
|
||||||
|
-
|
||||||
|
env: PUPPET_GEM_VERSION="~> 5.0" CHECK=parallel_spec
|
||||||
|
rvm: 2.4.4
|
||||||
|
-
|
||||||
|
env: PUPPET_GEM_VERSION="~> 4.0" CHECK=parallel_spec
|
||||||
|
rvm: 2.1.9
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
- /^v\d/
|
||||||
|
notifications:
|
||||||
|
email: false
|
||||||
|
deploy:
|
||||||
|
provider: puppetforge
|
||||||
|
user: puppet
|
||||||
|
password:
|
||||||
|
secure: ""
|
||||||
|
on:
|
||||||
|
tags: true
|
||||||
|
all_branches: true
|
||||||
|
condition: "$DEPLOY_TO_FORGE = yes"
|
11
CHANGELOG.md
Normal file
11
CHANGELOG.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## Release 0.1.0
|
||||||
|
|
||||||
|
**Features**
|
||||||
|
|
||||||
|
**Bugfixes**
|
||||||
|
|
||||||
|
**Known Issues**
|
70
Gemfile
Normal file
70
Gemfile
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
||||||
|
|
||||||
|
def location_for(place_or_version, fake_version = nil)
|
||||||
|
git_url_regex = %r{\A(?<url>(https?|git)[:@][^#]*)(#(?<branch>.*))?}
|
||||||
|
file_url_regex = %r{\Afile:\/\/(?<path>.*)}
|
||||||
|
|
||||||
|
if place_or_version && (git_url = place_or_version.match(git_url_regex))
|
||||||
|
[fake_version, { git: git_url[:url], branch: git_url[:branch], require: false }].compact
|
||||||
|
elsif place_or_version && (file_url = place_or_version.match(file_url_regex))
|
||||||
|
['>= 0', { path: File.expand_path(file_url[:path]), require: false }]
|
||||||
|
else
|
||||||
|
[place_or_version, { require: false }]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
|
||||||
|
minor_version = ruby_version_segments[0..1].join('.')
|
||||||
|
|
||||||
|
group :development do
|
||||||
|
gem "fast_gettext", '1.1.0', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
|
||||||
|
gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
|
||||||
|
gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
|
||||||
|
gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
|
||||||
|
gem "json", '<= 2.0.4', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.4.4')
|
||||||
|
gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby]
|
||||||
|
gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby]
|
||||||
|
gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
|
||||||
|
gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
|
||||||
|
end
|
||||||
|
|
||||||
|
puppet_version = ENV['PUPPET_GEM_VERSION']
|
||||||
|
facter_version = ENV['FACTER_GEM_VERSION']
|
||||||
|
hiera_version = ENV['HIERA_GEM_VERSION']
|
||||||
|
|
||||||
|
gems = {}
|
||||||
|
|
||||||
|
gems['puppet'] = location_for(puppet_version)
|
||||||
|
|
||||||
|
# If facter or hiera versions have been specified via the environment
|
||||||
|
# variables
|
||||||
|
|
||||||
|
gems['facter'] = location_for(facter_version) if facter_version
|
||||||
|
gems['hiera'] = location_for(hiera_version) if hiera_version
|
||||||
|
|
||||||
|
if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)}
|
||||||
|
# If we're using a Puppet gem on Windows which handles its own win32-xxx gem
|
||||||
|
# dependencies (>= 3.5.0), set the maximum versions (see PUP-6445).
|
||||||
|
gems['win32-dir'] = ['<= 0.4.9', require: false]
|
||||||
|
gems['win32-eventlog'] = ['<= 0.6.5', require: false]
|
||||||
|
gems['win32-process'] = ['<= 0.7.5', require: false]
|
||||||
|
gems['win32-security'] = ['<= 0.2.5', require: false]
|
||||||
|
gems['win32-service'] = ['0.8.8', require: false]
|
||||||
|
end
|
||||||
|
|
||||||
|
gems.each do |gem_name, gem_params|
|
||||||
|
gem gem_name, *gem_params
|
||||||
|
end
|
||||||
|
|
||||||
|
# Evaluate Gemfile.local and ~/.gemfile if they exist
|
||||||
|
extra_gemfiles = [
|
||||||
|
"#{__FILE__}.local",
|
||||||
|
File.join(Dir.home, '.gemfile'),
|
||||||
|
]
|
||||||
|
|
||||||
|
extra_gemfiles.each do |gemfile|
|
||||||
|
if File.file?(gemfile) && File.readable?(gemfile)
|
||||||
|
eval(File.read(gemfile), binding)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
# vim: syntax=ruby
|
88
README.md
Normal file
88
README.md
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
|
||||||
|
# certbot
|
||||||
|
|
||||||
|
Welcome to your new module. A short overview of the generated parts can be found in the PDK documentation at https://puppet.com/pdk/latest/pdk_generating_modules.html .
|
||||||
|
|
||||||
|
The README template below provides a starting point with details about what information to include in your README.
|
||||||
|
|
||||||
|
#### Table of Contents
|
||||||
|
|
||||||
|
1. [Description](#description)
|
||||||
|
2. [Setup - The basics of getting started with certbot](#setup)
|
||||||
|
* [What certbot affects](#what-certbot-affects)
|
||||||
|
* [Setup requirements](#setup-requirements)
|
||||||
|
* [Beginning with certbot](#beginning-with-certbot)
|
||||||
|
3. [Usage - Configuration options and additional functionality](#usage)
|
||||||
|
4. [Limitations - OS compatibility, etc.](#limitations)
|
||||||
|
5. [Development - Guide for contributing to the module](#development)
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
Briefly tell users why they might want to use your module. Explain what your module does and what kind of problems users can solve with it.
|
||||||
|
|
||||||
|
This should be a fairly short description helps the user decide if your module is what they want.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
### What certbot affects **OPTIONAL**
|
||||||
|
|
||||||
|
If it's obvious what your module touches, you can skip this section. For example, folks can probably figure out that your mysql_instance module affects their MySQL instances.
|
||||||
|
|
||||||
|
If there's more that they should know about, though, this is the place to mention:
|
||||||
|
|
||||||
|
* Files, packages, services, or operations that the module will alter, impact, or execute.
|
||||||
|
* Dependencies that your module automatically installs.
|
||||||
|
* Warnings or other important notices.
|
||||||
|
|
||||||
|
### Setup Requirements **OPTIONAL**
|
||||||
|
|
||||||
|
If your module requires anything extra before setting up (pluginsync enabled, another module, etc.), mention it here.
|
||||||
|
|
||||||
|
If your most recent release breaks compatibility or requires particular steps for upgrading, you might want to include an additional "Upgrading" section here.
|
||||||
|
|
||||||
|
### Beginning with certbot
|
||||||
|
|
||||||
|
The very basic steps needed for a user to get the module up and running. This can include setup steps, if necessary, or it can be an example of the most basic use of the module.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Include usage examples for common use cases in the **Usage** section. Show your users how to use your module to solve problems, and be sure to include code examples. Include three to five examples of the most important or common tasks a user can accomplish with your module. Show users how to accomplish more complex tasks that involve different types, classes, and functions working in tandem.
|
||||||
|
|
||||||
|
## Reference
|
||||||
|
|
||||||
|
This section is deprecated. Instead, add reference information to your code as Puppet Strings comments, and then use Strings to generate a REFERENCE.md in your module. For details on how to add code comments and generate documentation with Strings, see the Puppet Strings [documentation](https://puppet.com/docs/puppet/latest/puppet_strings.html) and [style guide](https://puppet.com/docs/puppet/latest/puppet_strings_style.html)
|
||||||
|
|
||||||
|
If you aren't ready to use Strings yet, manually create a REFERENCE.md in the root of your module directory and list out each of your module's classes, defined types, facts, functions, Puppet tasks, task plans, and resource types and providers, along with the parameters for each.
|
||||||
|
|
||||||
|
For each element (class, defined type, function, and so on), list:
|
||||||
|
|
||||||
|
* The data type, if applicable.
|
||||||
|
* A description of what the element does.
|
||||||
|
* Valid values, if the data type doesn't make it obvious.
|
||||||
|
* Default value, if any.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
### `pet::cat`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
##### `meow`
|
||||||
|
|
||||||
|
Enables vocalization in your cat. Valid options: 'string'.
|
||||||
|
|
||||||
|
Default: 'medium-loud'.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Limitations
|
||||||
|
|
||||||
|
In the Limitations section, list any incompatibilities, known issues, or other warnings.
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
In the Development section, tell other users the ground rules for contributing to your project and how they should submit their work.
|
||||||
|
|
||||||
|
## Release Notes/Contributors/Etc. **Optional**
|
||||||
|
|
||||||
|
If you aren't using changelog, put your release notes here (though you should consider using changelog). You can also add any additional sections you feel are necessary or important to include here. Please use the `## ` header.
|
76
Rakefile
Normal file
76
Rakefile
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
require 'puppetlabs_spec_helper/rake_tasks'
|
||||||
|
require 'puppet-syntax/tasks/puppet-syntax'
|
||||||
|
require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any?
|
||||||
|
require 'github_changelog_generator/task' if Bundler.rubygems.find_name('github_changelog_generator').any?
|
||||||
|
require 'puppet-strings/tasks' if Bundler.rubygems.find_name('puppet-strings').any?
|
||||||
|
|
||||||
|
def changelog_user
|
||||||
|
return unless Rake.application.top_level_tasks.include? "changelog"
|
||||||
|
returnVal = nil || JSON.load(File.read('metadata.json'))['author']
|
||||||
|
raise "unable to find the changelog_user in .sync.yml, or the author in metadata.json" if returnVal.nil?
|
||||||
|
puts "GitHubChangelogGenerator user:#{returnVal}"
|
||||||
|
returnVal
|
||||||
|
end
|
||||||
|
|
||||||
|
def changelog_project
|
||||||
|
return unless Rake.application.top_level_tasks.include? "changelog"
|
||||||
|
returnVal = nil || JSON.load(File.read('metadata.json'))['name']
|
||||||
|
raise "unable to find the changelog_project in .sync.yml or the name in metadata.json" if returnVal.nil?
|
||||||
|
puts "GitHubChangelogGenerator project:#{returnVal}"
|
||||||
|
returnVal
|
||||||
|
end
|
||||||
|
|
||||||
|
def changelog_future_release
|
||||||
|
return unless Rake.application.top_level_tasks.include? "changelog"
|
||||||
|
returnVal = JSON.load(File.read('metadata.json'))['version']
|
||||||
|
raise "unable to find the future_release (version) in metadata.json" if returnVal.nil?
|
||||||
|
puts "GitHubChangelogGenerator future_release:#{returnVal}"
|
||||||
|
returnVal
|
||||||
|
end
|
||||||
|
|
||||||
|
PuppetLint.configuration.send('disable_relative')
|
||||||
|
|
||||||
|
if Bundler.rubygems.find_name('github_changelog_generator').any?
|
||||||
|
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
||||||
|
raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?
|
||||||
|
config.user = "#{changelog_user}"
|
||||||
|
config.project = "#{changelog_project}"
|
||||||
|
config.future_release = "#{changelog_future_release}"
|
||||||
|
config.exclude_labels = ['maintenance']
|
||||||
|
config.header = "# Change log\n\nAll notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org)."
|
||||||
|
config.add_pr_wo_labels = true
|
||||||
|
config.issues = false
|
||||||
|
config.merge_prefix = "### UNCATEGORIZED PRS; GO LABEL THEM"
|
||||||
|
config.configure_sections = {
|
||||||
|
"Changed" => {
|
||||||
|
"prefix" => "### Changed",
|
||||||
|
"labels" => ["backwards-incompatible"],
|
||||||
|
},
|
||||||
|
"Added" => {
|
||||||
|
"prefix" => "### Added",
|
||||||
|
"labels" => ["feature", "enhancement"],
|
||||||
|
},
|
||||||
|
"Fixed" => {
|
||||||
|
"prefix" => "### Fixed",
|
||||||
|
"labels" => ["bugfix"],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
else
|
||||||
|
desc 'Generate a Changelog from GitHub'
|
||||||
|
task :changelog do
|
||||||
|
raise <<EOM
|
||||||
|
The changelog tasks depends on unreleased features of the github_changelog_generator gem.
|
||||||
|
Please manually add it to your .sync.yml for now, and run `pdk update`:
|
||||||
|
---
|
||||||
|
Gemfile:
|
||||||
|
optional:
|
||||||
|
':development':
|
||||||
|
- gem: 'github_changelog_generator'
|
||||||
|
git: 'https://github.com/skywinder/github-changelog-generator'
|
||||||
|
ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018'
|
||||||
|
condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')"
|
||||||
|
EOM
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
63
appveyor.yml
Normal file
63
appveyor.yml
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
---
|
||||||
|
version: 1.1.x.{build}
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
skip_commits:
|
||||||
|
message: /^\(?doc\)?.*/
|
||||||
|
clone_depth: 10
|
||||||
|
init:
|
||||||
|
- SET
|
||||||
|
- 'mkdir C:\ProgramData\PuppetLabs\code && exit 0'
|
||||||
|
- 'mkdir C:\ProgramData\PuppetLabs\facter && exit 0'
|
||||||
|
- 'mkdir C:\ProgramData\PuppetLabs\hiera && exit 0'
|
||||||
|
- 'mkdir C:\ProgramData\PuppetLabs\puppet\var && exit 0'
|
||||||
|
environment:
|
||||||
|
matrix:
|
||||||
|
-
|
||||||
|
RUBY_VERSION: 24-x64
|
||||||
|
CHECK: syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop
|
||||||
|
-
|
||||||
|
PUPPET_GEM_VERSION: ~> 4.0
|
||||||
|
RUBY_VERSION: 21
|
||||||
|
CHECK: parallel_spec
|
||||||
|
-
|
||||||
|
PUPPET_GEM_VERSION: ~> 4.0
|
||||||
|
RUBY_VERSION: 21-x64
|
||||||
|
CHECK: parallel_spec
|
||||||
|
-
|
||||||
|
PUPPET_GEM_VERSION: ~> 5.0
|
||||||
|
RUBY_VERSION: 24
|
||||||
|
CHECK: parallel_spec
|
||||||
|
-
|
||||||
|
PUPPET_GEM_VERSION: ~> 5.0
|
||||||
|
RUBY_VERSION: 24-x64
|
||||||
|
CHECK: parallel_spec
|
||||||
|
-
|
||||||
|
PUPPET_GEM_VERSION: ~> 6.0
|
||||||
|
RUBY_VERSION: 25
|
||||||
|
CHECK: parallel_spec
|
||||||
|
-
|
||||||
|
PUPPET_GEM_VERSION: ~> 6.0
|
||||||
|
RUBY_VERSION: 25-x64
|
||||||
|
CHECK: parallel_spec
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
install:
|
||||||
|
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
|
||||||
|
- bundle install --jobs 4 --retry 2 --without system_tests
|
||||||
|
- type Gemfile.lock
|
||||||
|
build: off
|
||||||
|
test_script:
|
||||||
|
- bundle exec puppet -V
|
||||||
|
- ruby -v
|
||||||
|
- gem -v
|
||||||
|
- bundle -v
|
||||||
|
- bundle exec rake %CHECK%
|
||||||
|
notifications:
|
||||||
|
- provider: Email
|
||||||
|
to:
|
||||||
|
- nobody@nowhere.com
|
||||||
|
on_build_success: false
|
||||||
|
on_build_failure: false
|
||||||
|
on_build_status_changed: false
|
1
data/common.yaml
Normal file
1
data/common.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
---
|
10
hiera.yaml
Normal file
10
hiera.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
version: 5
|
||||||
|
|
||||||
|
defaults: # Used for any hierarchy level that omits these keys.
|
||||||
|
datadir: data # This path is relative to hiera.yaml's directory.
|
||||||
|
data_hash: yaml_data # Use the built-in YAML backend.
|
||||||
|
|
||||||
|
hierarchy:
|
||||||
|
- name: 'common'
|
||||||
|
path: 'common.yaml'
|
66
metadata.json
Normal file
66
metadata.json
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
{
|
||||||
|
"name": "winterbird-certbot",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"author": "winterbird",
|
||||||
|
"summary": "",
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
|
"source": "",
|
||||||
|
"dependencies": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"operatingsystem_support": [
|
||||||
|
{
|
||||||
|
"operatingsystem": "CentOS",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"7"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "OracleLinux",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"7"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "RedHat",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"7"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "Scientific",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"7"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "Debian",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"8"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "Ubuntu",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"16.04"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "windows",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"2008 R2",
|
||||||
|
"2012 R2",
|
||||||
|
"10"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requirements": [
|
||||||
|
{
|
||||||
|
"name": "puppet",
|
||||||
|
"version_requirement": ">= 4.10.0 < 7.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pdk-version": "1.8.0",
|
||||||
|
"template-url": "file:///opt/puppetlabs/pdk/share/cache/pdk-templates.git",
|
||||||
|
"template-ref": "1.8.0-0-g0d9da00"
|
||||||
|
}
|
7
spec/default_facts.yml
Normal file
7
spec/default_facts.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Use default_module_facts.yml for module specific facts.
|
||||||
|
#
|
||||||
|
# Facts specified here will override the values provided by rspec-puppet-facts.
|
||||||
|
---
|
||||||
|
ipaddress: "172.16.254.254"
|
||||||
|
is_pe: false
|
||||||
|
macaddress: "AA:AA:AA:AA:AA:AA"
|
44
spec/spec_helper.rb
Normal file
44
spec/spec_helper.rb
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
require 'puppetlabs_spec_helper/module_spec_helper'
|
||||||
|
require 'rspec-puppet-facts'
|
||||||
|
|
||||||
|
require 'spec_helper_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_local.rb'))
|
||||||
|
|
||||||
|
include RspecPuppetFacts
|
||||||
|
|
||||||
|
default_facts = {
|
||||||
|
puppetversion: Puppet.version,
|
||||||
|
facterversion: Facter.version,
|
||||||
|
}
|
||||||
|
|
||||||
|
default_fact_files = [
|
||||||
|
File.expand_path(File.join(File.dirname(__FILE__), 'default_facts.yml')),
|
||||||
|
File.expand_path(File.join(File.dirname(__FILE__), 'default_module_facts.yml')),
|
||||||
|
]
|
||||||
|
|
||||||
|
default_fact_files.each do |f|
|
||||||
|
next unless File.exist?(f) && File.readable?(f) && File.size?(f)
|
||||||
|
|
||||||
|
begin
|
||||||
|
default_facts.merge!(YAML.safe_load(File.read(f)))
|
||||||
|
rescue => e
|
||||||
|
RSpec.configuration.reporter.message "WARNING: Unable to load #{f}: #{e}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
RSpec.configure do |c|
|
||||||
|
c.default_facts = default_facts
|
||||||
|
c.before :each do
|
||||||
|
# set to strictest setting for testing
|
||||||
|
# by default Puppet runs at warning level
|
||||||
|
Puppet.settings[:strict] = :warning
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def ensure_module_defined(module_name)
|
||||||
|
module_name.split('::').reduce(Object) do |last_module, next_module|
|
||||||
|
last_module.const_set(next_module, Module.new) unless last_module.const_defined?(next_module, false)
|
||||||
|
last_module.const_get(next_module, false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# 'spec_overrides' from sync.yml will appear below this line
|
Loading…
Reference in New Issue
Block a user