modulesync 0.21.0
This commit is contained in:
parent
f0d0b4f96f
commit
22a8abfd11
|
@ -0,0 +1,104 @@
|
||||||
|
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`.
|
||||||
|
|
||||||
|
The easiest way to debug in a docker container is to open a shell:
|
||||||
|
|
||||||
|
docker exec -it -u root ${container_id_or_name} bash
|
|
@ -0,0 +1,26 @@
|
||||||
|
<!--
|
||||||
|
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.
|
||||||
|
- Our vulnerabilities reporting process is at https://voxpupuli.org/security/
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
## 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
|
|
@ -0,0 +1,8 @@
|
||||||
|
<!--
|
||||||
|
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.
|
||||||
|
- Our vulnerabilities reporting process is at https://voxpupuli.org/security/
|
||||||
|
|
||||||
|
-->
|
|
@ -0,0 +1,20 @@
|
||||||
|
pkg/
|
||||||
|
Gemfile.lock
|
||||||
|
Gemfile.local
|
||||||
|
vendor/
|
||||||
|
.vendor/
|
||||||
|
spec/fixtures/manifests/
|
||||||
|
spec/fixtures/modules/
|
||||||
|
.vagrant/
|
||||||
|
.bundle/
|
||||||
|
.ruby-version
|
||||||
|
coverage/
|
||||||
|
log/
|
||||||
|
.idea/
|
||||||
|
.dependencies/
|
||||||
|
.librarian/
|
||||||
|
Puppetfile.lock
|
||||||
|
*.iml
|
||||||
|
.*.sw?
|
||||||
|
.yardoc/
|
||||||
|
Guardfile
|
|
@ -0,0 +1 @@
|
||||||
|
modulesync_config_version: '0.21.1'
|
|
@ -0,0 +1,63 @@
|
||||||
|
# Managed by https://github.com/voxpupuli/modulesync_configs
|
||||||
|
#
|
||||||
|
# Hooks are only enabled if you take action.
|
||||||
|
#
|
||||||
|
# To enable the hooks run:
|
||||||
|
#
|
||||||
|
# ```
|
||||||
|
# bundle exec overcommit --install
|
||||||
|
# # ensure .overcommit.yml does not harm to you and then
|
||||||
|
# bundle exec overcommit --sign
|
||||||
|
# ```
|
||||||
|
#
|
||||||
|
# (it will manage the .git/hooks directory):
|
||||||
|
#
|
||||||
|
# Examples howto skip a test for a commit or push:
|
||||||
|
#
|
||||||
|
# ```
|
||||||
|
# SKIP=RuboCop git commit
|
||||||
|
# SKIP=PuppetLint git commit
|
||||||
|
# SKIP=RakeTask git push
|
||||||
|
# ```
|
||||||
|
#
|
||||||
|
# Don't invoke overcommit at all:
|
||||||
|
#
|
||||||
|
# ```
|
||||||
|
# OVERCOMMIT_DISABLE=1 git commit
|
||||||
|
# ```
|
||||||
|
#
|
||||||
|
# Read more about overcommit: https://github.com/brigade/overcommit
|
||||||
|
#
|
||||||
|
# To manage this config yourself in your module add
|
||||||
|
#
|
||||||
|
# ```
|
||||||
|
# .overcommit.yml:
|
||||||
|
# unmanaged: true
|
||||||
|
# ```
|
||||||
|
#
|
||||||
|
# to your modules .sync.yml config
|
||||||
|
---
|
||||||
|
PreCommit:
|
||||||
|
RuboCop:
|
||||||
|
enabled: true
|
||||||
|
description: 'Runs rubocop on modified files only'
|
||||||
|
command: ['bundle', 'exec', 'rubocop']
|
||||||
|
PuppetLint:
|
||||||
|
enabled: true
|
||||||
|
description: 'Runs puppet-lint on modified files only'
|
||||||
|
command: ['bundle', 'exec', 'puppet-lint']
|
||||||
|
YamlSyntax:
|
||||||
|
enabled: true
|
||||||
|
JsonSyntax:
|
||||||
|
enabled: true
|
||||||
|
TrailingWhitespace:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
PrePush:
|
||||||
|
RakeTarget:
|
||||||
|
enabled: true
|
||||||
|
description: 'Run rake targets'
|
||||||
|
targets:
|
||||||
|
- 'test'
|
||||||
|
- 'rubocop'
|
||||||
|
command: [ 'bundle', 'exec', 'rake' ]
|
|
@ -0,0 +1,20 @@
|
||||||
|
docs/
|
||||||
|
pkg/
|
||||||
|
Gemfile.lock
|
||||||
|
Gemfile.local
|
||||||
|
vendor/
|
||||||
|
.vendor/
|
||||||
|
spec/fixtures/manifests/
|
||||||
|
spec/fixtures/modules/
|
||||||
|
.vagrant/
|
||||||
|
.bundle/
|
||||||
|
.ruby-version
|
||||||
|
coverage/
|
||||||
|
log/
|
||||||
|
.idea/
|
||||||
|
.dependencies/
|
||||||
|
.librarian/
|
||||||
|
Puppetfile.lock
|
||||||
|
*.iml
|
||||||
|
.*.sw?
|
||||||
|
.yardoc/
|
|
@ -0,0 +1,527 @@
|
||||||
|
require: rubocop-rspec
|
||||||
|
AllCops:
|
||||||
|
TargetRubyVersion: 1.9
|
||||||
|
Include:
|
||||||
|
- ./**/*.rb
|
||||||
|
Exclude:
|
||||||
|
- files/**/*
|
||||||
|
- vendor/**/*
|
||||||
|
- .vendor/**/*
|
||||||
|
- pkg/**/*
|
||||||
|
- spec/fixtures/**/*
|
||||||
|
- Gemfile
|
||||||
|
- Rakefile
|
||||||
|
- Guardfile
|
||||||
|
Lint/ConditionPosition:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/ElseLayout:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/UnreachableCode:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/UselessComparison:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/EnsureReturn:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/HandleExceptions:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/LiteralInCondition:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/ShadowingOuterLocalVariable:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/LiteralInInterpolation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/HashSyntax:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/RedundantReturn:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/AmbiguousOperator:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/AssignmentInCondition:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceBeforeComment:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/AndOr:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/RedundantSelf:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Metrics/BlockLength:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
# Method length is not necessarily an indicator of code quality
|
||||||
|
Metrics/MethodLength:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
# Module length is not necessarily an indicator of code quality
|
||||||
|
Metrics/ModuleLength:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
Style/WhileUntilModifier:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/AmbiguousRegexpLiteral:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Security/Eval:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/BlockAlignment:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/DefEndAlignment:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/EndAlignment:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/DeprecatedClassMethods:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/Loop:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/ParenthesesAsGroupedExpression:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/RescueException:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/StringConversionInInterpolation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/UnusedBlockArgument:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/UnusedMethodArgument:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/UselessAccessModifier:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/UselessAssignment:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/Void:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/AccessModifierIndentation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/AccessorMethodName:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Alias:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/AlignArray:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/AlignHash:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/AlignParameters:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Metrics/BlockNesting:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/AsciiComments:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Attr:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/BracesAroundHashParameters:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/CaseEquality:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/CaseIndentation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/CharacterLiteral:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/ClassAndModuleCamelCase:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/ClassAndModuleChildren:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
Style/ClassCheck:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
# Class length is not necessarily an indicator of code quality
|
||||||
|
Metrics/ClassLength:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
Style/ClassMethods:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/ClassVars:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/WhenThen:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/WordArray:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/UnneededPercentQ:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Tab:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceBeforeSemicolon:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/TrailingBlankLines:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceInsideBlockBraces:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceInsideBrackets:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceInsideHashLiteralBraces:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceInsideParens:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/LeadingCommentSpace:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceBeforeFirstArg:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceAfterColon:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceAfterComma:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceAfterMethodName:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceAfterNot:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceAfterSemicolon:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceAroundEqualsInParameterDefault:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceAroundOperators:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceBeforeBlockBraces:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceBeforeComma:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/CollectionMethods:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/CommentIndentation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/ColonMethodCall:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/CommentAnnotation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
# 'Complexity' is very relative
|
||||||
|
Metrics/CyclomaticComplexity:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
Style/ConstantName:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Documentation:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
Style/DefWithParentheses:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/PreferredHashMethods:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/DotPosition:
|
||||||
|
EnforcedStyle: trailing
|
||||||
|
|
||||||
|
Style/DoubleNegation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/EachWithObject:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/EmptyLineBetweenDefs:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/IndentArray:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/IndentHash:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/IndentationConsistency:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/IndentationWidth:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/EmptyLines:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/EmptyLinesAroundAccessModifier:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/EmptyLiteral:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
# Configuration parameters: AllowURI, URISchemes.
|
||||||
|
Metrics/LineLength:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
Style/MethodCallWithoutArgsParentheses:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/MethodDefParentheses:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/LineEndConcatenation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/TrailingWhitespace:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/StringLiterals:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/TrailingCommaInArguments:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/TrailingCommaInLiteral:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/GlobalVars:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/GuardClause:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/IfUnlessModifier:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/MultilineIfThen:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/NegatedIf:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/NegatedWhile:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Next:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SingleLineBlockParams:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SingleLineMethods:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpecialGlobalVars:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/TrivialAccessors:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/UnlessElse:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/VariableInterpolation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/VariableName:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/WhileUntilDo:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/EvenOdd:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/FileName:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/For:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Lambda:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/MethodName:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/MultilineTernaryOperator:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/NestedTernaryOperator:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/NilComparison:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/FormatString:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/MultilineBlockChain:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Semicolon:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SignalException:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/NonNilCheck:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Not:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/NumericLiterals:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/OneLineConditional:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/OpMethod:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/ParenthesesAroundCondition:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/PercentLiteralDelimiters:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/PerlBackrefs:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/PredicateName:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/RedundantException:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SelfAssignment:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Proc:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/RaiseArgs:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/RedundantBegin:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/RescueModifier:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
# based on https://github.com/voxpupuli/modulesync_config/issues/168
|
||||||
|
Style/RegexpLiteral:
|
||||||
|
EnforcedStyle: percent_r
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/UnderscorePrefixedVariableName:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Metrics/ParameterLists:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
Lint/RequireParentheses:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/SpaceBeforeFirstArg:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/ModuleFunction:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Lint/Debugger:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/IfWithSemicolon:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/Encoding:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/BlockDelimiters:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/MultilineBlockLayout:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
# 'Complexity' is very relative
|
||||||
|
Metrics/AbcSize:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
# 'Complexity' is very relative
|
||||||
|
Metrics/PerceivedComplexity:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
Lint/UselessAssignment:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
Style/ClosingParenthesisIndentation:
|
||||||
|
Enabled: True
|
||||||
|
|
||||||
|
# RSpec
|
||||||
|
|
||||||
|
# We don't use rspec in this way
|
||||||
|
RSpec/DescribeClass:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
# Example length is not necessarily an indicator of code quality
|
||||||
|
RSpec/ExampleLength:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
RSpec/NamedSubject:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
# disabled for now since they cause a lot of issues
|
||||||
|
# these issues aren't easy to fix
|
||||||
|
RSpec/RepeatedDescription:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
RSpec/NestedGroups:
|
||||||
|
Enabled: False
|
||||||
|
|
||||||
|
# disable Yaml safe_load. This is needed to support ruby2.0.0 development envs
|
||||||
|
Security/YAMLLoad:
|
||||||
|
Enabled: false
|
|
@ -0,0 +1,52 @@
|
||||||
|
---
|
||||||
|
sudo: false
|
||||||
|
dist: trusty
|
||||||
|
language: ruby
|
||||||
|
cache: bundler
|
||||||
|
before_install:
|
||||||
|
- bundle -v
|
||||||
|
- rm Gemfile.lock || true
|
||||||
|
- gem update --system
|
||||||
|
- gem update bundler
|
||||||
|
- gem --version
|
||||||
|
- bundle -v
|
||||||
|
script:
|
||||||
|
- 'bundle exec rake $CHECK'
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
include:
|
||||||
|
- rvm: 2.1.9
|
||||||
|
bundler_args: --without system_tests development
|
||||||
|
env: PUPPET_VERSION="~> 4.0" CHECK=test
|
||||||
|
- rvm: 2.2.7
|
||||||
|
bundler_args: --without system_tests development
|
||||||
|
env: PUPPET_VERSION="~> 4.0" CHECK=test
|
||||||
|
- rvm: 2.3.4
|
||||||
|
bundler_args: --without system_tests development
|
||||||
|
env: PUPPET_VERSION="~> 4.0" CHECK=test
|
||||||
|
- rvm: 2.4.1
|
||||||
|
bundler_args: --without system_tests development
|
||||||
|
env: PUPPET_VERSION="~> 4.0" CHECK=test
|
||||||
|
- rvm: 2.4.1
|
||||||
|
bundler_args: --without system_tests development
|
||||||
|
env: PUPPET_VERSION="~> 4.0" CHECK=rubocop
|
||||||
|
- rvm: 2.4.1
|
||||||
|
bundler_args: --without system_tests development
|
||||||
|
env: PUPPET_VERSION="~> 4.0" CHECK=build DEPLOY_TO_FORGE=yes
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
- /^v\d/
|
||||||
|
notifications:
|
||||||
|
email: false
|
||||||
|
deploy:
|
||||||
|
provider: puppetforge
|
||||||
|
user: puppet
|
||||||
|
password:
|
||||||
|
secure: ""
|
||||||
|
on:
|
||||||
|
tags: true
|
||||||
|
# all_branches is required to use tags
|
||||||
|
all_branches: true
|
||||||
|
# Only publish the build marked with "DEPLOY_TO_FORGE"
|
||||||
|
condition: "$DEPLOY_TO_FORGE = yes"
|
|
@ -0,0 +1,71 @@
|
||||||
|
source ENV['GEM_SOURCE'] || "https://rubygems.org"
|
||||||
|
|
||||||
|
def location_for(place, fake_version = nil)
|
||||||
|
if place =~ /^(git[:@][^#]*)#(.*)/
|
||||||
|
[fake_version, { :git => $1, :branch => $2, :require => false }].compact
|
||||||
|
elsif place =~ /^file:\/\/(.*)/
|
||||||
|
['>= 0', { :path => File.expand_path($1), :require => false }]
|
||||||
|
else
|
||||||
|
[place, { :require => false }]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
group :test do
|
||||||
|
gem 'puppetlabs_spec_helper', '~> 2.1.1', :require => false
|
||||||
|
gem 'rspec-puppet', '~> 2.5', :require => false
|
||||||
|
gem 'rspec-puppet-facts', :require => false
|
||||||
|
gem 'rspec-puppet-utils', :require => false
|
||||||
|
gem 'puppet-lint-absolute_classname-check', :require => false
|
||||||
|
gem 'puppet-lint-leading_zero-check', :require => false
|
||||||
|
gem 'puppet-lint-trailing_comma-check', :require => false
|
||||||
|
gem 'puppet-lint-version_comparison-check', :require => false
|
||||||
|
gem 'puppet-lint-classes_and_types_beginning_with_digits-check', :require => false
|
||||||
|
gem 'puppet-lint-unquoted_string-check', :require => false
|
||||||
|
gem 'puppet-lint-variable_contains_upcase', :require => false
|
||||||
|
gem 'metadata-json-lint', :require => false
|
||||||
|
gem 'puppet-blacksmith', :require => false
|
||||||
|
gem 'voxpupuli-release', :require => false, :git => 'https://github.com/voxpupuli/voxpupuli-release-gem.git'
|
||||||
|
gem 'puppet-strings', '~> 1.0', :require => false
|
||||||
|
gem 'redcarpet', :require => false
|
||||||
|
gem 'rubocop', '~> 0.48.0', :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 'coveralls', :require => false
|
||||||
|
gem 'simplecov-console', :require => false
|
||||||
|
gem 'github_changelog_generator', '~> 1.13.0', :require => false if RUBY_VERSION < '2.2.2'
|
||||||
|
gem 'rack', '~> 1.0', :require => false if RUBY_VERSION < '2.2.2'
|
||||||
|
gem 'github_changelog_generator', :require => false if RUBY_VERSION >= '2.2.2'
|
||||||
|
end
|
||||||
|
|
||||||
|
group :development do
|
||||||
|
gem 'travis', :require => false
|
||||||
|
gem 'travis-lint', :require => false
|
||||||
|
gem 'guard-rake', :require => false
|
||||||
|
gem 'overcommit', '~> 0.39.1', :require => false
|
||||||
|
end
|
||||||
|
|
||||||
|
group :system_tests do
|
||||||
|
if beaker_version = ENV['BEAKER_VERSION']
|
||||||
|
gem 'beaker', *location_for(beaker_version)
|
||||||
|
end
|
||||||
|
if beaker_rspec_version = ENV['BEAKER_RSPEC_VERSION']
|
||||||
|
gem 'beaker-rspec', *location_for(beaker_rspec_version)
|
||||||
|
else
|
||||||
|
gem 'beaker-rspec', :require => false
|
||||||
|
end
|
||||||
|
gem 'serverspec', :require => false
|
||||||
|
gem 'beaker-puppet_install_helper', :require => false
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if facterversion = ENV['FACTER_GEM_VERSION']
|
||||||
|
gem 'facter', facterversion.to_s, :require => false, :groups => [:test]
|
||||||
|
else
|
||||||
|
gem 'facter', :require => false, :groups => [:test]
|
||||||
|
end
|
||||||
|
|
||||||
|
ENV['PUPPET_VERSION'].nil? ? puppetversion = '~> 4.0' : puppetversion = ENV['PUPPET_VERSION'].to_s
|
||||||
|
gem 'puppet', puppetversion, :require => false, :groups => [:test]
|
||||||
|
|
||||||
|
# vim: syntax=ruby
|
|
@ -0,0 +1,44 @@
|
||||||
|
require 'puppetlabs_spec_helper/rake_tasks'
|
||||||
|
require 'puppet_blacksmith/rake_tasks'
|
||||||
|
require 'voxpupuli/release/rake_tasks'
|
||||||
|
require 'puppet-strings/tasks'
|
||||||
|
|
||||||
|
PuppetLint.configuration.log_format = '%{path}:%{line}:%{check}:%{KIND}:%{message}'
|
||||||
|
PuppetLint.configuration.fail_on_warnings = true
|
||||||
|
PuppetLint.configuration.send('relative')
|
||||||
|
PuppetLint.configuration.send('disable_140chars')
|
||||||
|
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
|
||||||
|
PuppetLint.configuration.send('disable_documentation')
|
||||||
|
PuppetLint.configuration.send('disable_single_quote_string_with_variables')
|
||||||
|
|
||||||
|
exclude_paths = %w(
|
||||||
|
pkg/**/*
|
||||||
|
vendor/**/*
|
||||||
|
.vendor/**/*
|
||||||
|
spec/**/*
|
||||||
|
)
|
||||||
|
PuppetLint.configuration.ignore_paths = exclude_paths
|
||||||
|
PuppetSyntax.exclude_paths = exclude_paths
|
||||||
|
|
||||||
|
desc 'Run acceptance tests'
|
||||||
|
RSpec::Core::RakeTask.new(:acceptance) do |t|
|
||||||
|
t.pattern = 'spec/acceptance'
|
||||||
|
end
|
||||||
|
|
||||||
|
desc 'Run tests metadata_lint, release_checks'
|
||||||
|
task test: [
|
||||||
|
:metadata_lint,
|
||||||
|
:release_checks,
|
||||||
|
]
|
||||||
|
|
||||||
|
begin
|
||||||
|
require 'github_changelog_generator/task'
|
||||||
|
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
||||||
|
version = (Blacksmith::Modulefile.new).version
|
||||||
|
config.future_release = "v#{version}"
|
||||||
|
config.header = "# Change log\n\nAll notable changes to this project will be documented in this file.\nEach new release typically also includes the latest modulesync defaults.\nThese should not impact the functionality of the module."
|
||||||
|
config.exclude_labels = %w{duplicate question invalid wontfix modulesync}
|
||||||
|
end
|
||||||
|
rescue LoadError
|
||||||
|
end
|
||||||
|
# vim: syntax=ruby
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
centos-511-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: el-5-x86_64
|
||||||
|
box: puppetlabs/centos-5.11-64-nocm
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: foss
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
centos-6-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: el-6-x86_64
|
||||||
|
box: centos/6
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: aio
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
centos-66-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
- database
|
||||||
|
- dashboard
|
||||||
|
platform: el-6-x86_64
|
||||||
|
box: puppetlabs/centos-6.6-64-puppet-enterprise
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: pe
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
centos-7-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: el-7-x86_64
|
||||||
|
box: centos/7
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: aio
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
debian-78-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: debian-7-amd64
|
||||||
|
box: puppetlabs/debian-7.8-64-nocm
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: foss
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
debian-82-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: debian-8-amd64
|
||||||
|
box: puppetlabs/debian-8.2-64-nocm
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: foss
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
centos-5-x64:
|
||||||
|
platform: el-5-x86_64
|
||||||
|
hypervisor: docker
|
||||||
|
image: centos:5
|
||||||
|
docker_preserve_image: true
|
||||||
|
docker_cmd: '["/sbin/init"]'
|
||||||
|
docker_image_commands:
|
||||||
|
- 'yum install -y crontabs initscripts iproute openssl sysvinit-tools tar wget which'
|
||||||
|
- 'sed -i -e "/mingetty/d" /etc/inittab'
|
||||||
|
CONFIG:
|
||||||
|
trace_limit: 200
|
||||||
|
masterless: true
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
centos-6-x64:
|
||||||
|
platform: el-6-x86_64
|
||||||
|
hypervisor: docker
|
||||||
|
image: centos:6
|
||||||
|
docker_preserve_image: true
|
||||||
|
docker_cmd: '["/sbin/init"]'
|
||||||
|
docker_image_commands:
|
||||||
|
- 'rm -rf /var/run/network/*'
|
||||||
|
- 'yum install -y crontabs initscripts iproute openssl sysvinit-tools tar wget which'
|
||||||
|
- 'rm /etc/init/tty.conf'
|
||||||
|
CONFIG:
|
||||||
|
trace_limit: 200
|
||||||
|
masterless: true
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
centos-7-x64:
|
||||||
|
platform: el-7-x86_64
|
||||||
|
hypervisor: docker
|
||||||
|
image: centos:7
|
||||||
|
docker_preserve_image: true
|
||||||
|
docker_cmd: '["/usr/sbin/init"]'
|
||||||
|
docker_image_commands:
|
||||||
|
- 'yum install -y crontabs initscripts iproute openssl sysvinit-tools tar wget which ss'
|
||||||
|
- 'systemctl mask getty@tty1.service'
|
||||||
|
CONFIG:
|
||||||
|
trace_limit: 200
|
||||||
|
masterless: true
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
debian-7-x64:
|
||||||
|
platform: debian-7-amd64
|
||||||
|
hypervisor: docker
|
||||||
|
image: debian:7
|
||||||
|
docker_preserve_image: true
|
||||||
|
docker_cmd: '["/sbin/init"]'
|
||||||
|
docker_image_commands:
|
||||||
|
- 'echo deb http://ftp.debian.org/debian wheezy-backports main >> /etc/apt/sources.list'
|
||||||
|
- 'apt-get update && apt-get install -y cron locales-all net-tools wget'
|
||||||
|
CONFIG:
|
||||||
|
trace_limit: 200
|
||||||
|
masterless: true
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
debian-8-x64:
|
||||||
|
platform: debian-8-amd64
|
||||||
|
hypervisor: docker
|
||||||
|
image: debian:8
|
||||||
|
docker_preserve_image: true
|
||||||
|
docker_cmd: '["/sbin/init"]'
|
||||||
|
docker_image_commands:
|
||||||
|
- 'echo deb http://ftp.debian.org/debian jessie-backports main >> /etc/apt/sources.list'
|
||||||
|
- 'apt-get update && apt-get install -y cron locales-all net-tools wget'
|
||||||
|
- 'rm -f /usr/sbin/policy-rc.d'
|
||||||
|
- 'systemctl mask getty@tty1.service getty-static.service'
|
||||||
|
CONFIG:
|
||||||
|
trace_limit: 200
|
||||||
|
masterless: true
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
ubuntu-1204-x64:
|
||||||
|
platform: ubuntu-12.04-amd64
|
||||||
|
hypervisor: docker
|
||||||
|
image: ubuntu:12.04
|
||||||
|
docker_preserve_image: true
|
||||||
|
docker_cmd: '["/sbin/init"]'
|
||||||
|
docker_image_commands:
|
||||||
|
- 'apt-get install -y net-tools wget'
|
||||||
|
- 'locale-gen en_US.UTF-8'
|
||||||
|
CONFIG:
|
||||||
|
trace_limit: 200
|
||||||
|
masterless: true
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
ubuntu-1404-x64:
|
||||||
|
platform: ubuntu-14.04-amd64
|
||||||
|
hypervisor: docker
|
||||||
|
image: ubuntu:14.04
|
||||||
|
docker_preserve_image: true
|
||||||
|
docker_cmd: '["/sbin/init"]'
|
||||||
|
docker_image_commands:
|
||||||
|
- 'rm /usr/sbin/policy-rc.d'
|
||||||
|
- 'rm /sbin/initctl; dpkg-divert --rename --remove /sbin/initctl'
|
||||||
|
- 'apt-get install -y net-tools wget'
|
||||||
|
- 'locale-gen en_US.UTF-8'
|
||||||
|
CONFIG:
|
||||||
|
trace_limit: 200
|
||||||
|
masterless: true
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
ubuntu-1604-x64:
|
||||||
|
platform: ubuntu-16.04-amd64
|
||||||
|
hypervisor: docker
|
||||||
|
image: ubuntu:16.04
|
||||||
|
docker_preserve_image: true
|
||||||
|
docker_cmd: '["/sbin/init"]'
|
||||||
|
docker_image_commands:
|
||||||
|
- 'apt-get install -y net-tools wget locales'
|
||||||
|
- 'locale-gen en_US.UTF-8'
|
||||||
|
CONFIG:
|
||||||
|
trace_limit: 200
|
||||||
|
masterless: true
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
#
|
||||||
|
# Additional ~/.fog config file with AWS EC2 credentials
|
||||||
|
# required.
|
||||||
|
#
|
||||||
|
# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md
|
||||||
|
#
|
||||||
|
# Amazon Linux is not a RHEL clone.
|
||||||
|
#
|
||||||
|
HOSTS:
|
||||||
|
amazonlinux-2016091-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: centos-6-x86_64
|
||||||
|
hypervisor: ec2
|
||||||
|
# refers to image_tempaltes.yaml AMI[vmname] entry:
|
||||||
|
vmname: amazonlinux-2016091-eu-central-1
|
||||||
|
# refers to image_tempaltes.yaml entry inside AMI[vmname][:image]:
|
||||||
|
snapshot: aio
|
||||||
|
# t2.micro is free tier eligible (https://aws.amazon.com/en/free/):
|
||||||
|
amisize: t2.micro
|
||||||
|
# required so that beaker sanitizes sshd_config and root authorized_keys:
|
||||||
|
user: ec2-user
|
||||||
|
CONFIG:
|
||||||
|
type: aio
|
||||||
|
:ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,34 @@
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
#
|
||||||
|
# see also: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md
|
||||||
|
#
|
||||||
|
# Hint: image IDs (ami-*) for the same image are different per location.
|
||||||
|
#
|
||||||
|
AMI:
|
||||||
|
# Amazon Linux AMI 2016.09.1 (HVM), SSD Volume Type
|
||||||
|
amazonlinux-2016091-eu-central-1:
|
||||||
|
:image:
|
||||||
|
:aio: ami-af0fc0c0
|
||||||
|
:region: eu-central-1
|
||||||
|
# Red Hat Enterprise Linux 7.3 (HVM), SSD Volume Type
|
||||||
|
rhel-73-eu-central-1:
|
||||||
|
:image:
|
||||||
|
:aio: ami-e4c63e8b
|
||||||
|
:region: eu-central-1
|
||||||
|
# SUSE Linux Enterprise Server 12 SP2 (HVM), SSD Volume Type
|
||||||
|
sles-12sp2-eu-central-1:
|
||||||
|
:image:
|
||||||
|
:aio: ami-c425e4ab
|
||||||
|
:region: eu-central-1
|
||||||
|
# Ubuntu Server 16.04 LTS (HVM), SSD Volume Type
|
||||||
|
ubuntu-1604-eu-central-1:
|
||||||
|
:image:
|
||||||
|
:aio: ami-fe408091
|
||||||
|
:region: eu-central-1
|
||||||
|
# Microsoft Windows Server 2016 Base
|
||||||
|
windows-2016-base-eu-central-1:
|
||||||
|
:image:
|
||||||
|
:aio: ami-88ec20e7
|
||||||
|
:region: eu-central-1
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
#
|
||||||
|
# Additional ~/.fog config file with AWS EC2 credentials
|
||||||
|
# required.
|
||||||
|
#
|
||||||
|
# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md
|
||||||
|
#
|
||||||
|
HOSTS:
|
||||||
|
rhel-73-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: el-7-x86_64
|
||||||
|
hypervisor: ec2
|
||||||
|
# refers to image_tempaltes.yaml AMI[vmname] entry:
|
||||||
|
vmname: rhel-73-eu-central-1
|
||||||
|
# refers to image_tempaltes.yaml entry inside AMI[vmname][:image]:
|
||||||
|
snapshot: aio
|
||||||
|
# t2.micro is free tier eligible (https://aws.amazon.com/en/free/):
|
||||||
|
amisize: t2.micro
|
||||||
|
# required so that beaker sanitizes sshd_config and root authorized_keys:
|
||||||
|
user: ec2-user
|
||||||
|
CONFIG:
|
||||||
|
type: aio
|
||||||
|
:ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
#
|
||||||
|
# Additional ~/.fog config file with AWS EC2 credentials
|
||||||
|
# required.
|
||||||
|
#
|
||||||
|
# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md
|
||||||
|
#
|
||||||
|
HOSTS:
|
||||||
|
sles-12sp2-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: sles-12-x86_64
|
||||||
|
hypervisor: ec2
|
||||||
|
# refers to image_tempaltes.yaml AMI[vmname] entry:
|
||||||
|
vmname: sles-12sp2-eu-central-1
|
||||||
|
# refers to image_tempaltes.yaml entry inside AMI[vmname][:image]:
|
||||||
|
snapshot: aio
|
||||||
|
# t2.micro is free tier eligible (https://aws.amazon.com/en/free/):
|
||||||
|
amisize: t2.micro
|
||||||
|
# required so that beaker sanitizes sshd_config and root authorized_keys:
|
||||||
|
user: ec2-user
|
||||||
|
CONFIG:
|
||||||
|
type: aio
|
||||||
|
:ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
#
|
||||||
|
# Additional ~/.fog config file with AWS EC2 credentials
|
||||||
|
# required.
|
||||||
|
#
|
||||||
|
# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md
|
||||||
|
#
|
||||||
|
HOSTS:
|
||||||
|
ubuntu-1604-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: ubuntu-16.04-amd64
|
||||||
|
hypervisor: ec2
|
||||||
|
# refers to image_tempaltes.yaml AMI[vmname] entry:
|
||||||
|
vmname: ubuntu-1604-eu-central-1
|
||||||
|
# refers to image_tempaltes.yaml entry inside AMI[vmname][:image]:
|
||||||
|
snapshot: aio
|
||||||
|
# t2.micro is free tier eligible (https://aws.amazon.com/en/free/):
|
||||||
|
amisize: t2.micro
|
||||||
|
# required so that beaker sanitizes sshd_config and root authorized_keys:
|
||||||
|
user: ubuntu
|
||||||
|
CONFIG:
|
||||||
|
type: aio
|
||||||
|
:ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
#
|
||||||
|
# Additional ~/.fog config file with AWS EC2 credentials
|
||||||
|
# required.
|
||||||
|
#
|
||||||
|
# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md
|
||||||
|
#
|
||||||
|
HOSTS:
|
||||||
|
windows-2016-base-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: windows-2016-64
|
||||||
|
hypervisor: ec2
|
||||||
|
# refers to image_tempaltes.yaml AMI[vmname] entry:
|
||||||
|
vmname: windows-2016-base-eu-central-1
|
||||||
|
# refers to image_tempaltes.yaml entry inside AMI[vmname][:image]:
|
||||||
|
snapshot: aio
|
||||||
|
# t2.micro is free tier eligible (https://aws.amazon.com/en/free/):
|
||||||
|
amisize: t2.micro
|
||||||
|
# required so that beaker sanitizes sshd_config and root authorized_keys:
|
||||||
|
user: ec2-user
|
||||||
|
CONFIG:
|
||||||
|
type: aio
|
||||||
|
:ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
fedora-24-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: fedora-24-x86_64
|
||||||
|
box: fedora/24-cloud-base
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: aio
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
#
|
||||||
|
# platform is fedora 24 because there is no
|
||||||
|
# puppet-agent for fedora 25 by 2016-12-30
|
||||||
|
HOSTS:
|
||||||
|
fedora-25-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: fedora-25-x86_64
|
||||||
|
box: fedora/25-cloud-base
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: aio
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
ubuntu-server-1204-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: ubuntu-12.04-amd64
|
||||||
|
box: puppetlabs/ubuntu-12.04-64-nocm
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: foss
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
ubuntu-server-1404-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: ubuntu-14.04-amd64
|
||||||
|
box: puppetlabs/ubuntu-14.04-64-nocm
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: foss
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
HOSTS:
|
||||||
|
ubuntu-server-1604-x64:
|
||||||
|
roles:
|
||||||
|
- master
|
||||||
|
platform: ubuntu-16.04-amd64
|
||||||
|
box: puppetlabs/ubuntu-16.04-64-nocm
|
||||||
|
hypervisor: vagrant
|
||||||
|
CONFIG:
|
||||||
|
type: foss
|
||||||
|
...
|
||||||
|
# vim: syntax=yaml
|
|
@ -0,0 +1,4 @@
|
||||||
|
require 'rspec-puppet'
|
||||||
|
|
||||||
|
at_exit { RSpec::Puppet::Coverage.report! }
|
||||||
|
# vim: syntax=ruby
|
|
@ -0,0 +1,14 @@
|
||||||
|
# This file is managed via modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync
|
||||||
|
# https://github.com/voxpupuli/modulesync_config
|
||||||
|
#
|
||||||
|
# use default_module_facts.yaml for module specific
|
||||||
|
# facts.
|
||||||
|
#
|
||||||
|
# Hint if using with rspec-puppet-facts ("on_supported_os.each"):
|
||||||
|
# if a same named fact exists in facterdb it will be overridden.
|
||||||
|
---
|
||||||
|
concat_basedir: "/tmp"
|
||||||
|
ipaddress: "172.16.254.254"
|
||||||
|
is_pe: false
|
||||||
|
macaddress: "AA:AA:AA:AA:AA:AA"
|
|
@ -0,0 +1,32 @@
|
||||||
|
require 'puppetlabs_spec_helper/module_spec_helper'
|
||||||
|
require 'rspec-puppet-facts'
|
||||||
|
include RspecPuppetFacts
|
||||||
|
|
||||||
|
if Dir.exist?(File.expand_path('../../lib', __FILE__))
|
||||||
|
require 'coveralls'
|
||||||
|
require 'simplecov'
|
||||||
|
require 'simplecov-console'
|
||||||
|
SimpleCov.formatters = [
|
||||||
|
SimpleCov::Formatter::HTMLFormatter,
|
||||||
|
SimpleCov::Formatter::Console,
|
||||||
|
Coveralls::SimpleCov::Formatter
|
||||||
|
]
|
||||||
|
SimpleCov.start do
|
||||||
|
track_files 'lib/**/*.rb'
|
||||||
|
add_filter '/spec'
|
||||||
|
add_filter '/vendor'
|
||||||
|
add_filter '/.vendor'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
RSpec.configure do |c|
|
||||||
|
default_facts = {
|
||||||
|
puppetversion: Puppet.version,
|
||||||
|
facterversion: Facter.version
|
||||||
|
}
|
||||||
|
default_facts.merge!(YAML.load(File.read(File.expand_path('../default_facts.yml', __FILE__)))) if File.exist?(File.expand_path('../default_facts.yml', __FILE__))
|
||||||
|
default_facts.merge!(YAML.load(File.read(File.expand_path('../default_module_facts.yml', __FILE__)))) if File.exist?(File.expand_path('../default_module_facts.yml', __FILE__))
|
||||||
|
c.default_facts = default_facts
|
||||||
|
end
|
||||||
|
|
||||||
|
# vim: syntax=ruby
|
Loading…
Reference in New Issue