voxpupuli-acceptance 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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