beaker-hiera 0.5.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +17 -7
- data/.github/workflows/test.yml +2 -2
- data/.rubocop.yml +2 -1
- data/.rubocop_todo.yml +1 -1
- data/CHANGELOG.md +18 -1
- data/Gemfile +1 -0
- data/README.md +24 -4
- data/Rakefile +1 -1
- data/beaker-hiera.gemspec +3 -11
- data/lib/beaker-hiera/helpers.rb +9 -7
- data/lib/beaker-hiera/version.rb +1 -1
- data/spec/beaker-hiera/helpers_spec.rb +2 -2
- metadata +10 -94
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b27d17635f579df615e3fdf6aa4cb1ad23505caca158d34bb9c30b13b3b1f831
|
4
|
+
data.tar.gz: c18828b952f9489fa26b7edc266d2caae232f118854a424fd22fc8f7680e03a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d6b9812852ebd39d41970851225376dba1a6349ddf7ba60272836739ebcd32d77720bea1fe24302acf62cbbf533169fd35db05bff0b33852806020a99cf8303
|
7
|
+
data.tar.gz: a00341b48d51817fe42642046a86080e376b9a97e1ea25a786f00a3e92622c639e85c58e2768467b85622760f530c4d0bca41e2048a0aa3e4da656d8e7a1c65d
|
@@ -1,22 +1,32 @@
|
|
1
1
|
name: Release
|
2
2
|
|
3
3
|
on:
|
4
|
-
|
5
|
-
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- '*'
|
6
7
|
|
7
8
|
jobs:
|
8
9
|
release:
|
9
10
|
runs-on: ubuntu-latest
|
10
|
-
if: github.
|
11
|
+
if: github.repository_owner == 'voxpupuli'
|
11
12
|
steps:
|
12
|
-
- uses: actions/checkout@
|
13
|
-
- name: Install Ruby
|
13
|
+
- uses: actions/checkout@v4
|
14
|
+
- name: Install Ruby 3.0
|
14
15
|
uses: ruby/setup-ruby@v1
|
15
16
|
with:
|
16
|
-
ruby-version: '
|
17
|
+
ruby-version: '3.0'
|
18
|
+
env:
|
19
|
+
BUNDLE_WITHOUT: release:development:rubocop
|
17
20
|
- name: Build gem
|
18
21
|
run: gem build *.gemspec
|
19
|
-
- name: Publish gem
|
22
|
+
- name: Publish gem to rubygems.org
|
20
23
|
run: gem push *.gem
|
21
24
|
env:
|
22
25
|
GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
|
26
|
+
- name: Setup GitHub packages access
|
27
|
+
run: |
|
28
|
+
mkdir -p ~/.gem
|
29
|
+
echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
|
30
|
+
chmod 0600 ~/.gem/credentials
|
31
|
+
- name: Publish gem to GitHub packages
|
32
|
+
run: gem push --key github --host https://rubygems.pkg.github.com/voxpupuli *.gem
|
data/.github/workflows/test.yml
CHANGED
@@ -13,7 +13,7 @@ jobs:
|
|
13
13
|
rubocop:
|
14
14
|
runs-on: ubuntu-latest
|
15
15
|
steps:
|
16
|
-
- uses: actions/checkout@
|
16
|
+
- uses: actions/checkout@v4
|
17
17
|
- name: Install Ruby ${{ matrix.ruby }}
|
18
18
|
uses: ruby/setup-ruby@v1
|
19
19
|
with:
|
@@ -36,7 +36,7 @@ jobs:
|
|
36
36
|
COVERAGE: ${{ matrix.coverage }}
|
37
37
|
name: RSpec - Ruby ${{ matrix.ruby }}
|
38
38
|
steps:
|
39
|
-
- uses: actions/checkout@
|
39
|
+
- uses: actions/checkout@v4
|
40
40
|
- name: Install Ruby ${{ matrix.ruby }}
|
41
41
|
uses: ruby/setup-ruby@v1
|
42
42
|
with:
|
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2023-
|
3
|
+
# on 2023-05-05 10:34:45 UTC using RuboCop version 1.50.2.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,23 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [1.0.0](https://github.com/voxpupuli/beaker-hiera/tree/1.0.0) (2023-11-03)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-hiera/compare/0.6.0...1.0.0)
|
6
|
+
|
7
|
+
**Breaking changes:**
|
8
|
+
|
9
|
+
- Convert to Hiera 5 [\#17](https://github.com/voxpupuli/beaker-hiera/pull/17) ([ekohl](https://github.com/ekohl))
|
10
|
+
|
11
|
+
## [0.6.0](https://github.com/voxpupuli/beaker-hiera/tree/0.6.0) (2023-05-05)
|
12
|
+
|
13
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-hiera/compare/0.5.0...0.6.0)
|
14
|
+
|
15
|
+
**Merged pull requests:**
|
16
|
+
|
17
|
+
- GCG: Add faraday-retry dep [\#26](https://github.com/voxpupuli/beaker-hiera/pull/26) ([bastelfreak](https://github.com/bastelfreak))
|
18
|
+
- switch to voxpupuli-rubocop and cleanup gemspec [\#25](https://github.com/voxpupuli/beaker-hiera/pull/25) ([bastelfreak](https://github.com/bastelfreak))
|
19
|
+
- Update release workflow for Vox Pupuli standard [\#24](https://github.com/voxpupuli/beaker-hiera/pull/24) ([bastelfreak](https://github.com/bastelfreak))
|
20
|
+
|
3
21
|
## [0.5.0](https://github.com/voxpupuli/beaker-hiera/tree/0.5.0) (2023-03-28)
|
4
22
|
|
5
23
|
[Full Changelog](https://github.com/voxpupuli/beaker-hiera/compare/0.4.0...0.5.0)
|
@@ -14,7 +32,6 @@
|
|
14
32
|
|
15
33
|
**Merged pull requests:**
|
16
34
|
|
17
|
-
- Bump actions/checkout from 2 to 3 [\#23](https://github.com/voxpupuli/beaker-hiera/pull/23) ([dependabot[bot]](https://github.com/apps/dependabot))
|
18
35
|
- Implement rubocop & fix violations [\#22](https://github.com/voxpupuli/beaker-hiera/pull/22) ([bastelfreak](https://github.com/bastelfreak))
|
19
36
|
- dependabot: check for github actions and gems [\#21](https://github.com/voxpupuli/beaker-hiera/pull/21) ([bastelfreak](https://github.com/bastelfreak))
|
20
37
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,12 +2,32 @@
|
|
2
2
|
|
3
3
|
Beaker Hiera DSL Extension Library! This allows to easily use Hiera data in acceptance tests.
|
4
4
|
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
The `write_hiera_config_on` method is the most important one.
|
8
|
+
It writes the `hiera.yaml` file to the specified host or hosts.
|
9
|
+
The version is always set to 5, as well as a default `datadir`.
|
10
|
+
The `hierarchy` is directly what the [documentation](https://www.puppet.com/docs/puppet/7/hiera_config_yaml_5.html) specifies.
|
11
|
+
It is then important to also copy the data from a local directory to the same host or hosts.
|
12
|
+
|
5
13
|
```ruby
|
6
14
|
hierarchy = [
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
15
|
+
{
|
16
|
+
'name' => 'Per-node data',
|
17
|
+
'path' => 'fqdn/%{facts.networking.fqdn}.yaml',
|
18
|
+
},
|
19
|
+
{
|
20
|
+
'name' => 'OS family version data',
|
21
|
+
'path' => 'family/%{facts.os.family}/%{facts.os.release.major}.yaml',
|
22
|
+
},
|
23
|
+
{
|
24
|
+
'name' => 'OS family data',
|
25
|
+
'path' => 'family/%{facts.os.family}.yaml',
|
26
|
+
},
|
27
|
+
{
|
28
|
+
'name' => 'Common data',
|
29
|
+
'path' => 'common.yaml',
|
30
|
+
},
|
11
31
|
]
|
12
32
|
write_hiera_config_on(host, hierarchy)
|
13
33
|
copy_hiera_data_to(host, 'spec/acceptance/hieradata')
|
data/Rakefile
CHANGED
@@ -22,7 +22,7 @@ rescue LoadError
|
|
22
22
|
# github_changelog_generator is an optional release
|
23
23
|
else
|
24
24
|
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
25
|
-
config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog]
|
25
|
+
config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog github_actions]
|
26
26
|
config.user = 'voxpupuli'
|
27
27
|
config.project = 'beaker-hiera'
|
28
28
|
gem_version = Gem::Specification.load("#{config.project}.gemspec").version
|
data/beaker-hiera.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.homepage = 'https://github.com/voxpupuli/beaker-hiera'
|
10
10
|
s.summary = 'Hiera DSL Helpers!'
|
11
11
|
s.description = 'For use for the Beaker acceptance testing tool'
|
12
|
-
s.license = '
|
12
|
+
s.license = 'Apache-2.0'
|
13
13
|
|
14
14
|
s.files = `git ls-files`.split("\n")
|
15
15
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
@@ -21,16 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_development_dependency 'pry', '~> 0.10'
|
22
22
|
s.add_development_dependency 'rake', '~> 13.0'
|
23
23
|
s.add_development_dependency 'rspec', '~> 3.0'
|
24
|
-
s.add_development_dependency '
|
25
|
-
s.add_development_dependency 'rubocop
|
26
|
-
s.add_development_dependency 'rubocop-rake', '~> 0.2'
|
27
|
-
s.add_development_dependency 'rubocop-rspec', '>= 1.44'
|
28
|
-
s.add_development_dependency 'simplecov'
|
29
|
-
|
30
|
-
# Documentation dependencies
|
31
|
-
s.add_development_dependency 'markdown'
|
32
|
-
s.add_development_dependency 'thin'
|
33
|
-
s.add_development_dependency 'yard'
|
24
|
+
s.add_development_dependency 'simplecov', '~> 0.22.0'
|
25
|
+
s.add_development_dependency 'voxpupuli-rubocop', '~> 1.2'
|
34
26
|
|
35
27
|
# Run time dependencies
|
36
28
|
s.add_runtime_dependency 'beaker', '>= 4', '< 6'
|
data/lib/beaker-hiera/helpers.rb
CHANGED
@@ -9,17 +9,19 @@ module Beaker
|
|
9
9
|
# @param [Host, Array<Host>, String, Symbol] host
|
10
10
|
# One or more hosts to act upon, or a role (String or Symbol) that
|
11
11
|
# identifies one or more hosts.
|
12
|
-
# @param [Array] hierarchy
|
13
|
-
#
|
12
|
+
# @param [Array[Hash[String, String]]] hierarchy
|
13
|
+
# The hierachy as specified in Hiera config YAML version 5
|
14
|
+
#
|
15
|
+
# @see https://www.puppet.com/docs/puppet/7/hiera_config_yaml_5.html
|
14
16
|
def write_hiera_config_on(host, hierarchy)
|
15
17
|
block_on host do |hst|
|
16
18
|
hiera_config = {
|
17
|
-
|
18
|
-
|
19
|
-
datadir
|
19
|
+
'version' => 5,
|
20
|
+
'defaults' => {
|
21
|
+
'datadir' => hiera_datadir(hst),
|
22
|
+
'data_hash' => 'yaml_data',
|
20
23
|
},
|
21
|
-
hierarchy
|
22
|
-
logger: 'console',
|
24
|
+
'hierarchy' => hierarchy,
|
23
25
|
}
|
24
26
|
create_remote_file hst, hst.puppet['hiera_config'], hiera_config.to_yaml
|
25
27
|
end
|
data/lib/beaker-hiera/version.rb
CHANGED
@@ -19,7 +19,7 @@ describe ClassMixedWithDSLHelpers do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
describe '#write_hiera_config_on' do
|
22
|
-
let(:hierarchy) { [
|
22
|
+
let(:hierarchy) { [{ 'name' => 'common', 'path' => 'common.yaml' }] }
|
23
23
|
|
24
24
|
it 'on host' do
|
25
25
|
expect(subject).to receive(:create_remote_file).with(host, '/usr/face', %r{datadir: "/usr/code/hieradata"})
|
@@ -28,7 +28,7 @@ describe ClassMixedWithDSLHelpers do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
describe '#write_hiera_config' do
|
31
|
-
let(:hierarchy) { [
|
31
|
+
let(:hierarchy) { [{ 'name' => 'common', 'path' => 'common.yaml' }] }
|
32
32
|
|
33
33
|
it 'delegates to #write_hiera_config_on with the default host' do
|
34
34
|
expect(subject).to receive(:default).and_return(host)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker-hiera
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vox Pupuli
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-03
|
12
|
+
date: 2023-11-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry
|
@@ -54,117 +54,33 @@ dependencies:
|
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '3.0'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - "~>"
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 1.48.1
|
63
|
-
type: :development
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - "~>"
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 1.48.1
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: rubocop-performance
|
57
|
+
name: simplecov
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|
73
59
|
requirements:
|
74
60
|
- - "~>"
|
75
61
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
62
|
+
version: 0.22.0
|
77
63
|
type: :development
|
78
64
|
prerelease: false
|
79
65
|
version_requirements: !ruby/object:Gem::Requirement
|
80
66
|
requirements:
|
81
67
|
- - "~>"
|
82
68
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
69
|
+
version: 0.22.0
|
84
70
|
- !ruby/object:Gem::Dependency
|
85
|
-
name: rubocop
|
71
|
+
name: voxpupuli-rubocop
|
86
72
|
requirement: !ruby/object:Gem::Requirement
|
87
73
|
requirements:
|
88
74
|
- - "~>"
|
89
75
|
- !ruby/object:Gem::Version
|
90
|
-
version: '
|
76
|
+
version: '1.2'
|
91
77
|
type: :development
|
92
78
|
prerelease: false
|
93
79
|
version_requirements: !ruby/object:Gem::Requirement
|
94
80
|
requirements:
|
95
81
|
- - "~>"
|
96
82
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
98
|
-
- !ruby/object:Gem::Dependency
|
99
|
-
name: rubocop-rspec
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - ">="
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: '1.44'
|
105
|
-
type: :development
|
106
|
-
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
requirements:
|
109
|
-
- - ">="
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '1.44'
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: simplecov
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
-
requirements:
|
116
|
-
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '0'
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - ">="
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: markdown
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
requirements:
|
130
|
-
- - ">="
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: '0'
|
133
|
-
type: :development
|
134
|
-
prerelease: false
|
135
|
-
version_requirements: !ruby/object:Gem::Requirement
|
136
|
-
requirements:
|
137
|
-
- - ">="
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: '0'
|
140
|
-
- !ruby/object:Gem::Dependency
|
141
|
-
name: thin
|
142
|
-
requirement: !ruby/object:Gem::Requirement
|
143
|
-
requirements:
|
144
|
-
- - ">="
|
145
|
-
- !ruby/object:Gem::Version
|
146
|
-
version: '0'
|
147
|
-
type: :development
|
148
|
-
prerelease: false
|
149
|
-
version_requirements: !ruby/object:Gem::Requirement
|
150
|
-
requirements:
|
151
|
-
- - ">="
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
version: '0'
|
154
|
-
- !ruby/object:Gem::Dependency
|
155
|
-
name: yard
|
156
|
-
requirement: !ruby/object:Gem::Requirement
|
157
|
-
requirements:
|
158
|
-
- - ">="
|
159
|
-
- !ruby/object:Gem::Version
|
160
|
-
version: '0'
|
161
|
-
type: :development
|
162
|
-
prerelease: false
|
163
|
-
version_requirements: !ruby/object:Gem::Requirement
|
164
|
-
requirements:
|
165
|
-
- - ">="
|
166
|
-
- !ruby/object:Gem::Version
|
167
|
-
version: '0'
|
83
|
+
version: '1.2'
|
168
84
|
- !ruby/object:Gem::Dependency
|
169
85
|
name: beaker
|
170
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -215,7 +131,7 @@ files:
|
|
215
131
|
- spec/spec_helper.rb
|
216
132
|
homepage: https://github.com/voxpupuli/beaker-hiera
|
217
133
|
licenses:
|
218
|
-
-
|
134
|
+
- Apache-2.0
|
219
135
|
metadata: {}
|
220
136
|
post_install_message:
|
221
137
|
rdoc_options: []
|
@@ -235,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
235
151
|
- !ruby/object:Gem::Version
|
236
152
|
version: '0'
|
237
153
|
requirements: []
|
238
|
-
rubygems_version: 3.
|
154
|
+
rubygems_version: 3.2.33
|
239
155
|
signing_key:
|
240
156
|
specification_version: 4
|
241
157
|
summary: Hiera DSL Helpers!
|