yle_tf 1.1.0 → 1.2.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/lib/yle_tf/action.rb +2 -0
- data/lib/yle_tf/action/tf_hooks.rb +8 -6
- data/lib/yle_tf/action/verify_yle_tf_version.rb +36 -0
- data/lib/yle_tf/config/defaults.rb +3 -0
- data/lib/yle_tf/config/migration.rb +1 -1
- data/lib/yle_tf/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8818ef98a06e9ccd0e7890e54284f0b3640a0ca7a1e5000f951c4f82bb99011
|
4
|
+
data.tar.gz: 3a4ec6e95da88cdea69c5d02d93829a9a777303f46dcd571469ec5866c932d64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1dba1594a58ceff3dc5519f938b9096fd0269e935c0e1443c12be20f16733ff2bb4cc4fc2c0956ba4629e75e579c00ac81638204eea0490520968e97321c2752
|
7
|
+
data.tar.gz: 0655f4e7d53d0cc57008afd7787c8b18ab47986a36d24d36e77fc602feef1e921e9fcdb504a0945e334337478c045891336db0a94c88bfe9942d16c78c089a7a
|
data/lib/yle_tf/action.rb
CHANGED
@@ -12,11 +12,13 @@ class YleTf
|
|
12
12
|
autoload :TmpDir, 'yle_tf/action/tmpdir'
|
13
13
|
autoload :VerifyTerraformVersion, 'yle_tf/action/verify_terraform_version'
|
14
14
|
autoload :VerifyTfEnv, 'yle_tf/action/verify_tf_env'
|
15
|
+
autoload :VerifyYleTfVersion, 'yle_tf/action/verify_yle_tf_version'
|
15
16
|
autoload :WriteTerraformrcDefaults, 'yle_tf/action/write_terraformrc_defaults'
|
16
17
|
|
17
18
|
def self.default_action_stack(command_class = nil)
|
18
19
|
Builder.new do
|
19
20
|
use LoadConfig
|
21
|
+
use VerifyYleTfVersion
|
20
22
|
use VerifyTfEnv
|
21
23
|
use TmpDir
|
22
24
|
use WriteTerraformrcDefaults
|
@@ -3,9 +3,6 @@
|
|
3
3
|
require 'yle_tf/logger'
|
4
4
|
require 'yle_tf/tf_hook/runner'
|
5
5
|
|
6
|
-
require 'yle_tf/logger'
|
7
|
-
require 'yle_tf/tf_hook/runner'
|
8
|
-
|
9
6
|
class YleTf
|
10
7
|
module Action
|
11
8
|
class TfHooks
|
@@ -23,7 +20,7 @@ class YleTf
|
|
23
20
|
|
24
21
|
def hook_runner
|
25
22
|
if run_hooks?
|
26
|
-
TfHook::Runner.new(
|
23
|
+
TfHook::Runner.new(config, hook_env)
|
27
24
|
else
|
28
25
|
NoRunner
|
29
26
|
end
|
@@ -31,11 +28,16 @@ class YleTf
|
|
31
28
|
|
32
29
|
def hook_env
|
33
30
|
{
|
34
|
-
'TF_COMMAND'
|
35
|
-
'TF_ENV'
|
31
|
+
'TF_COMMAND' => @env[:tf_command],
|
32
|
+
'TF_ENV' => @env[:tf_env],
|
33
|
+
'TF_MODULE_DIR' => config.module_dir.to_s,
|
36
34
|
}
|
37
35
|
end
|
38
36
|
|
37
|
+
def config
|
38
|
+
@env[:config]
|
39
|
+
end
|
40
|
+
|
39
41
|
def run_hooks?
|
40
42
|
!@env[:tf_options][:no_hooks]
|
41
43
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'yle_tf/error'
|
4
|
+
require 'yle_tf/logger'
|
5
|
+
require 'yle_tf/version'
|
6
|
+
require 'yle_tf/version_requirement'
|
7
|
+
|
8
|
+
class YleTf
|
9
|
+
module Action
|
10
|
+
class VerifyYleTfVersion
|
11
|
+
def initialize(app)
|
12
|
+
@app = app
|
13
|
+
end
|
14
|
+
|
15
|
+
def call(env)
|
16
|
+
Logger.debug('Verifying YleTf version')
|
17
|
+
|
18
|
+
requirement = requirement(env[:config])
|
19
|
+
verify_version(requirement)
|
20
|
+
|
21
|
+
@app.call(env)
|
22
|
+
end
|
23
|
+
|
24
|
+
def requirement(config)
|
25
|
+
requirement = config.fetch('yle_tf', 'version_requirement') { nil }
|
26
|
+
VersionRequirement.new(requirement)
|
27
|
+
end
|
28
|
+
|
29
|
+
def verify_version(requirement)
|
30
|
+
return if requirement.satisfied_by?(YleTf::VERSION)
|
31
|
+
|
32
|
+
raise Error, "YleTf version '#{YleTf::VERSION}', '#{requirement}' required by config"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -49,7 +49,7 @@ class YleTf
|
|
49
49
|
def deprecation_warning
|
50
50
|
return nil if ENV['TF_OLD_CONFIG_WARNINGS'] == 'false'
|
51
51
|
|
52
|
-
|
52
|
+
lambda do |new_config|
|
53
53
|
Logger.warn("Old configuration found in #{config_source}")
|
54
54
|
Logger.warn("Please migrate to relevant parts of:\n" \
|
55
55
|
"#{sanitize_config(new_config)}")
|
data/lib/yle_tf/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yle_tf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yleisradio
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-01-
|
13
|
+
date: 2019-01-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '2.0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '2.0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: guard-rspec
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- lib/yle_tf/action/tmpdir.rb
|
106
106
|
- lib/yle_tf/action/verify_terraform_version.rb
|
107
107
|
- lib/yle_tf/action/verify_tf_env.rb
|
108
|
+
- lib/yle_tf/action/verify_yle_tf_version.rb
|
108
109
|
- lib/yle_tf/action/write_terraformrc_defaults.rb
|
109
110
|
- lib/yle_tf/backend.rb
|
110
111
|
- lib/yle_tf/cli.rb
|