Initial pdk project structure
This commit is contained in:
commit
8b2d05c38d
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
|
28
.gitignore
vendored
Normal file
28
.gitignore
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
.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
|
||||||
|
.project
|
||||||
|
.envrc
|
||||||
|
/inventory.yaml
|
||||||
|
/spec/fixtures/litmus_inventory.yaml
|
43
.pdkignore
Normal file
43
.pdkignore
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
.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
|
||||||
|
.project
|
||||||
|
.envrc
|
||||||
|
/inventory.yaml
|
||||||
|
/spec/fixtures/litmus_inventory.yaml
|
||||||
|
/.fixtures.yml
|
||||||
|
/Gemfile
|
||||||
|
/.gitattributes
|
||||||
|
/.gitignore
|
||||||
|
/.pdkignore
|
||||||
|
/.puppet-lint.rc
|
||||||
|
/Rakefile
|
||||||
|
/rakelib/
|
||||||
|
/.rspec
|
||||||
|
/..yml
|
||||||
|
/.yardopts
|
||||||
|
/spec/
|
||||||
|
/.vscode/
|
||||||
|
/.sync.yml
|
||||||
|
/.devcontainer/
|
1
.puppet-lint.rc
Normal file
1
.puppet-lint.rc
Normal file
@ -0,0 +1 @@
|
|||||||
|
--relative
|
723
.rubocop.yml
Normal file
723
.rubocop.yml
Normal file
@ -0,0 +1,723 @@
|
|||||||
|
---
|
||||||
|
require:
|
||||||
|
- rubocop-performance
|
||||||
|
- rubocop-rspec
|
||||||
|
AllCops:
|
||||||
|
DisplayCopNames: true
|
||||||
|
TargetRubyVersion: '2.6'
|
||||||
|
Include:
|
||||||
|
- "**/*.rb"
|
||||||
|
Exclude:
|
||||||
|
- bin/*
|
||||||
|
- ".vendor/**/*"
|
||||||
|
- "**/Gemfile"
|
||||||
|
- "**/Rakefile"
|
||||||
|
- pkg/**/*
|
||||||
|
- spec/fixtures/**/*
|
||||||
|
- vendor/**/*
|
||||||
|
- "**/Puppetfile"
|
||||||
|
- "**/Vagrantfile"
|
||||||
|
- "**/Guardfile"
|
||||||
|
Layout/LineLength:
|
||||||
|
Description: People have wide screens, use them.
|
||||||
|
Max: 200
|
||||||
|
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
|
||||||
|
RSpec/DescribeSymbol:
|
||||||
|
Exclude:
|
||||||
|
- spec/unit/facter/**/*.rb
|
||||||
|
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/TrailingCommaInArrayLiteral:
|
||||||
|
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
|
||||||
|
Performance/AncestorsInclude:
|
||||||
|
Enabled: true
|
||||||
|
Performance/BigDecimalWithNumericArgument:
|
||||||
|
Enabled: true
|
||||||
|
Performance/BlockGivenWithExplicitBlock:
|
||||||
|
Enabled: true
|
||||||
|
Performance/CaseWhenSplat:
|
||||||
|
Enabled: true
|
||||||
|
Performance/ConstantRegexp:
|
||||||
|
Enabled: true
|
||||||
|
Performance/MethodObjectAsBlock:
|
||||||
|
Enabled: true
|
||||||
|
Performance/RedundantSortBlock:
|
||||||
|
Enabled: true
|
||||||
|
Performance/RedundantStringChars:
|
||||||
|
Enabled: true
|
||||||
|
Performance/ReverseFirst:
|
||||||
|
Enabled: true
|
||||||
|
Performance/SortReverse:
|
||||||
|
Enabled: true
|
||||||
|
Performance/Squeeze:
|
||||||
|
Enabled: true
|
||||||
|
Performance/StringInclude:
|
||||||
|
Enabled: true
|
||||||
|
Performance/Sum:
|
||||||
|
Enabled: true
|
||||||
|
Style/CollectionMethods:
|
||||||
|
Enabled: true
|
||||||
|
Style/MethodCalledOnDoEndBlock:
|
||||||
|
Enabled: true
|
||||||
|
Style/StringMethods:
|
||||||
|
Enabled: true
|
||||||
|
Bundler/GemFilename:
|
||||||
|
Enabled: false
|
||||||
|
Bundler/InsecureProtocolSource:
|
||||||
|
Enabled: false
|
||||||
|
Capybara/CurrentPathExpectation:
|
||||||
|
Enabled: false
|
||||||
|
Capybara/VisibilityMatcher:
|
||||||
|
Enabled: false
|
||||||
|
Gemspec/DuplicatedAssignment:
|
||||||
|
Enabled: false
|
||||||
|
Gemspec/OrderedDependencies:
|
||||||
|
Enabled: false
|
||||||
|
Gemspec/RequiredRubyVersion:
|
||||||
|
Enabled: false
|
||||||
|
Gemspec/RubyVersionGlobalsUsage:
|
||||||
|
Enabled: false
|
||||||
|
Layout/ArgumentAlignment:
|
||||||
|
Enabled: false
|
||||||
|
Layout/BeginEndAlignment:
|
||||||
|
Enabled: false
|
||||||
|
Layout/ClosingHeredocIndentation:
|
||||||
|
Enabled: false
|
||||||
|
Layout/EmptyComment:
|
||||||
|
Enabled: false
|
||||||
|
Layout/EmptyLineAfterGuardClause:
|
||||||
|
Enabled: false
|
||||||
|
Layout/EmptyLinesAroundArguments:
|
||||||
|
Enabled: false
|
||||||
|
Layout/EmptyLinesAroundAttributeAccessor:
|
||||||
|
Enabled: false
|
||||||
|
Layout/EndOfLine:
|
||||||
|
Enabled: false
|
||||||
|
Layout/FirstArgumentIndentation:
|
||||||
|
Enabled: false
|
||||||
|
Layout/HashAlignment:
|
||||||
|
Enabled: false
|
||||||
|
Layout/HeredocIndentation:
|
||||||
|
Enabled: false
|
||||||
|
Layout/LeadingEmptyLines:
|
||||||
|
Enabled: false
|
||||||
|
Layout/SpaceAroundMethodCallOperator:
|
||||||
|
Enabled: false
|
||||||
|
Layout/SpaceInsideArrayLiteralBrackets:
|
||||||
|
Enabled: false
|
||||||
|
Layout/SpaceInsideReferenceBrackets:
|
||||||
|
Enabled: false
|
||||||
|
Lint/BigDecimalNew:
|
||||||
|
Enabled: false
|
||||||
|
Lint/BooleanSymbol:
|
||||||
|
Enabled: false
|
||||||
|
Lint/ConstantDefinitionInBlock:
|
||||||
|
Enabled: false
|
||||||
|
Lint/DeprecatedOpenSSLConstant:
|
||||||
|
Enabled: false
|
||||||
|
Lint/DisjunctiveAssignmentInConstructor:
|
||||||
|
Enabled: false
|
||||||
|
Lint/DuplicateElsifCondition:
|
||||||
|
Enabled: false
|
||||||
|
Lint/DuplicateRequire:
|
||||||
|
Enabled: false
|
||||||
|
Lint/DuplicateRescueException:
|
||||||
|
Enabled: false
|
||||||
|
Lint/EmptyConditionalBody:
|
||||||
|
Enabled: false
|
||||||
|
Lint/EmptyFile:
|
||||||
|
Enabled: false
|
||||||
|
Lint/ErbNewArguments:
|
||||||
|
Enabled: false
|
||||||
|
Lint/FloatComparison:
|
||||||
|
Enabled: false
|
||||||
|
Lint/HashCompareByIdentity:
|
||||||
|
Enabled: false
|
||||||
|
Lint/IdentityComparison:
|
||||||
|
Enabled: false
|
||||||
|
Lint/InterpolationCheck:
|
||||||
|
Enabled: false
|
||||||
|
Lint/MissingCopEnableDirective:
|
||||||
|
Enabled: false
|
||||||
|
Lint/MixedRegexpCaptureTypes:
|
||||||
|
Enabled: false
|
||||||
|
Lint/NestedPercentLiteral:
|
||||||
|
Enabled: false
|
||||||
|
Lint/NonDeterministicRequireOrder:
|
||||||
|
Enabled: false
|
||||||
|
Lint/OrderedMagicComments:
|
||||||
|
Enabled: false
|
||||||
|
Lint/OutOfRangeRegexpRef:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RaiseException:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RedundantCopEnableDirective:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RedundantRequireStatement:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RedundantSafeNavigation:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RedundantWithIndex:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RedundantWithObject:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RegexpAsCondition:
|
||||||
|
Enabled: false
|
||||||
|
Lint/ReturnInVoidContext:
|
||||||
|
Enabled: false
|
||||||
|
Lint/SafeNavigationConsistency:
|
||||||
|
Enabled: false
|
||||||
|
Lint/SafeNavigationWithEmpty:
|
||||||
|
Enabled: false
|
||||||
|
Lint/SelfAssignment:
|
||||||
|
Enabled: false
|
||||||
|
Lint/SendWithMixinArgument:
|
||||||
|
Enabled: false
|
||||||
|
Lint/ShadowedArgument:
|
||||||
|
Enabled: false
|
||||||
|
Lint/StructNewOverride:
|
||||||
|
Enabled: false
|
||||||
|
Lint/ToJSON:
|
||||||
|
Enabled: false
|
||||||
|
Lint/TopLevelReturnWithArgument:
|
||||||
|
Enabled: false
|
||||||
|
Lint/TrailingCommaInAttributeDeclaration:
|
||||||
|
Enabled: false
|
||||||
|
Lint/UnreachableLoop:
|
||||||
|
Enabled: false
|
||||||
|
Lint/UriEscapeUnescape:
|
||||||
|
Enabled: false
|
||||||
|
Lint/UriRegexp:
|
||||||
|
Enabled: false
|
||||||
|
Lint/UselessMethodDefinition:
|
||||||
|
Enabled: false
|
||||||
|
Lint/UselessTimes:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/AbcSize:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/BlockLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/BlockNesting:
|
||||||
|
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
|
||||||
|
Migration/DepartmentName:
|
||||||
|
Enabled: false
|
||||||
|
Naming/AccessorMethodName:
|
||||||
|
Enabled: false
|
||||||
|
Naming/BlockParameterName:
|
||||||
|
Enabled: false
|
||||||
|
Naming/HeredocDelimiterCase:
|
||||||
|
Enabled: false
|
||||||
|
Naming/HeredocDelimiterNaming:
|
||||||
|
Enabled: false
|
||||||
|
Naming/MemoizedInstanceVariableName:
|
||||||
|
Enabled: false
|
||||||
|
Naming/MethodParameterName:
|
||||||
|
Enabled: false
|
||||||
|
Naming/RescuedExceptionsVariableName:
|
||||||
|
Enabled: false
|
||||||
|
Naming/VariableNumber:
|
||||||
|
Enabled: false
|
||||||
|
Performance/BindCall:
|
||||||
|
Enabled: false
|
||||||
|
Performance/DeletePrefix:
|
||||||
|
Enabled: false
|
||||||
|
Performance/DeleteSuffix:
|
||||||
|
Enabled: false
|
||||||
|
Performance/InefficientHashSearch:
|
||||||
|
Enabled: false
|
||||||
|
Performance/UnfreezeString:
|
||||||
|
Enabled: false
|
||||||
|
Performance/UriDefaultParser:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/Be:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/Capybara/FeatureMethods:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ContainExactly:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ContextMethod:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ContextWording:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/DescribeClass:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/EmptyHook:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/EmptyLineAfterExample:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/EmptyLineAfterExampleGroup:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/EmptyLineAfterHook:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ExampleLength:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ExampleWithoutDescription:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ExpectChange:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ExpectInHook:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/FactoryBot/AttributeDefinedStatically:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/FactoryBot/CreateList:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/FactoryBot/FactoryClassName:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/HooksBeforeExamples:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ImplicitBlockExpectation:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ImplicitSubject:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/LeakyConstantDeclaration:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/LetBeforeExamples:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/MatchArray:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/MissingExampleGroupArgument:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/MultipleExpectations:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/MultipleMemoizedHelpers:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/MultipleSubjects:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/NestedGroups:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/PredicateMatcher:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ReceiveCounts:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ReceiveNever:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/RepeatedExampleGroupBody:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/RepeatedExampleGroupDescription:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/RepeatedIncludeExample:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ReturnFromStub:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/SharedExamples:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/StubbedMock:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/UnspecifiedException:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/VariableDefinition:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/VoidExpect:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/Yield:
|
||||||
|
Enabled: false
|
||||||
|
Security/Open:
|
||||||
|
Enabled: false
|
||||||
|
Style/AccessModifierDeclarations:
|
||||||
|
Enabled: false
|
||||||
|
Style/AccessorGrouping:
|
||||||
|
Enabled: false
|
||||||
|
Style/BisectedAttrAccessor:
|
||||||
|
Enabled: false
|
||||||
|
Style/CaseLikeIf:
|
||||||
|
Enabled: false
|
||||||
|
Style/ClassEqualityComparison:
|
||||||
|
Enabled: false
|
||||||
|
Style/ColonMethodDefinition:
|
||||||
|
Enabled: false
|
||||||
|
Style/CombinableLoops:
|
||||||
|
Enabled: false
|
||||||
|
Style/CommentedKeyword:
|
||||||
|
Enabled: false
|
||||||
|
Style/Dir:
|
||||||
|
Enabled: false
|
||||||
|
Style/DoubleCopDisableDirective:
|
||||||
|
Enabled: false
|
||||||
|
Style/EmptyBlockParameter:
|
||||||
|
Enabled: false
|
||||||
|
Style/EmptyLambdaParameter:
|
||||||
|
Enabled: false
|
||||||
|
Style/Encoding:
|
||||||
|
Enabled: false
|
||||||
|
Style/EvalWithLocation:
|
||||||
|
Enabled: false
|
||||||
|
Style/ExpandPathArguments:
|
||||||
|
Enabled: false
|
||||||
|
Style/ExplicitBlockArgument:
|
||||||
|
Enabled: false
|
||||||
|
Style/ExponentialNotation:
|
||||||
|
Enabled: false
|
||||||
|
Style/FloatDivision:
|
||||||
|
Enabled: false
|
||||||
|
Style/FrozenStringLiteralComment:
|
||||||
|
Enabled: false
|
||||||
|
Style/GlobalStdStream:
|
||||||
|
Enabled: false
|
||||||
|
Style/HashAsLastArrayItem:
|
||||||
|
Enabled: false
|
||||||
|
Style/HashLikeCase:
|
||||||
|
Enabled: false
|
||||||
|
Style/HashTransformKeys:
|
||||||
|
Enabled: false
|
||||||
|
Style/HashTransformValues:
|
||||||
|
Enabled: false
|
||||||
|
Style/IfUnlessModifier:
|
||||||
|
Enabled: false
|
||||||
|
Style/KeywordParametersOrder:
|
||||||
|
Enabled: false
|
||||||
|
Style/MinMax:
|
||||||
|
Enabled: false
|
||||||
|
Style/MixinUsage:
|
||||||
|
Enabled: false
|
||||||
|
Style/MultilineWhenThen:
|
||||||
|
Enabled: false
|
||||||
|
Style/NegatedUnless:
|
||||||
|
Enabled: false
|
||||||
|
Style/NumericPredicate:
|
||||||
|
Enabled: false
|
||||||
|
Style/OptionalBooleanParameter:
|
||||||
|
Enabled: false
|
||||||
|
Style/OrAssignment:
|
||||||
|
Enabled: false
|
||||||
|
Style/RandomWithOffset:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantAssignment:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantCondition:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantConditional:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantFetchBlock:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantFileExtensionInRequire:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantRegexpCharacterClass:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantRegexpEscape:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantSelfAssignment:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantSort:
|
||||||
|
Enabled: false
|
||||||
|
Style/RescueStandardError:
|
||||||
|
Enabled: false
|
||||||
|
Style/SingleArgumentDig:
|
||||||
|
Enabled: false
|
||||||
|
Style/SlicingWithRange:
|
||||||
|
Enabled: false
|
||||||
|
Style/SoleNestedConditional:
|
||||||
|
Enabled: false
|
||||||
|
Style/StderrPuts:
|
||||||
|
Enabled: false
|
||||||
|
Style/StringConcatenation:
|
||||||
|
Enabled: false
|
||||||
|
Style/Strip:
|
||||||
|
Enabled: false
|
||||||
|
Style/SymbolProc:
|
||||||
|
Enabled: false
|
||||||
|
Style/TrailingBodyOnClass:
|
||||||
|
Enabled: false
|
||||||
|
Style/TrailingBodyOnMethodDefinition:
|
||||||
|
Enabled: false
|
||||||
|
Style/TrailingBodyOnModule:
|
||||||
|
Enabled: false
|
||||||
|
Style/TrailingCommaInHashLiteral:
|
||||||
|
Enabled: false
|
||||||
|
Style/TrailingMethodEndStatement:
|
||||||
|
Enabled: false
|
||||||
|
Style/UnpackFirst:
|
||||||
|
Enabled: false
|
||||||
|
Capybara/MatchStyle:
|
||||||
|
Enabled: false
|
||||||
|
Capybara/NegationMatcher:
|
||||||
|
Enabled: false
|
||||||
|
Capybara/SpecificActions:
|
||||||
|
Enabled: false
|
||||||
|
Capybara/SpecificFinders:
|
||||||
|
Enabled: false
|
||||||
|
Capybara/SpecificMatcher:
|
||||||
|
Enabled: false
|
||||||
|
Gemspec/DeprecatedAttributeAssignment:
|
||||||
|
Enabled: false
|
||||||
|
Gemspec/DevelopmentDependencies:
|
||||||
|
Enabled: false
|
||||||
|
Gemspec/RequireMFA:
|
||||||
|
Enabled: false
|
||||||
|
Layout/LineContinuationLeadingSpace:
|
||||||
|
Enabled: false
|
||||||
|
Layout/LineContinuationSpacing:
|
||||||
|
Enabled: false
|
||||||
|
Layout/LineEndStringConcatenationIndentation:
|
||||||
|
Enabled: false
|
||||||
|
Layout/SpaceBeforeBrackets:
|
||||||
|
Enabled: false
|
||||||
|
Lint/AmbiguousAssignment:
|
||||||
|
Enabled: false
|
||||||
|
Lint/AmbiguousOperatorPrecedence:
|
||||||
|
Enabled: false
|
||||||
|
Lint/AmbiguousRange:
|
||||||
|
Enabled: false
|
||||||
|
Lint/ConstantOverwrittenInRescue:
|
||||||
|
Enabled: false
|
||||||
|
Lint/DeprecatedConstants:
|
||||||
|
Enabled: false
|
||||||
|
Lint/DuplicateBranch:
|
||||||
|
Enabled: false
|
||||||
|
Lint/DuplicateMagicComment:
|
||||||
|
Enabled: false
|
||||||
|
Lint/DuplicateRegexpCharacterClassElement:
|
||||||
|
Enabled: false
|
||||||
|
Lint/EmptyBlock:
|
||||||
|
Enabled: false
|
||||||
|
Lint/EmptyClass:
|
||||||
|
Enabled: false
|
||||||
|
Lint/EmptyInPattern:
|
||||||
|
Enabled: false
|
||||||
|
Lint/IncompatibleIoSelectWithFiberScheduler:
|
||||||
|
Enabled: false
|
||||||
|
Lint/LambdaWithoutLiteralBlock:
|
||||||
|
Enabled: false
|
||||||
|
Lint/NoReturnInBeginEndBlocks:
|
||||||
|
Enabled: false
|
||||||
|
Lint/NonAtomicFileOperation:
|
||||||
|
Enabled: false
|
||||||
|
Lint/NumberedParameterAssignment:
|
||||||
|
Enabled: false
|
||||||
|
Lint/OrAssignmentToConstant:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RedundantDirGlobSort:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RefinementImportMethods:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RequireRangeParentheses:
|
||||||
|
Enabled: false
|
||||||
|
Lint/RequireRelativeSelfPath:
|
||||||
|
Enabled: false
|
||||||
|
Lint/SymbolConversion:
|
||||||
|
Enabled: false
|
||||||
|
Lint/ToEnumArguments:
|
||||||
|
Enabled: false
|
||||||
|
Lint/TripleQuotes:
|
||||||
|
Enabled: false
|
||||||
|
Lint/UnexpectedBlockArity:
|
||||||
|
Enabled: false
|
||||||
|
Lint/UnmodifiedReduceAccumulator:
|
||||||
|
Enabled: false
|
||||||
|
Lint/UselessRescue:
|
||||||
|
Enabled: false
|
||||||
|
Lint/UselessRuby2Keywords:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/CollectionLiteralLength:
|
||||||
|
Enabled: false
|
||||||
|
Naming/BlockForwarding:
|
||||||
|
Enabled: false
|
||||||
|
Performance/CollectionLiteralInLoop:
|
||||||
|
Enabled: false
|
||||||
|
Performance/ConcurrentMonotonicTime:
|
||||||
|
Enabled: false
|
||||||
|
Performance/MapCompact:
|
||||||
|
Enabled: false
|
||||||
|
Performance/RedundantEqualityComparisonBlock:
|
||||||
|
Enabled: false
|
||||||
|
Performance/RedundantSplitRegexpArgument:
|
||||||
|
Enabled: false
|
||||||
|
Performance/StringIdentifierArgument:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/BeEq:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/BeNil:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ChangeByZero:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ClassCheck:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/DuplicatedMetadata:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/ExcessiveDocstringSpacing:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/FactoryBot/ConsistentParenthesesStyle:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/FactoryBot/FactoryNameStyle:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/FactoryBot/SyntaxMethods:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/IdenticalEqualityAssertion:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/NoExpectationExample:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/PendingWithoutReason:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/Rails/AvoidSetupHook:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/Rails/HaveHttpStatus:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/Rails/InferredSpecType:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/Rails/MinitestAssertions:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/Rails/TravelAround:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/RedundantAround:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/SkipBlockInsideExample:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/SortMetadata:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/SubjectDeclaration:
|
||||||
|
Enabled: false
|
||||||
|
RSpec/VerifiedDoubleReference:
|
||||||
|
Enabled: false
|
||||||
|
Security/CompoundHash:
|
||||||
|
Enabled: false
|
||||||
|
Security/IoMethods:
|
||||||
|
Enabled: false
|
||||||
|
Style/ArgumentsForwarding:
|
||||||
|
Enabled: false
|
||||||
|
Style/ArrayIntersect:
|
||||||
|
Enabled: false
|
||||||
|
Style/CollectionCompact:
|
||||||
|
Enabled: false
|
||||||
|
Style/ComparableClamp:
|
||||||
|
Enabled: false
|
||||||
|
Style/ConcatArrayLiterals:
|
||||||
|
Enabled: false
|
||||||
|
Style/DirEmpty:
|
||||||
|
Enabled: false
|
||||||
|
Style/DocumentDynamicEvalDefinition:
|
||||||
|
Enabled: false
|
||||||
|
Style/EmptyHeredoc:
|
||||||
|
Enabled: false
|
||||||
|
Style/EndlessMethod:
|
||||||
|
Enabled: false
|
||||||
|
Style/EnvHome:
|
||||||
|
Enabled: false
|
||||||
|
Style/FetchEnvVar:
|
||||||
|
Enabled: false
|
||||||
|
Style/FileEmpty:
|
||||||
|
Enabled: false
|
||||||
|
Style/FileRead:
|
||||||
|
Enabled: false
|
||||||
|
Style/FileWrite:
|
||||||
|
Enabled: false
|
||||||
|
Style/HashConversion:
|
||||||
|
Enabled: false
|
||||||
|
Style/HashExcept:
|
||||||
|
Enabled: false
|
||||||
|
Style/IfWithBooleanLiteralBranches:
|
||||||
|
Enabled: false
|
||||||
|
Style/InPatternThen:
|
||||||
|
Enabled: false
|
||||||
|
Style/MagicCommentFormat:
|
||||||
|
Enabled: false
|
||||||
|
Style/MapCompactWithConditionalBlock:
|
||||||
|
Enabled: false
|
||||||
|
Style/MapToHash:
|
||||||
|
Enabled: false
|
||||||
|
Style/MapToSet:
|
||||||
|
Enabled: false
|
||||||
|
Style/MinMaxComparison:
|
||||||
|
Enabled: false
|
||||||
|
Style/MultilineInPatternThen:
|
||||||
|
Enabled: false
|
||||||
|
Style/NegatedIfElseCondition:
|
||||||
|
Enabled: false
|
||||||
|
Style/NestedFileDirname:
|
||||||
|
Enabled: false
|
||||||
|
Style/NilLambda:
|
||||||
|
Enabled: false
|
||||||
|
Style/NumberedParameters:
|
||||||
|
Enabled: false
|
||||||
|
Style/NumberedParametersLimit:
|
||||||
|
Enabled: false
|
||||||
|
Style/ObjectThen:
|
||||||
|
Enabled: false
|
||||||
|
Style/OpenStructUse:
|
||||||
|
Enabled: false
|
||||||
|
Style/OperatorMethodCall:
|
||||||
|
Enabled: false
|
||||||
|
Style/QuotedSymbols:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantArgument:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantConstantBase:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantDoubleSplatHashBraces:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantEach:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantHeredocDelimiterQuotes:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantInitialize:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantSelfAssignmentBranch:
|
||||||
|
Enabled: false
|
||||||
|
Style/RedundantStringEscape:
|
||||||
|
Enabled: false
|
||||||
|
Style/SelectByRegexp:
|
||||||
|
Enabled: false
|
||||||
|
Style/StringChars:
|
||||||
|
Enabled: false
|
||||||
|
Style/SwapValues:
|
||||||
|
Enabled: false
|
8
.sync.yml
Normal file
8
.sync.yml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# This file can be used to customize the files managed by PDK.
|
||||||
|
#
|
||||||
|
# See https://github.com/puppetlabs/pdk-templates/blob/main/README.md
|
||||||
|
# for more information.
|
||||||
|
#
|
||||||
|
# See https://github.com/puppetlabs/pdk-templates/blob/main/config_defaults.yml
|
||||||
|
# for the default values.
|
||||||
|
--- {}
|
6
.vscode/extensions.json
vendored
Normal file
6
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"puppet.puppet-vscode",
|
||||||
|
"rebornix.Ruby"
|
||||||
|
]
|
||||||
|
}
|
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**
|
73
Gemfile
Normal file
73
Gemfile
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
group :development do
|
||||||
|
gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
|
||||||
|
gem "json", '= 2.3.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
|
||||||
|
gem "json", '= 2.5.1', require: false if Gem::Requirement.create(['>= 3.0.0', '< 3.0.5']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
|
||||||
|
gem "json", '= 2.6.1', require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
|
||||||
|
gem "json", '= 2.6.3', require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
|
||||||
|
gem "racc", '~> 1.4.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
|
||||||
|
gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false
|
||||||
|
gem "facterdb", '~> 1.18', require: false
|
||||||
|
gem "metadata-json-lint", '~> 3.0', require: false
|
||||||
|
gem "puppetlabs_spec_helper", '~> 6.0', require: false
|
||||||
|
gem "rspec-puppet-facts", '~> 2.0', require: false
|
||||||
|
gem "codecov", '~> 0.2', require: false
|
||||||
|
gem "dependency_checker", '~> 1.0.0', require: false
|
||||||
|
gem "parallel_tests", '= 3.12.1', require: false
|
||||||
|
gem "pry", '~> 0.10', require: false
|
||||||
|
gem "simplecov-console", '~> 0.5', require: false
|
||||||
|
gem "puppet-debugger", '~> 1.0', require: false
|
||||||
|
gem "rubocop", '= 1.48.1', require: false
|
||||||
|
gem "rubocop-performance", '= 1.16.0', require: false
|
||||||
|
gem "rubocop-rspec", '= 2.19.0', require: false
|
||||||
|
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
|
||||||
|
end
|
||||||
|
group :system_tests do
|
||||||
|
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw]
|
||||||
|
gem "serverspec", '~> 2.41', require: false
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
117
README.md
Normal file
117
README.md
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
# desktop
|
||||||
|
|
||||||
|
Welcome to your new module. A short overview of the generated parts can be found
|
||||||
|
in the [PDK documentation][1].
|
||||||
|
|
||||||
|
The README template below provides a starting point with details about what
|
||||||
|
information to include in your README.
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
1. [Description](#description)
|
||||||
|
1. [Setup - The basics of getting started with desktop](#setup)
|
||||||
|
* [What desktop affects](#what-desktop-affects)
|
||||||
|
* [Setup requirements](#setup-requirements)
|
||||||
|
* [Beginning with desktop](#beginning-with-desktop)
|
||||||
|
1. [Usage - Configuration options and additional functionality](#usage)
|
||||||
|
1. [Limitations - OS compatibility, etc.](#limitations)
|
||||||
|
1. [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 desktop 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 desktop
|
||||||
|
|
||||||
|
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][2] and [style guide][3].
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
[1]: https://puppet.com/docs/pdk/latest/pdk_generating_modules.html
|
||||||
|
[2]: https://puppet.com/docs/puppet/latest/puppet_strings.html
|
||||||
|
[3]: https://puppet.com/docs/puppet/latest/puppet_strings_style.html
|
88
Rakefile
Normal file
88
Rakefile
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'bundler'
|
||||||
|
require 'puppet_litmus/rake_tasks' if Gem.loaded_specs.key? 'puppet_litmus'
|
||||||
|
require 'puppetlabs_spec_helper/rake_tasks'
|
||||||
|
require 'puppet-syntax/tasks/puppet-syntax'
|
||||||
|
require 'github_changelog_generator/task' if Gem.loaded_specs.key? 'github_changelog_generator'
|
||||||
|
require 'puppet-strings/tasks' if Gem.loaded_specs.key? 'puppet-strings'
|
||||||
|
|
||||||
|
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
|
||||||
|
returnVal ||= begin
|
||||||
|
metadata_source = JSON.load(File.read('metadata.json'))['source']
|
||||||
|
metadata_source_match = metadata_source && metadata_source.match(%r{.*\/([^\/]*?)(?:\.git)?\Z})
|
||||||
|
|
||||||
|
metadata_source_match && metadata_source_match[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
raise "unable to find the changelog_project in .sync.yml or calculate it from the source 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 = "v%s" % 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 Gem.loaded_specs.key? 'github_changelog_generator'
|
||||||
|
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; LABEL THEM ON GITHUB"
|
||||||
|
config.configure_sections = {
|
||||||
|
"Changed" => {
|
||||||
|
"prefix" => "### Changed",
|
||||||
|
"labels" => ["backwards-incompatible"],
|
||||||
|
},
|
||||||
|
"Added" => {
|
||||||
|
"prefix" => "### Added",
|
||||||
|
"labels" => ["enhancement", "feature"],
|
||||||
|
},
|
||||||
|
"Fixed" => {
|
||||||
|
"prefix" => "### Fixed",
|
||||||
|
"labels" => ["bug", "documentation", "bugfix"],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
else
|
||||||
|
desc 'Generate a Changelog from GitHub'
|
||||||
|
task :changelog do
|
||||||
|
raise <<EOM
|
||||||
|
The changelog tasks depends on recent 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'
|
||||||
|
version: '~> 1.15'
|
||||||
|
condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.3.0')"
|
||||||
|
EOM
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
1
data/common.yaml
Normal file
1
data/common.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
--- {}
|
21
hiera.yaml
Normal file
21
hiera.yaml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
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: "osfamily/major release"
|
||||||
|
paths:
|
||||||
|
# Used to distinguish between Debian and Ubuntu
|
||||||
|
- "os/%{facts.os.name}/%{facts.os.release.major}.yaml"
|
||||||
|
- "os/%{facts.os.family}/%{facts.os.release.major}.yaml"
|
||||||
|
# Used for Solaris
|
||||||
|
- "os/%{facts.os.family}/%{facts.kernelrelease}.yaml"
|
||||||
|
- name: "osfamily"
|
||||||
|
paths:
|
||||||
|
- "os/%{facts.os.name}.yaml"
|
||||||
|
- "os/%{facts.os.family}.yaml"
|
||||||
|
- name: 'common'
|
||||||
|
path: 'common.yaml'
|
58
metadata.json
Normal file
58
metadata.json
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"name": "Ascendings-desktop",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"author": "Gregory Ballantine",
|
||||||
|
"summary": "",
|
||||||
|
"license": "BSD-2-Clause",
|
||||||
|
"source": "",
|
||||||
|
"dependencies": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"operatingsystem_support": [
|
||||||
|
{
|
||||||
|
"operatingsystem": "CentOS",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"7"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "OracleLinux",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"7"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "RedHat",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"8"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "Scientific",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"7"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "Debian",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"10"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"operatingsystem": "Ubuntu",
|
||||||
|
"operatingsystemrelease": [
|
||||||
|
"18.04"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requirements": [
|
||||||
|
{
|
||||||
|
"name": "puppet",
|
||||||
|
"version_requirement": ">= 7.24 < 9.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pdk-version": "3.0.0",
|
||||||
|
"template-url": "pdk-default#3.0.0",
|
||||||
|
"template-ref": "tags/3.0.0-0-g056e50d"
|
||||||
|
}
|
8
spec/default_facts.yml
Normal file
8
spec/default_facts.yml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# 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"
|
||||||
|
ipaddress6: "FE80:0000:0000:0000:AAAA:AAAA:AAAA"
|
||||||
|
is_pe: false
|
||||||
|
macaddress: "AA:AA:AA:AA:AA:AA"
|
74
spec/spec_helper.rb
Normal file
74
spec/spec_helper.rb
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
RSpec.configure do |c|
|
||||||
|
c.mock_with :rspec
|
||||||
|
end
|
||||||
|
|
||||||
|
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), permitted_classes: [], permitted_symbols: [], aliases: true))
|
||||||
|
rescue StandardError => e
|
||||||
|
RSpec.configuration.reporter.message "WARNING: Unable to load #{f}: #{e}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# read default_facts and merge them over what is provided by facterdb
|
||||||
|
default_facts.each do |fact, value|
|
||||||
|
add_custom_fact fact, value
|
||||||
|
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
|
||||||
|
Puppet.settings[:strict_variables] = true
|
||||||
|
end
|
||||||
|
c.filter_run_excluding(bolt: true) unless ENV['GEM_BOLT']
|
||||||
|
c.after(:suite) do
|
||||||
|
RSpec::Puppet::Coverage.report!(0)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Filter backtrace noise
|
||||||
|
backtrace_exclusion_patterns = [
|
||||||
|
%r{spec_helper},
|
||||||
|
%r{gems},
|
||||||
|
]
|
||||||
|
|
||||||
|
if c.respond_to?(:backtrace_exclusion_patterns)
|
||||||
|
c.backtrace_exclusion_patterns = backtrace_exclusion_patterns
|
||||||
|
elsif c.respond_to?(:backtrace_clean_patterns)
|
||||||
|
c.backtrace_clean_patterns = backtrace_exclusion_patterns
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Ensures that a module is defined
|
||||||
|
# @param module_name Name of the module
|
||||||
|
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