voxpupuli-acceptance 0.2.1 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69860eff5a884085c2872fdce8f47122020ddb6355f72eb75eec92ae712415f1
4
- data.tar.gz: 490075ff98e6a91416abf253db39c55f2f0600ce930c72615e77fdaa70546bb0
3
+ metadata.gz: 37915c6f478ecafc4e655b0b331e7187ded5de2f5d0759be3e1b91495e2fba8d
4
+ data.tar.gz: 7c9f0126fa4113ad3dba24a629a3450bf59eb2476ec1e3dbf9adabd1551229c6
5
5
  SHA512:
6
- metadata.gz: b6d35892eee0ea3657a9cb588e665704e521a1dfa08f85f6e2a3c9f34294306860c65e027cf40ace681878da7059c32c0504182dffabc827f92d009b7808b04f
7
- data.tar.gz: 25c82c6e01747cedfbf827b53dd89f79f21af9ac8cb27bce0147758e917ad8b911e705de8665ee31e30ebe7432f1e28406ced64c8236a970c993f62fba27d6ea
6
+ metadata.gz: 605dba3416c85639b1027063785a91cd2cc8bbc4fab71cf09f79cfd5bb6810ab498814416be7558a0450a6ef006f1cdb8b390ecd3da392d64c0c10eea385d1cb
7
+ data.tar.gz: 1f41ec9930bf790bb61bb7f3693484f5f32198f521d1e4c381055f6112bd6e67e51f7088d37041b3eaeac92a3a9837eb4d677c960202810f939251869ffc1491
@@ -1,4 +1,31 @@
1
- def configure_beaker(modules: :metadata, &block)
1
+ ENV_VAR_PREFIX = 'BEAKER_FACTER_'
2
+ FACT_FILE = '/etc/facter/facts.d/voxpupuli-acceptance-env.json'
3
+
4
+ def beaker_facts_from_env
5
+ facts = {}
6
+
7
+ ENV.each do |var, value|
8
+ next unless var.start_with?(ENV_VAR_PREFIX)
9
+
10
+ fact = var.sub(ENV_VAR_PREFIX, '').downcase
11
+ facts[fact] = value
12
+ end
13
+
14
+ facts
15
+ end
16
+
17
+ def write_beaker_facts_on(hosts)
18
+ beaker_facts = beaker_facts_from_env
19
+
20
+ if beaker_facts.any?
21
+ require 'json'
22
+ on(hosts, "mkdir -p #{File.dirname(FACT_FILE)} && cat <<VOXPUPULI_BEAKER_ENV_VARS > #{FACT_FILE}\n#{beaker_facts.to_json}\nVOXPUPULI_BEAKER_ENV_VARS")
23
+ else
24
+ on(hosts, "rm -f #{FACT_FILE}")
25
+ end
26
+ end
27
+
28
+ def configure_beaker(modules: :metadata, configure_facts_from_env: true, &block)
2
29
  ENV['PUPPET_INSTALL_TYPE'] ||= 'agent'
3
30
  ENV['BEAKER_PUPPET_COLLECTION'] ||= 'puppet6'
4
31
  ENV['BEAKER_debug'] ||= 'true'
@@ -33,6 +60,8 @@ def configure_beaker(modules: :metadata, &block)
33
60
  Voxpupupli::Acceptance::Fixtures.install_fixture_modules_on(hosts, fixture_modules)
34
61
  end
35
62
 
63
+ write_beaker_facts_on(hosts) if configure_facts_from_env
64
+
36
65
  if block
37
66
  hosts.each do |host|
38
67
  yield host
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: voxpupuli-acceptance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vox Pupuli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-20 00:00:00.000000000 Z
11
+ date: 2020-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt_pbkdf