minfra-cli 4.2.0 → 4.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/{minfra/cli/hiera_yaml_backend_patch.rb → hiera/backend/yeaml_backend.rb} +6 -4
- data/lib/minfra/cli/cli_starter.rb +4 -0
- data/lib/minfra/cli/errors.rb +2 -0
- data/lib/minfra/cli/hiera_looker.rb +5 -5
- data/lib/minfra/cli/version.rb +1 -1
- data/lib/minfra/cli.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3130c38b75f95a1e33c187d6b2026ef0eead6ae92855021ef8c52a3d47aefc28
|
4
|
+
data.tar.gz: fe0fbbfee11d712ae34668bd9c5f87696fbf7c08186b409f0e33baf1d24ec449
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b52d83585031a954c4db6a632322ecb3077936bed7ffa824d125e5ca6fb6341aead5abf1220671e9e17fcd6c7c0f541ea2a39405d541b51b5c1db11d9c8ffd1
|
7
|
+
data.tar.gz: 46aaa7a2acfe06a6fc190a21e5c7e0c391a55d503eda59618961b77f334203a1efa47d6c0ea337bdccbf2c22d255021ca1f148e9a23ae9f1863e543fa1748e27
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# 4.3.0
|
2
|
+
* raising EnvNotFound when the environment is not found
|
3
|
+
* instead of patching yaml we're introducing yeaml backend to lookup eyaml files without decryption
|
4
|
+
* fixing hiera setup so environment file is loaded first and merged into scope
|
1
5
|
# 4.2.0
|
2
6
|
* --no-rc don't load rc files
|
3
7
|
* MINFRA_DEBUG_HIERA_LOOKUPS=true also shows the results of the lookup
|
@@ -1,13 +1,15 @@
|
|
1
|
+
require 'hiera/backend/yaml_backend'
|
2
|
+
# require 'debug'
|
1
3
|
class Hiera
|
2
4
|
module Backend
|
3
|
-
class Yaml_backend
|
4
|
-
|
5
|
+
class Yeaml_backend < Hiera::Backend::Yaml_backend
|
5
6
|
def lookup(key, scope, order_override, resolution_type, context)
|
6
7
|
answer = nil
|
7
8
|
found = false
|
8
9
|
|
9
|
-
Hiera.debug("Looking up #{key} in
|
10
|
-
Backend.datasourcefiles(:
|
10
|
+
Hiera.debug("Looking up #{key} in YEAML backend")
|
11
|
+
Backend.datasourcefiles(:yeaml, scope, Config[:yeaml][:extension] || "eyaml", order_override) do |source, yamlfile|
|
12
|
+
# debugger if scope['env']== "dev-on-premises" && ['cluster', 'env','lookup_options'].include?(key)
|
11
13
|
data = @cache.read_file(yamlfile, Hash) do |data|
|
12
14
|
YAML.load(data) || {}
|
13
15
|
end
|
@@ -153,6 +153,10 @@ module Minfra
|
|
153
153
|
backends: ENV.fetch('MINFRA_HIERA_BACKENDS','').split(',')
|
154
154
|
)
|
155
155
|
end
|
156
|
+
unless @envs[@env_name]
|
157
|
+
@logger.error("Environment '#{@env_name}' not found")
|
158
|
+
raise Errors::EnvNotFound.new(@env_name)
|
159
|
+
end
|
156
160
|
@env = @envs[@env_name] # set the current env
|
157
161
|
end
|
158
162
|
|
data/lib/minfra/cli/errors.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'English'
|
4
|
+
# require 'debug'
|
4
5
|
module Minfra
|
5
6
|
module Cli
|
6
7
|
class HieraLooker
|
@@ -12,11 +13,10 @@ module Minfra
|
|
12
13
|
|
13
14
|
@hiera = Hiera.new(config: @root.join('hiera.yaml').to_s)
|
14
15
|
# now that hiera has loaded the backends let's patch 'em
|
15
|
-
require 'minfra/cli/hiera_yaml_backend_patch' if defined?(Hiera::Backend::Yaml_backend)
|
16
16
|
|
17
17
|
Hiera.logger = :noop
|
18
18
|
if backends && !backends.empty?
|
19
|
-
@hiera.config[:backends] = backends
|
19
|
+
@hiera.config[:backends] = backends
|
20
20
|
Hiera::Config.load_backends
|
21
21
|
end
|
22
22
|
|
@@ -25,11 +25,11 @@ module Minfra
|
|
25
25
|
raise("unknown environment #{@env_name}, I expect a file at #{hiera_main_path}") unless hiera_main_path.exist?
|
26
26
|
|
27
27
|
scope = { 'hieraroot' => @root.to_s, 'env' => @env_name }
|
28
|
+
# we have to do this first as the hierarchy definitions only are valid if with the env variables injected
|
29
|
+
node_scope = @hiera.lookup('env', {}, scope, nil, :priority)
|
30
|
+
@scope = scope.merge(node_scope)
|
28
31
|
|
29
32
|
@special_lookups = @hiera.lookup('lookup_options', {}, scope, nil, :priority)
|
30
|
-
|
31
|
-
node_scope = @hiera.lookup('env', {}, scope, nil, :deeper)
|
32
|
-
@scope = scope.merge(node_scope)
|
33
33
|
@debug_lookups = debug_lookups
|
34
34
|
debug("hiera: scope -> #{@scope}") if @debug_lookups
|
35
35
|
end
|
data/lib/minfra/cli/version.rb
CHANGED
data/lib/minfra/cli.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minfra-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Schrammel
|
@@ -182,6 +182,7 @@ files:
|
|
182
182
|
- exe/minfra
|
183
183
|
- lib/deep_merge.rb
|
184
184
|
- lib/hash.rb
|
185
|
+
- lib/hiera/backend/yeaml_backend.rb
|
185
186
|
- lib/minfra/cli.rb
|
186
187
|
- lib/minfra/cli/ask.rb
|
187
188
|
- lib/minfra/cli/cli_starter.rb
|
@@ -205,7 +206,6 @@ files:
|
|
205
206
|
- lib/minfra/cli/errors.rb
|
206
207
|
- lib/minfra/cli/helm_runner.rb
|
207
208
|
- lib/minfra/cli/hiera_looker.rb
|
208
|
-
- lib/minfra/cli/hiera_yaml_backend_patch.rb
|
209
209
|
- lib/minfra/cli/hook.rb
|
210
210
|
- lib/minfra/cli/kubectl_runner.rb
|
211
211
|
- lib/minfra/cli/logging.rb
|