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