mirror of
https://github.com/voxpupuli/puppet-hashi_stack.git
synced 2025-05-29 06:45:34 +01:00
Compare commits
73 commits
Author | SHA1 | Date | |
---|---|---|---|
|
c4ea89c7bf | ||
|
fb8b63cd2a | ||
|
a1548cf7e5 | ||
|
5f04b07e9c | ||
|
9d17a4d4f8 | ||
|
4e104e262f | ||
|
13553def3e | ||
|
2db021c6e2 | ||
|
5fee23bff9 | ||
|
d56416cfb7 | ||
|
d519ef600d | ||
|
2eaae539d6 | ||
|
fa2a7bff68 | ||
|
a734fba308 | ||
|
9076e5e97a | ||
|
a635338303 | ||
|
0b736b0ef5 | ||
|
f383d32565 | ||
|
0116f1caf5 | ||
|
b6edd3777a | ||
|
cc529dea62 | ||
|
b24a437c8c | ||
|
7777366f79 | ||
|
0c133afe4b | ||
|
f6f808c6b3 | ||
|
7073f88b8c | ||
|
edb01d72b1 | ||
|
d9d0e30bcf | ||
|
b0baa714f9 | ||
|
5f806e0a8b | ||
|
7934180513 | ||
|
5aebbda1fe | ||
|
53c5611c17 | ||
|
2e6986a13f | ||
|
eb19c0ada2 | ||
|
45f3539aab | ||
|
4e30760edd | ||
|
f79ebaa3b7 | ||
|
51aead9b5b | ||
|
4371c15313 | ||
|
9939845bb5 | ||
|
f85c0e1c91 | ||
|
a2fcd501c2 | ||
|
5362eacb42 | ||
|
49430fe22c | ||
|
b5efffa046 | ||
|
2c73977159 | ||
|
111a70112e | ||
|
90be685aef | ||
|
a9b8122a4f | ||
|
1adcdf5092 | ||
|
d01ef71f0f | ||
|
07e2d9c55a | ||
|
55197bfb6d | ||
|
cfb42236a2 | ||
|
7c499e9af0 | ||
|
05b2be143d | ||
|
d5870ce6f4 | ||
|
7eae45628b | ||
|
f7b6e2de9d | ||
|
df00263284 | ||
|
fd70af1b0b | ||
|
1b767380d4 | ||
|
c6790e40c2 | ||
|
95853efb4e | ||
|
6b47544e6e | ||
|
32ad7df19e | ||
|
283f474dd1 | ||
|
e1ddfd95e2 | ||
|
eece189d0e | ||
|
132ae81120 | ||
|
d1218a7291 | ||
|
957f1627ba |
23 changed files with 357 additions and 279 deletions
44
.github/CONTRIBUTING.md
vendored
44
.github/CONTRIBUTING.md
vendored
|
@ -124,26 +124,36 @@ If you have Ruby 2.x or want a specific version of Puppet,
|
|||
you must set an environment variable such as:
|
||||
|
||||
```sh
|
||||
export PUPPET_VERSION="~> 5.5.6"
|
||||
export PUPPET_GEM_VERSION="~> 6.1.0"
|
||||
```
|
||||
|
||||
You can install all needed gems for spec tests into the modules directory by
|
||||
running:
|
||||
|
||||
```sh
|
||||
bundle install --path .vendor/ --without development system_tests release --jobs "$(nproc)"
|
||||
bundle config set --local path '.vendor/'
|
||||
bundle config set --local without 'development system_tests release'
|
||||
bundle install --jobs "$(nproc)"
|
||||
```
|
||||
|
||||
If you also want to run acceptance tests:
|
||||
|
||||
```sh
|
||||
bundle install --path .vendor/ --with system_tests --without development release --jobs "$(nproc)"
|
||||
bundle config set --local path '.vendor/'
|
||||
bundle config set --local without 'development release'
|
||||
bundle config set --local with 'system_tests'
|
||||
bundle install --jobs "$(nproc)"
|
||||
```
|
||||
|
||||
Our all in one solution if you don't know if you need to install or update gems:
|
||||
|
||||
```sh
|
||||
bundle install --path .vendor/ --with system_tests --without development release --jobs "$(nproc)"; bundle update; bundle clean
|
||||
bundle config set --local path '.vendor/'
|
||||
bundle config set --local without 'development release'
|
||||
bundle config set --local with 'system_tests'
|
||||
bundle install --jobs "$(nproc)"
|
||||
bundle update
|
||||
bundle clean
|
||||
```
|
||||
|
||||
As an alternative to the `--jobs "$(nproc)` parameter, you can set an
|
||||
|
@ -232,19 +242,29 @@ simple tests against it after applying the module. You can run this
|
|||
with:
|
||||
|
||||
```sh
|
||||
BEAKER_setfile=debian10-x64 bundle exec rake beaker
|
||||
BEAKER_PUPPET_COLLECTION=puppet7 BEAKER_setfile=debian11-64 bundle exec rake beaker
|
||||
```
|
||||
|
||||
You can replace the string `debian10` with any common operating system.
|
||||
or
|
||||
|
||||
```sh
|
||||
BEAKER_PUPPET_COLLECTION=none BEAKER_setfile=archlinux-64 bundle exec rake beaker
|
||||
```
|
||||
|
||||
This latter example will use the distribution's own version of Puppet.
|
||||
|
||||
You can replace the string `debian11` with any common operating system.
|
||||
The following strings are known to work:
|
||||
|
||||
* ubuntu1604
|
||||
* ubuntu1804
|
||||
* ubuntu2004
|
||||
* debian9
|
||||
* debian10
|
||||
* centos7
|
||||
* centos8
|
||||
* ubuntu2204
|
||||
* debian11
|
||||
* debian12
|
||||
* centos9
|
||||
* archlinux
|
||||
* almalinux8
|
||||
* almalinux9
|
||||
* fedora36
|
||||
|
||||
For more information and tips & tricks, see [voxpupuli-acceptance's documentation](https://github.com/voxpupuli/voxpupuli-acceptance#running-tests).
|
||||
|
||||
|
|
3
.github/SECURITY.md
vendored
3
.github/SECURITY.md
vendored
|
@ -1,3 +0,0 @@
|
|||
# Vox Pupuli Security Policy
|
||||
|
||||
Our vulnerabilities reporting process is at https://voxpupuli.org/security/
|
5
.rspec → .github/labeler.yml
vendored
5
.rspec → .github/labeler.yml
vendored
|
@ -1,5 +1,6 @@
|
|||
---
|
||||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
--format documentation
|
||||
--color
|
||||
skip-changelog:
|
||||
- head-branch: ['^release-*', 'release']
|
42
.github/release.yml
vendored
Normal file
42
.github/release.yml
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
# https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
|
||||
|
||||
changelog:
|
||||
exclude:
|
||||
labels:
|
||||
- duplicate
|
||||
- invalid
|
||||
- modulesync
|
||||
- question
|
||||
- skip-changelog
|
||||
- wont-fix
|
||||
- wontfix
|
||||
|
||||
categories:
|
||||
- title: Breaking Changes 🛠
|
||||
labels:
|
||||
- backwards-incompatible
|
||||
|
||||
- title: New Features 🎉
|
||||
labels:
|
||||
- enhancement
|
||||
|
||||
- title: Bug Fixes 🐛
|
||||
labels:
|
||||
- bug
|
||||
|
||||
- title: Documentation Updates 📚
|
||||
labels:
|
||||
- documentation
|
||||
- docs
|
||||
|
||||
- title: Dependency Updates ⬆️
|
||||
labels:
|
||||
- dependencies
|
||||
|
||||
- title: Other Changes
|
||||
labels:
|
||||
- "*"
|
90
.github/workflows/ci.yml
vendored
90
.github/workflows/ci.yml
vendored
|
@ -4,87 +4,19 @@
|
|||
|
||||
name: CI
|
||||
|
||||
on: pull_request
|
||||
# yamllint disable-line rule:truthy
|
||||
on:
|
||||
pull_request: {}
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }}
|
||||
group: ${{ github.ref_name }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
setup_matrix:
|
||||
name: 'Setup Test Matrix'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 40
|
||||
outputs:
|
||||
puppet_unit_test_matrix: ${{ steps.get-outputs.outputs.puppet_unit_test_matrix }}
|
||||
github_action_test_matrix: ${{ steps.get-outputs.outputs.github_action_test_matrix }}
|
||||
env:
|
||||
BUNDLE_WITHOUT: development:system_tests:release
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: '3.0'
|
||||
bundler-cache: true
|
||||
- name: Run static validations
|
||||
run: bundle exec rake validate lint check
|
||||
- name: Run rake rubocop
|
||||
run: bundle exec rake rubocop
|
||||
- name: Setup Test Matrix
|
||||
id: get-outputs
|
||||
run: bundle exec metadata2gha --use-fqdn --pidfile-workaround false
|
||||
|
||||
unit:
|
||||
needs: setup_matrix
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 40
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include: ${{fromJson(needs.setup_matrix.outputs.puppet_unit_test_matrix)}}
|
||||
env:
|
||||
BUNDLE_WITHOUT: development:system_tests:release
|
||||
PUPPET_VERSION: "~> ${{ matrix.puppet }}.0"
|
||||
name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }})
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby }}
|
||||
bundler-cache: true
|
||||
- name: Run tests
|
||||
run: bundle exec rake parallel_spec
|
||||
|
||||
acceptance:
|
||||
needs: setup_matrix
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
BUNDLE_WITHOUT: development:test:release
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include: ${{fromJson(needs.setup_matrix.outputs.github_action_test_matrix)}}
|
||||
name: ${{ matrix.puppet.name }} - ${{ matrix.setfile.name }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: '3.0'
|
||||
bundler-cache: true
|
||||
- name: Run tests
|
||||
run: bundle exec rake beaker
|
||||
env:
|
||||
BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet.collection }}
|
||||
BEAKER_setfile: ${{ matrix.setfile.value }}
|
||||
|
||||
tests:
|
||||
needs:
|
||||
- unit
|
||||
- acceptance
|
||||
runs-on: ubuntu-latest
|
||||
name: Test suite
|
||||
steps:
|
||||
- run: echo Test suite completed
|
||||
puppet:
|
||||
name: Puppet
|
||||
uses: voxpupuli/gha-puppet/.github/workflows/beaker.yml@v3
|
||||
|
|
18
.github/workflows/labeler.yml
vendored
Normal file
18
.github/workflows/labeler.yml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
name: "Pull Request Labeler"
|
||||
|
||||
# yamllint disable-line rule:truthy
|
||||
on:
|
||||
pull_request_target: {}
|
||||
|
||||
jobs:
|
||||
labeler:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@v5
|
23
.github/workflows/prepare_release.yml
vendored
Normal file
23
.github/workflows/prepare_release.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
name: 'Prepare Release'
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'Module version to be released. Must be a valid semver string without leading v. (1.2.3)'
|
||||
required: false
|
||||
|
||||
jobs:
|
||||
release_prep:
|
||||
uses: 'voxpupuli/gha-puppet/.github/workflows/prepare_release.yml@v3'
|
||||
with:
|
||||
version: ${{ github.event.inputs.version }}
|
||||
allowed_owner: 'voxpupuli'
|
||||
secrets:
|
||||
# Configure secrets here:
|
||||
# https://docs.github.com/en/actions/security-guides/encrypted-secrets
|
||||
github_pat: '${{ secrets.PCCI_PAT_RELEASE_PREP }}'
|
33
.github/workflows/release.yml
vendored
33
.github/workflows/release.yml
vendored
|
@ -4,31 +4,20 @@
|
|||
|
||||
name: Release
|
||||
|
||||
# yamllint disable-line rule:truthy
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
env:
|
||||
BUNDLE_WITHOUT: development:test:system_tests
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: 'deploy to forge'
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'voxpupuli'
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Setup Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: '2.7'
|
||||
bundler-cache: true
|
||||
- name: Build and Deploy
|
||||
env:
|
||||
# Configure secrets here:
|
||||
# https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets
|
||||
BLACKSMITH_FORGE_USERNAME: '${{ secrets.PUPPET_FORGE_USERNAME }}'
|
||||
BLACKSMITH_FORGE_API_KEY: '${{ secrets.PUPPET_FORGE_API_KEY }}'
|
||||
run: bundle exec rake module:push
|
||||
release:
|
||||
name: Release
|
||||
uses: voxpupuli/gha-puppet/.github/workflows/release.yml@v3
|
||||
with:
|
||||
allowed_owner: 'voxpupuli'
|
||||
secrets:
|
||||
# Configure secrets here:
|
||||
# https://docs.github.com/en/actions/security-guides/encrypted-secrets
|
||||
username: ${{ secrets.PUPPET_FORGE_USERNAME }}
|
||||
api_key: ${{ secrets.PUPPET_FORGE_API_KEY }}
|
||||
|
|
38
.gitignore
vendored
38
.gitignore
vendored
|
@ -1,23 +1,25 @@
|
|||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
pkg/
|
||||
Gemfile.lock
|
||||
Gemfile.local
|
||||
vendor/
|
||||
.vendor/
|
||||
spec/fixtures/manifests/
|
||||
spec/fixtures/modules/
|
||||
.vagrant/
|
||||
.bundle/
|
||||
.ruby-version
|
||||
coverage/
|
||||
log/
|
||||
.idea/
|
||||
.dependencies/
|
||||
.librarian/
|
||||
Puppetfile.lock
|
||||
/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
|
||||
/.yardoc/
|
||||
/Guardfile
|
||||
bolt-debug.log
|
||||
.rerun.json
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
modulesync_config_version: '5.1.0'
|
||||
modulesync_config_version: '9.7.0'
|
||||
|
|
|
@ -43,10 +43,12 @@ PreCommit:
|
|||
enabled: true
|
||||
description: 'Runs rubocop on modified files only'
|
||||
command: ['bundle', 'exec', 'rubocop']
|
||||
PuppetLint:
|
||||
RakeTarget:
|
||||
enabled: true
|
||||
description: 'Runs puppet-lint on modified files only'
|
||||
command: ['bundle', 'exec', 'puppet-lint']
|
||||
description: 'Runs lint on modified files only'
|
||||
targets:
|
||||
- 'lint'
|
||||
command: ['bundle', 'exec', 'rake']
|
||||
YamlSyntax:
|
||||
enabled: true
|
||||
JsonSyntax:
|
||||
|
|
66
.pmtignore
66
.pmtignore
|
@ -1,37 +1,39 @@
|
|||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
docs/
|
||||
pkg/
|
||||
Gemfile
|
||||
Gemfile.lock
|
||||
Gemfile.local
|
||||
vendor/
|
||||
.vendor/
|
||||
spec/
|
||||
Rakefile
|
||||
.vagrant/
|
||||
.bundle/
|
||||
.ruby-version
|
||||
coverage/
|
||||
log/
|
||||
.idea/
|
||||
.dependencies/
|
||||
.github/
|
||||
.librarian/
|
||||
Puppetfile.lock
|
||||
/docs/
|
||||
/pkg/
|
||||
/Gemfile
|
||||
/Gemfile.lock
|
||||
/Gemfile.local
|
||||
/vendor/
|
||||
/.vendor/
|
||||
/spec/
|
||||
/Rakefile
|
||||
/.vagrant/
|
||||
/.bundle/
|
||||
/.ruby-version
|
||||
/coverage/
|
||||
/log/
|
||||
/.idea/
|
||||
/.dependencies/
|
||||
/.github/
|
||||
/.librarian/
|
||||
/Puppetfile.lock
|
||||
/Puppetfile
|
||||
*.iml
|
||||
.editorconfig
|
||||
.fixtures.yml
|
||||
.gitignore
|
||||
.msync.yml
|
||||
.overcommit.yml
|
||||
.pmtignore
|
||||
.rspec
|
||||
.rspec_parallel
|
||||
.rubocop.yml
|
||||
.sync.yml
|
||||
/.editorconfig
|
||||
/.fixtures.yml
|
||||
/.gitignore
|
||||
/.msync.yml
|
||||
/.overcommit.yml
|
||||
/.pmtignore
|
||||
/.rspec
|
||||
/.rspec_parallel
|
||||
/.rubocop.yml
|
||||
/.sync.yml
|
||||
.*.sw?
|
||||
.yardoc/
|
||||
.yardopts
|
||||
Dockerfile
|
||||
/.yardoc/
|
||||
/.yardopts
|
||||
/Dockerfile
|
||||
/HISTORY.md
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
--fail-on-warnings
|
||||
--no-parameter_documentation-check
|
||||
--no-parameter_types-check
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
--format progress
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
Gemfile:
|
||||
optional:
|
||||
':test':
|
||||
- gem: puppet-lint-param-docs
|
||||
.puppet-lint.rc:
|
||||
enabled_lint_checks:
|
||||
- parameter_documentation
|
||||
- parameter_types
|
||||
|
|
54
CHANGELOG.md
54
CHANGELOG.md
|
@ -4,6 +4,60 @@ All notable changes to this project will be documented in this file.
|
|||
Each new release typically also includes the latest modulesync defaults.
|
||||
These should not affect the functionality of the module.
|
||||
|
||||
## [v3.3.0](https://github.com/voxpupuli/puppet-hashi_stack/tree/v3.3.0) (2025-02-11)
|
||||
|
||||
[Full Changelog](https://github.com/voxpupuli/puppet-hashi_stack/compare/v3.2.0...v3.3.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Add Ubuntu 24.04 support [\#47](https://github.com/voxpupuli/puppet-hashi_stack/pull/47) ([bastelfreak](https://github.com/bastelfreak))
|
||||
- puppetlabs/apt: Allow 10.x [\#45](https://github.com/voxpupuli/puppet-hashi_stack/pull/45) ([bastelfreak](https://github.com/bastelfreak))
|
||||
|
||||
## [v3.2.0](https://github.com/voxpupuli/puppet-hashi_stack/tree/v3.2.0) (2024-03-24)
|
||||
|
||||
[Full Changelog](https://github.com/voxpupuli/puppet-hashi_stack/compare/v3.1.0...v3.2.0)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- Add support for AArch64/ARM64 binaries [\#36](https://github.com/voxpupuli/puppet-hashi_stack/pull/36) ([rgrizzell](https://github.com/rgrizzell))
|
||||
|
||||
## [v3.1.0](https://github.com/voxpupuli/puppet-hashi_stack/tree/v3.1.0) (2023-11-19)
|
||||
|
||||
[Full Changelog](https://github.com/voxpupuli/puppet-hashi_stack/compare/v3.0.0...v3.1.0)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- Add Debian 12 support [\#34](https://github.com/voxpupuli/puppet-hashi_stack/pull/34) ([bastelfreak](https://github.com/bastelfreak))
|
||||
|
||||
## [v3.0.0](https://github.com/voxpupuli/puppet-hashi_stack/tree/v3.0.0) (2023-08-19)
|
||||
|
||||
[Full Changelog](https://github.com/voxpupuli/puppet-hashi_stack/compare/v2.2.0...v3.0.0)
|
||||
|
||||
**Breaking changes:**
|
||||
|
||||
- Drop Puppet 6 support [\#28](https://github.com/voxpupuli/puppet-hashi_stack/pull/28) ([bastelfreak](https://github.com/bastelfreak))
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- Add Ubuntu 22.04 support [\#32](https://github.com/voxpupuli/puppet-hashi_stack/pull/32) ([bastelfreak](https://github.com/bastelfreak))
|
||||
- Add Debian 11 support [\#31](https://github.com/voxpupuli/puppet-hashi_stack/pull/31) ([bastelfreak](https://github.com/bastelfreak))
|
||||
- Add EL9 support [\#30](https://github.com/voxpupuli/puppet-hashi_stack/pull/30) ([bastelfreak](https://github.com/bastelfreak))
|
||||
- Add AlmaLinux/Rocky/OracleLinux support [\#29](https://github.com/voxpupuli/puppet-hashi_stack/pull/29) ([bastelfreak](https://github.com/bastelfreak))
|
||||
- Add Puppet 8 support [\#27](https://github.com/voxpupuli/puppet-hashi_stack/pull/27) ([bastelfreak](https://github.com/bastelfreak))
|
||||
- puppetlabs/stdlib: Allow 9.x [\#26](https://github.com/voxpupuli/puppet-hashi_stack/pull/26) ([bastelfreak](https://github.com/bastelfreak))
|
||||
|
||||
## [v2.2.0](https://github.com/voxpupuli/puppet-hashi_stack/tree/v2.2.0) (2023-01-27)
|
||||
|
||||
[Full Changelog](https://github.com/voxpupuli/puppet-hashi_stack/compare/v2.1.0...v2.2.0)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- add toggle for enabling yum repo [\#21](https://github.com/voxpupuli/puppet-hashi_stack/pull/21) ([wimkorevaar](https://github.com/wimkorevaar))
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- use new gpg key [\#22](https://github.com/voxpupuli/puppet-hashi_stack/pull/22) ([BDelacour](https://github.com/BDelacour))
|
||||
|
||||
## [v2.1.0](https://github.com/voxpupuli/puppet-hashi_stack/tree/v2.1.0) (2022-08-28)
|
||||
|
||||
[Full Changelog](https://github.com/voxpupuli/puppet-hashi_stack/compare/v2.0.1...v2.1.0)
|
||||
|
|
24
Dockerfile
24
Dockerfile
|
@ -1,24 +0,0 @@
|
|||
# MANAGED BY MODULESYNC
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
FROM ruby:2.7
|
||||
|
||||
WORKDIR /opt/puppet
|
||||
|
||||
# https://github.com/puppetlabs/puppet/blob/06ad255754a38f22fb3a22c7c4f1e2ce453d01cb/lib/puppet/provider/service/runit.rb#L39
|
||||
RUN mkdir -p /etc/sv
|
||||
|
||||
ARG PUPPET_VERSION="~> 6.0"
|
||||
ARG PARALLEL_TEST_PROCESSORS=4
|
||||
|
||||
# Cache gems
|
||||
COPY Gemfile .
|
||||
RUN bundle install --without system_tests development release --path=${BUNDLE_PATH:-vendor/bundle}
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN bundle install
|
||||
RUN bundle exec rake release_checks
|
||||
|
||||
# Container should not saved
|
||||
RUN exit 1
|
17
Gemfile
17
Gemfile
|
@ -1,14 +1,11 @@
|
|||
# Managed by modulesync - DO NOT EDIT
|
||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||
|
||||
source ENV['GEM_SOURCE'] || "https://rubygems.org"
|
||||
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
||||
|
||||
group :test do
|
||||
gem 'voxpupuli-test', '~> 5.0', :require => false
|
||||
gem 'coveralls', :require => false
|
||||
gem 'simplecov-console', :require => false
|
||||
gem 'puppet_metadata', '~> 1.0', :require => false
|
||||
gem 'puppet-lint-param-docs', :require => false
|
||||
gem 'voxpupuli-test', '~> 10.0', :require => false
|
||||
gem 'puppet_metadata', '~> 5.0', :require => false
|
||||
end
|
||||
|
||||
group :development do
|
||||
|
@ -17,19 +14,17 @@ group :development do
|
|||
end
|
||||
|
||||
group :system_tests do
|
||||
gem 'voxpupuli-acceptance', '~> 1.0', :require => false
|
||||
gem 'voxpupuli-acceptance', '~> 3.5', :require => false
|
||||
end
|
||||
|
||||
group :release do
|
||||
gem 'github_changelog_generator', '>= 1.16.1', :require => false if RUBY_VERSION >= '2.5'
|
||||
gem 'voxpupuli-release', '>= 1.2.0', :require => false
|
||||
gem 'puppet-strings', '>= 2.2', :require => false
|
||||
gem 'voxpupuli-release', '~> 3.0', :require => false
|
||||
end
|
||||
|
||||
gem 'rake', :require => false
|
||||
gem 'facter', ENV['FACTER_GEM_VERSION'], :require => false, :groups => [:test]
|
||||
|
||||
puppetversion = ENV['PUPPET_VERSION'] || '>= 6.0'
|
||||
puppetversion = ENV['PUPPET_GEM_VERSION'] || [">= 7.24", "< 9"]
|
||||
gem 'puppet', puppetversion, :require => false, :groups => [:test]
|
||||
|
||||
# vim: syntax=ruby
|
||||
|
|
47
REFERENCE.md
47
REFERENCE.md
|
@ -6,11 +6,11 @@
|
|||
|
||||
### Classes
|
||||
|
||||
* [`hashi_stack::repo`](#hashi_stackrepo): Set up the package repository for the HashiCorp Stack components
|
||||
* [`hashi_stack::repo`](#hashi_stack--repo): Set up the package repository for the HashiCorp Stack components
|
||||
|
||||
## Classes
|
||||
|
||||
### <a name="hashi_stackrepo"></a>`hashi_stack::repo`
|
||||
### <a name="hashi_stack--repo"></a>`hashi_stack::repo`
|
||||
|
||||
This class installs the hashicorp repository
|
||||
|
||||
|
@ -36,23 +36,24 @@ package { 'packer':
|
|||
|
||||
The following parameters are available in the `hashi_stack::repo` class:
|
||||
|
||||
* [`priority`](#priority)
|
||||
* [`proxy`](#proxy)
|
||||
* [`key_id`](#key_id)
|
||||
* [`key_source`](#key_source)
|
||||
* [`description`](#description)
|
||||
* [`rpm_base`](#rpm_base)
|
||||
* [`repo_gpgcheck`](#repo_gpgcheck)
|
||||
* [`priority`](#-hashi_stack--repo--priority)
|
||||
* [`proxy`](#-hashi_stack--repo--proxy)
|
||||
* [`key_id`](#-hashi_stack--repo--key_id)
|
||||
* [`key_source`](#-hashi_stack--repo--key_source)
|
||||
* [`description`](#-hashi_stack--repo--description)
|
||||
* [`rpm_base`](#-hashi_stack--repo--rpm_base)
|
||||
* [`repo_gpgcheck`](#-hashi_stack--repo--repo_gpgcheck)
|
||||
* [`repo_enabled`](#-hashi_stack--repo--repo_enabled)
|
||||
|
||||
##### <a name="priority"></a>`priority`
|
||||
##### <a name="-hashi_stack--repo--priority"></a>`priority`
|
||||
|
||||
Data type: `Optional[Integer]`
|
||||
|
||||
A numeric priority for the repo, passed to the package management system
|
||||
|
||||
Default value: ``undef``
|
||||
Default value: `undef`
|
||||
|
||||
##### <a name="proxy"></a>`proxy`
|
||||
##### <a name="-hashi_stack--repo--proxy"></a>`proxy`
|
||||
|
||||
Data type: `String`
|
||||
|
||||
|
@ -60,15 +61,15 @@ The URL of a HTTP proxy to use for package downloads (YUM only)
|
|||
|
||||
Default value: `'absent'`
|
||||
|
||||
##### <a name="key_id"></a>`key_id`
|
||||
##### <a name="-hashi_stack--repo--key_id"></a>`key_id`
|
||||
|
||||
Data type: `String`
|
||||
|
||||
GPG key to authenticate Apt package signatures.
|
||||
|
||||
Default value: `'E8A032E094D8EB4EA189D270DA418C88A3219F7B'`
|
||||
Default value: `'798AEC654E5C15428C8E42EEAA16FCBCA621E701'`
|
||||
|
||||
##### <a name="key_source"></a>`key_source`
|
||||
##### <a name="-hashi_stack--repo--key_source"></a>`key_source`
|
||||
|
||||
Data type: `Stdlib::HTTPSUrl`
|
||||
|
||||
|
@ -76,7 +77,7 @@ The location of an existing GPG key file to copy.
|
|||
|
||||
Default value: `'https://apt.releases.hashicorp.com/gpg'`
|
||||
|
||||
##### <a name="description"></a>`description`
|
||||
##### <a name="-hashi_stack--repo--description"></a>`description`
|
||||
|
||||
Data type: `String`
|
||||
|
||||
|
@ -84,7 +85,7 @@ Repository description
|
|||
|
||||
Default value: `'HashiCorp package repository.'`
|
||||
|
||||
##### <a name="rpm_base"></a>`rpm_base`
|
||||
##### <a name="-hashi_stack--repo--rpm_base"></a>`rpm_base`
|
||||
|
||||
Data type: `String`
|
||||
|
||||
|
@ -92,11 +93,19 @@ Base URL for the Yum repository
|
|||
|
||||
Default value: `'https://rpm.releases.hashicorp.com'`
|
||||
|
||||
##### <a name="repo_gpgcheck"></a>`repo_gpgcheck`
|
||||
##### <a name="-hashi_stack--repo--repo_gpgcheck"></a>`repo_gpgcheck`
|
||||
|
||||
Data type: `Integer[0,1]`
|
||||
|
||||
|
||||
enables gpg validation of packages from the repo
|
||||
|
||||
Default value: `0`
|
||||
|
||||
##### <a name="-hashi_stack--repo--repo_enabled"></a>`repo_enabled`
|
||||
|
||||
Data type: `Integer[0,1]`
|
||||
|
||||
enables/disables the repository
|
||||
|
||||
Default value: `1`
|
||||
|
||||
|
|
36
Rakefile
36
Rakefile
|
@ -24,6 +24,10 @@ end
|
|||
begin
|
||||
require 'voxpupuli/release/rake_tasks'
|
||||
rescue LoadError
|
||||
# voxpupuli-release not present
|
||||
else
|
||||
GCGConfig.user = 'voxpupuli'
|
||||
GCGConfig.project = 'puppet-hashi_stack'
|
||||
end
|
||||
|
||||
desc "Run main 'test' task and report merged results to coveralls"
|
||||
|
@ -37,36 +41,4 @@ task test_with_coveralls: [:test] do
|
|||
end
|
||||
end
|
||||
|
||||
desc 'Generate REFERENCE.md'
|
||||
task :reference, [:debug, :backtrace] do |t, args|
|
||||
patterns = ''
|
||||
Rake::Task['strings:generate:reference'].invoke(patterns, args[:debug], args[:backtrace])
|
||||
end
|
||||
|
||||
begin
|
||||
require 'github_changelog_generator/task'
|
||||
require 'puppet_blacksmith'
|
||||
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
||||
metadata = Blacksmith::Modulefile.new
|
||||
config.future_release = "v#{metadata.version}" if metadata.version =~ /^\d+\.\d+.\d+$/
|
||||
config.header = "# Changelog\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 affect the functionality of the module."
|
||||
config.exclude_labels = %w{duplicate question invalid wontfix wont-fix modulesync skip-changelog}
|
||||
config.user = 'voxpupuli'
|
||||
config.project = metadata.metadata['name']
|
||||
end
|
||||
|
||||
# Workaround for https://github.com/github-changelog-generator/github-changelog-generator/issues/715
|
||||
require 'rbconfig'
|
||||
if RbConfig::CONFIG['host_os'] =~ /linux/
|
||||
task :changelog do
|
||||
puts 'Fixing line endings...'
|
||||
changelog_file = File.join(__dir__, 'CHANGELOG.md')
|
||||
changelog_txt = File.read(changelog_file)
|
||||
new_contents = changelog_txt.gsub(%r{\r\n}, "\n")
|
||||
File.open(changelog_file, "w") {|file| file.puts new_contents }
|
||||
end
|
||||
end
|
||||
|
||||
rescue LoadError
|
||||
end
|
||||
# vim: syntax=ruby
|
||||
|
|
|
@ -18,22 +18,31 @@
|
|||
# @param key_source The location of an existing GPG key file to copy.
|
||||
# @param description Repository description
|
||||
# @param rpm_base Base URL for the Yum repository
|
||||
# @param repo_gpgcheck enables gpg validation of packages from the repo
|
||||
# @param repo_enabled enables/disables the repository
|
||||
#
|
||||
class hashi_stack::repo (
|
||||
Optional[Integer] $priority = undef,
|
||||
String $proxy = 'absent',
|
||||
String $key_id = 'E8A032E094D8EB4EA189D270DA418C88A3219F7B',
|
||||
String $key_id = '798AEC654E5C15428C8E42EEAA16FCBCA621E701',
|
||||
Stdlib::HTTPSUrl $key_source = 'https://apt.releases.hashicorp.com/gpg',
|
||||
String $description = 'HashiCorp package repository.',
|
||||
String $rpm_base = 'https://rpm.releases.hashicorp.com',
|
||||
Integer[0,1] $repo_gpgcheck = 0,
|
||||
Integer[0,1] $repo_enabled = 1,
|
||||
) {
|
||||
$arch = $facts['os']['architecture'] ? {
|
||||
'aarch64' => 'arm64', # 'aarch64' is official, but Hashicorp uses 'arm64'
|
||||
default => $facts['os']['architecture'],
|
||||
}
|
||||
|
||||
case $facts['os']['family'] {
|
||||
'Debian': {
|
||||
include apt
|
||||
|
||||
apt::source { 'HashiCorp':
|
||||
ensure => 'present',
|
||||
architecture => 'amd64',
|
||||
architecture => $arch,
|
||||
comment => $description,
|
||||
location => 'https://apt.releases.hashicorp.com',
|
||||
repos => 'main',
|
||||
|
@ -55,7 +64,7 @@ class hashi_stack::repo (
|
|||
gpgcheck => 1,
|
||||
gpgkey => $key_source,
|
||||
repo_gpgcheck => $repo_gpgcheck,
|
||||
enabled => 1,
|
||||
enabled => $repo_enabled,
|
||||
proxy => $proxy,
|
||||
priority => $priority,
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "puppet-hashi_stack",
|
||||
"version": "2.1.0",
|
||||
"version": "3.3.1-rc0",
|
||||
"author": "Vox Pupuli",
|
||||
"summary": "This module contains shared code for various HashiCorp modules",
|
||||
"license": "AGPL-3.0",
|
||||
|
@ -10,11 +10,11 @@
|
|||
"dependencies": [
|
||||
{
|
||||
"name": "puppetlabs-stdlib",
|
||||
"version_requirement": ">= 5.1.0 < 9.0.0"
|
||||
"version_requirement": ">= 5.1.0 < 10.0.0"
|
||||
},
|
||||
{
|
||||
"name": "puppetlabs/apt",
|
||||
"version_requirement": ">= 6.1.0 < 10.0.0"
|
||||
"version_requirement": ">= 6.1.0 < 11.0.0"
|
||||
}
|
||||
],
|
||||
"operatingsystem_support": [
|
||||
|
@ -22,34 +22,65 @@
|
|||
"operatingsystem": "RedHat",
|
||||
"operatingsystemrelease": [
|
||||
"7",
|
||||
"8"
|
||||
"8",
|
||||
"9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"operatingsystem": "OracleLinux",
|
||||
"operatingsystemrelease": [
|
||||
"8",
|
||||
"9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"operatingsystem": "AlmaLinux",
|
||||
"operatingsystemrelease": [
|
||||
"8",
|
||||
"9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"operatingsystem": "Rocky",
|
||||
"operatingsystemrelease": [
|
||||
"8",
|
||||
"9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"operatingsystem": "CentOS",
|
||||
"operatingsystemrelease": [
|
||||
"7",
|
||||
"8"
|
||||
"8",
|
||||
"9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"operatingsystem": "Debian",
|
||||
"operatingsystemrelease": [
|
||||
"10"
|
||||
"10",
|
||||
"11",
|
||||
"12"
|
||||
]
|
||||
},
|
||||
{
|
||||
"operatingsystem": "Ubuntu",
|
||||
"operatingsystemrelease": [
|
||||
"18.04",
|
||||
"20.04"
|
||||
"20.04",
|
||||
"22.04",
|
||||
"24.04"
|
||||
]
|
||||
}
|
||||
],
|
||||
"requirements": [
|
||||
{
|
||||
"name": "puppet",
|
||||
"version_requirement": ">= 6.1.0 < 8.0.0"
|
||||
"version_requirement": ">= 7.0.0 < 9.0.0"
|
||||
},
|
||||
{
|
||||
"name": "openvox",
|
||||
"version_requirement": ">= 7.0.0 < 9.0.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -9,9 +9,16 @@ ENV['COVERAGE'] ||= 'yes' if Dir.exist?(File.expand_path('../lib', __dir__))
|
|||
|
||||
require 'voxpupuli/test/spec_helper'
|
||||
|
||||
RSpec.configure do |c|
|
||||
c.facterdb_string_keys = false
|
||||
end
|
||||
|
||||
add_mocked_facts!
|
||||
|
||||
if File.exist?(File.join(__dir__, 'default_module_facts.yml'))
|
||||
facts = YAML.safe_load(File.read(File.join(__dir__, 'default_module_facts.yml')))
|
||||
facts&.each do |name, value|
|
||||
add_custom_fact name.to_sym, value
|
||||
end
|
||||
end
|
||||
Dir['./spec/support/spec/**/*.rb'].sort.each { |f| require f }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue