mirror of
https://github.com/voxpupuli/puppet-hashi_stack.git
synced 2025-06-03 01:05:34 +01:00
Compare commits
No commits in common. "master" and "v3.0.0" have entirely different histories.
19 changed files with 58 additions and 182 deletions
28
.github/CONTRIBUTING.md
vendored
28
.github/CONTRIBUTING.md
vendored
|
@ -131,29 +131,19 @@ You can install all needed gems for spec tests into the modules directory by
|
||||||
running:
|
running:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
bundle config set --local path '.vendor/'
|
bundle install --path .vendor/ --without development system_tests release --jobs "$(nproc)"
|
||||||
bundle config set --local without 'development system_tests release'
|
|
||||||
bundle install --jobs "$(nproc)"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
If you also want to run acceptance tests:
|
If you also want to run acceptance tests:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
bundle config set --local path '.vendor/'
|
bundle install --path .vendor/ --with system_tests --without development release --jobs "$(nproc)"
|
||||||
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:
|
Our all in one solution if you don't know if you need to install or update gems:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
bundle config set --local path '.vendor/'
|
bundle install --path .vendor/ --with system_tests --without development release --jobs "$(nproc)"; bundle update; bundle clean
|
||||||
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
|
As an alternative to the `--jobs "$(nproc)` parameter, you can set an
|
||||||
|
@ -245,23 +235,15 @@ with:
|
||||||
BEAKER_PUPPET_COLLECTION=puppet7 BEAKER_setfile=debian11-64 bundle exec rake beaker
|
BEAKER_PUPPET_COLLECTION=puppet7 BEAKER_setfile=debian11-64 bundle exec rake beaker
|
||||||
```
|
```
|
||||||
|
|
||||||
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.
|
You can replace the string `debian11` with any common operating system.
|
||||||
The following strings are known to work:
|
The following strings are known to work:
|
||||||
|
|
||||||
* ubuntu2004
|
* ubuntu2004
|
||||||
* ubuntu2204
|
* ubuntu2204
|
||||||
* debian11
|
* debian11
|
||||||
* debian12
|
* centos7
|
||||||
|
* centos8
|
||||||
* centos9
|
* centos9
|
||||||
* archlinux
|
|
||||||
* almalinux8
|
* almalinux8
|
||||||
* almalinux9
|
* almalinux9
|
||||||
* fedora36
|
* fedora36
|
||||||
|
|
42
.github/release.yml
vendored
42
.github/release.yml
vendored
|
@ -1,42 +0,0 @@
|
||||||
---
|
|
||||||
# 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:
|
|
||||||
- "*"
|
|
12
.github/workflows/ci.yml
vendored
12
.github/workflows/ci.yml
vendored
|
@ -4,13 +4,7 @@
|
||||||
|
|
||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
# yamllint disable-line rule:truthy
|
on: pull_request
|
||||||
on:
|
|
||||||
pull_request: {}
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- master
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.ref_name }}
|
group: ${{ github.ref_name }}
|
||||||
|
@ -19,4 +13,6 @@ concurrency:
|
||||||
jobs:
|
jobs:
|
||||||
puppet:
|
puppet:
|
||||||
name: Puppet
|
name: Puppet
|
||||||
uses: voxpupuli/gha-puppet/.github/workflows/beaker.yml@v3
|
uses: voxpupuli/gha-puppet/.github/workflows/beaker.yml@v1
|
||||||
|
with:
|
||||||
|
pidfile_workaround: 'false'
|
||||||
|
|
18
.github/workflows/labeler.yml
vendored
18
.github/workflows/labeler.yml
vendored
|
@ -1,18 +0,0 @@
|
||||||
---
|
|
||||||
# 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
23
.github/workflows/prepare_release.yml
vendored
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
# 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 }}'
|
|
3
.github/workflows/release.yml
vendored
3
.github/workflows/release.yml
vendored
|
@ -4,7 +4,6 @@
|
||||||
|
|
||||||
name: Release
|
name: Release
|
||||||
|
|
||||||
# yamllint disable-line rule:truthy
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
|
@ -13,7 +12,7 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
name: Release
|
name: Release
|
||||||
uses: voxpupuli/gha-puppet/.github/workflows/release.yml@v3
|
uses: voxpupuli/gha-puppet/.github/workflows/release.yml@v1
|
||||||
with:
|
with:
|
||||||
allowed_owner: 'voxpupuli'
|
allowed_owner: 'voxpupuli'
|
||||||
secrets:
|
secrets:
|
||||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -21,5 +21,3 @@
|
||||||
.*.sw?
|
.*.sw?
|
||||||
/.yardoc/
|
/.yardoc/
|
||||||
/Guardfile
|
/Guardfile
|
||||||
bolt-debug.log
|
|
||||||
.rerun.json
|
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
# Managed by modulesync - DO NOT EDIT
|
# Managed by modulesync - DO NOT EDIT
|
||||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||||
|
|
||||||
modulesync_config_version: '9.7.0'
|
modulesync_config_version: '7.0.0'
|
||||||
|
|
|
@ -43,12 +43,10 @@ PreCommit:
|
||||||
enabled: true
|
enabled: true
|
||||||
description: 'Runs rubocop on modified files only'
|
description: 'Runs rubocop on modified files only'
|
||||||
command: ['bundle', 'exec', 'rubocop']
|
command: ['bundle', 'exec', 'rubocop']
|
||||||
RakeTarget:
|
PuppetLint:
|
||||||
enabled: true
|
enabled: true
|
||||||
description: 'Runs lint on modified files only'
|
description: 'Runs puppet-lint on modified files only'
|
||||||
targets:
|
command: ['bundle', 'exec', 'puppet-lint']
|
||||||
- 'lint'
|
|
||||||
command: ['bundle', 'exec', 'rake']
|
|
||||||
YamlSyntax:
|
YamlSyntax:
|
||||||
enabled: true
|
enabled: true
|
||||||
JsonSyntax:
|
JsonSyntax:
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
/.github/
|
/.github/
|
||||||
/.librarian/
|
/.librarian/
|
||||||
/Puppetfile.lock
|
/Puppetfile.lock
|
||||||
/Puppetfile
|
|
||||||
*.iml
|
*.iml
|
||||||
/.editorconfig
|
/.editorconfig
|
||||||
/.fixtures.yml
|
/.fixtures.yml
|
||||||
|
@ -36,4 +35,3 @@
|
||||||
/.yardoc/
|
/.yardoc/
|
||||||
/.yardopts
|
/.yardopts
|
||||||
/Dockerfile
|
/Dockerfile
|
||||||
/HISTORY.md
|
|
||||||
|
|
|
@ -1,4 +1 @@
|
||||||
# Managed by modulesync - DO NOT EDIT
|
|
||||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
|
||||||
|
|
||||||
--fail-on-warnings
|
--fail-on-warnings
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
|
||||||
# Managed by modulesync - DO NOT EDIT
|
# Managed by modulesync - DO NOT EDIT
|
||||||
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||||
|
|
||||||
skip-changelog:
|
--format documentation
|
||||||
- head-branch: ['^release-*', 'release']
|
--color
|
4
.rspec_parallel
Normal file
4
.rspec_parallel
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Managed by modulesync - DO NOT EDIT
|
||||||
|
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
|
||||||
|
|
||||||
|
--format progress
|
25
CHANGELOG.md
25
CHANGELOG.md
|
@ -4,31 +4,6 @@ All notable changes to this project will be documented in this file.
|
||||||
Each new release typically also includes the latest modulesync defaults.
|
Each new release typically also includes the latest modulesync defaults.
|
||||||
These should not affect the functionality of the module.
|
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)
|
## [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)
|
[Full Changelog](https://github.com/voxpupuli/puppet-hashi_stack/compare/v2.2.0...v3.0.0)
|
||||||
|
|
24
Dockerfile
Normal file
24
Dockerfile
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# 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_GEM_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
|
14
Gemfile
14
Gemfile
|
@ -4,8 +4,10 @@
|
||||||
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
gem 'voxpupuli-test', '~> 10.0', :require => false
|
gem 'voxpupuli-test', '~> 7.0', :require => false
|
||||||
gem 'puppet_metadata', '~> 5.0', :require => false
|
gem 'coveralls', :require => false
|
||||||
|
gem 'simplecov-console', :require => false
|
||||||
|
gem 'puppet_metadata', '~> 3.0', :require => false
|
||||||
end
|
end
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
|
@ -14,17 +16,19 @@ group :development do
|
||||||
end
|
end
|
||||||
|
|
||||||
group :system_tests do
|
group :system_tests do
|
||||||
gem 'voxpupuli-acceptance', '~> 3.5', :require => false
|
gem 'voxpupuli-acceptance', '~> 2.0', :require => false
|
||||||
end
|
end
|
||||||
|
|
||||||
group :release do
|
group :release do
|
||||||
gem 'voxpupuli-release', '~> 3.0', :require => false
|
gem 'github_changelog_generator', '>= 1.16.1', :require => false
|
||||||
|
gem 'voxpupuli-release', '~> 3.0', :require => false
|
||||||
|
gem 'faraday-retry', '~> 2.1', :require => false
|
||||||
end
|
end
|
||||||
|
|
||||||
gem 'rake', :require => false
|
gem 'rake', :require => false
|
||||||
gem 'facter', ENV['FACTER_GEM_VERSION'], :require => false, :groups => [:test]
|
gem 'facter', ENV['FACTER_GEM_VERSION'], :require => false, :groups => [:test]
|
||||||
|
|
||||||
puppetversion = ENV['PUPPET_GEM_VERSION'] || [">= 7.24", "< 9"]
|
puppetversion = ENV['PUPPET_GEM_VERSION'] || '~> 7.24'
|
||||||
gem 'puppet', puppetversion, :require => false, :groups => [:test]
|
gem 'puppet', puppetversion, :require => false, :groups => [:test]
|
||||||
|
|
||||||
# vim: syntax=ruby
|
# vim: syntax=ruby
|
||||||
|
|
|
@ -31,18 +31,13 @@ class hashi_stack::repo (
|
||||||
Integer[0,1] $repo_gpgcheck = 0,
|
Integer[0,1] $repo_gpgcheck = 0,
|
||||||
Integer[0,1] $repo_enabled = 1,
|
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'] {
|
case $facts['os']['family'] {
|
||||||
'Debian': {
|
'Debian': {
|
||||||
include apt
|
include apt
|
||||||
|
|
||||||
apt::source { 'HashiCorp':
|
apt::source { 'HashiCorp':
|
||||||
ensure => 'present',
|
ensure => 'present',
|
||||||
architecture => $arch,
|
architecture => 'amd64',
|
||||||
comment => $description,
|
comment => $description,
|
||||||
location => 'https://apt.releases.hashicorp.com',
|
location => 'https://apt.releases.hashicorp.com',
|
||||||
repos => 'main',
|
repos => 'main',
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "puppet-hashi_stack",
|
"name": "puppet-hashi_stack",
|
||||||
"version": "3.3.1-rc0",
|
"version": "3.0.0",
|
||||||
"author": "Vox Pupuli",
|
"author": "Vox Pupuli",
|
||||||
"summary": "This module contains shared code for various HashiCorp modules",
|
"summary": "This module contains shared code for various HashiCorp modules",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "puppetlabs/apt",
|
"name": "puppetlabs/apt",
|
||||||
"version_requirement": ">= 6.1.0 < 11.0.0"
|
"version_requirement": ">= 6.1.0 < 10.0.0"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"operatingsystem_support": [
|
"operatingsystem_support": [
|
||||||
|
@ -59,8 +59,7 @@
|
||||||
"operatingsystem": "Debian",
|
"operatingsystem": "Debian",
|
||||||
"operatingsystemrelease": [
|
"operatingsystemrelease": [
|
||||||
"10",
|
"10",
|
||||||
"11",
|
"11"
|
||||||
"12"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -68,8 +67,7 @@
|
||||||
"operatingsystemrelease": [
|
"operatingsystemrelease": [
|
||||||
"18.04",
|
"18.04",
|
||||||
"20.04",
|
"20.04",
|
||||||
"22.04",
|
"22.04"
|
||||||
"24.04"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -77,10 +75,6 @@
|
||||||
{
|
{
|
||||||
"name": "puppet",
|
"name": "puppet",
|
||||||
"version_requirement": ">= 7.0.0 < 9.0.0"
|
"version_requirement": ">= 7.0.0 < 9.0.0"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "openvox",
|
|
||||||
"version_requirement": ">= 7.0.0 < 9.0.0"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,10 +9,6 @@ ENV['COVERAGE'] ||= 'yes' if Dir.exist?(File.expand_path('../lib', __dir__))
|
||||||
|
|
||||||
require 'voxpupuli/test/spec_helper'
|
require 'voxpupuli/test/spec_helper'
|
||||||
|
|
||||||
RSpec.configure do |c|
|
|
||||||
c.facterdb_string_keys = false
|
|
||||||
end
|
|
||||||
|
|
||||||
add_mocked_facts!
|
add_mocked_facts!
|
||||||
|
|
||||||
if File.exist?(File.join(__dir__, 'default_module_facts.yml'))
|
if File.exist?(File.join(__dir__, 'default_module_facts.yml'))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue