TerraformDevKit 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/TerraformDevKit/version.rb +1 -1
- data/tasks/devkit.rake +17 -29
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac0b94822f7c2101d5399ef83c58e6e35300c888
|
4
|
+
data.tar.gz: ca5e44187ad6f852b98cdb7bba6692b34fe9c53a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f5f86d877a2d7f76940508fc04be9d2ddfdf47986c046ecb5af838c65b07b75f88d863b04c0d8ed5d3df7131f2806b6eeba6df04d8954ff46a6fc4b035a2ce4
|
7
|
+
data.tar.gz: c05e5318a8b9d1e569a649fcb89bbf5e1b5db91c00ecb7ca560db65e25294dbebe0ff6b1d684b1d98d2d40cd92ff0654dbb1284bd8745aa096bf86cd6f85555a
|
data/README.md
CHANGED
@@ -119,7 +119,7 @@ Additionally, TerraformDevKit allows users to define a set of hooks that will be
|
|
119
119
|
* `post_apply`: invoked after `apply` task runs
|
120
120
|
* `pre_destroy`: invoked before `destroy` task runs
|
121
121
|
* `post_destroy`: invoked after `destroy` task runs
|
122
|
-
* `custom_prepare`: invoked during the preparation process, before terraform is initialized
|
122
|
+
* `custom_prepare`: invoked during the preparation process, before terraform is initialized and the environment folder is created
|
123
123
|
* `custom_test`: invoked during as part of the `test` task, right after `apply` completes.
|
124
124
|
|
125
125
|
### Sample Terraform Templates
|
data/tasks/devkit.rake
CHANGED
@@ -32,11 +32,7 @@ end
|
|
32
32
|
|
33
33
|
def task_in_current_namespace(task_name, current_task)
|
34
34
|
namespace = current_task.scope.path.to_s
|
35
|
-
|
36
|
-
return task_name
|
37
|
-
end
|
38
|
-
|
39
|
-
return "#{namespace}:#{task_name}"
|
35
|
+
namespace.empty? ? task_name : "#{namespace}:#{task_name}"
|
40
36
|
end
|
41
37
|
|
42
38
|
def remote_state
|
@@ -54,13 +50,16 @@ end
|
|
54
50
|
|
55
51
|
desc 'Prepares the environment to create the infrastructure'
|
56
52
|
task :prepare, [:env] do |_, args|
|
57
|
-
puts "== Configuring environment #{args.env}"
|
58
53
|
env = TDK::Environment.new(args.env)
|
59
54
|
|
55
|
+
puts "== Configuring environment #{env.name}"
|
56
|
+
|
60
57
|
config_file = CONFIG_FILE % env.config
|
61
58
|
puts "== Loading configuration from #{config_file}"
|
62
59
|
TDK::Configuration.init(config_file)
|
63
60
|
|
61
|
+
invoke('custom_prepare', task, env.name, safe_invoke: true)
|
62
|
+
|
64
63
|
TDK::TerraformInstaller.install_local(
|
65
64
|
TDK::Configuration.get('terraform-version'),
|
66
65
|
directory: BIN_PATH
|
@@ -77,8 +76,6 @@ task :prepare, [:env] do |_, args|
|
|
77
76
|
remote_state.init(env, project_config)
|
78
77
|
end
|
79
78
|
|
80
|
-
invoke('custom_prepare', task, args.env, safe_invoke: true)
|
81
|
-
|
82
79
|
if File.exist?(File.join(env.working_dir, '.terraform'))
|
83
80
|
get_cmd = 'terraform get'
|
84
81
|
get_cmd += ' -update=true' if TDK::TerraformConfigManager.update_modules?
|
@@ -86,7 +83,6 @@ task :prepare, [:env] do |_, args|
|
|
86
83
|
else
|
87
84
|
init_cmd = 'terraform init'
|
88
85
|
init_cmd += ' -upgrade=false' unless TDK::TerraformConfigManager.update_modules?
|
89
|
-
|
90
86
|
TDK::Command.run(init_cmd, directory: env.working_dir)
|
91
87
|
end
|
92
88
|
end
|
@@ -94,15 +90,12 @@ end
|
|
94
90
|
desc 'Shows the plan to create the infrastructure'
|
95
91
|
task :plan, [:env] => :prepare do |_, args|
|
96
92
|
env = TDK::Environment.new(args.env)
|
97
|
-
|
98
|
-
|
99
|
-
end
|
93
|
+
cmd = "terraform plan -out=#{PLAN_FILE}"
|
94
|
+
TDK::Command.run(cmd, directory: env.working_dir)
|
100
95
|
end
|
101
96
|
|
102
97
|
desc 'Creates the infrastructure'
|
103
98
|
task :apply, [:env] => :prepare do |task, args|
|
104
|
-
invoke('pre_apply', task, args.env, safe_invoke: true)
|
105
|
-
|
106
99
|
env = TDK::Environment.new(args.env)
|
107
100
|
|
108
101
|
invoke('plan', task, env.name)
|
@@ -117,13 +110,14 @@ task :apply, [:env] => :prepare do |task, args|
|
|
117
110
|
end
|
118
111
|
end
|
119
112
|
|
113
|
+
invoke('pre_apply', task, env.name, safe_invoke: true)
|
114
|
+
|
120
115
|
destroy_if_fails(env, task) do
|
121
|
-
|
122
|
-
|
123
|
-
end
|
116
|
+
cmd = "terraform apply \"#{PLAN_FILE}\""
|
117
|
+
TDK::Command.run(cmd, directory: env.working_dir)
|
124
118
|
end
|
125
119
|
|
126
|
-
invoke('post_apply', task,
|
120
|
+
invoke('post_apply', task, env.name, safe_invoke: true)
|
127
121
|
end
|
128
122
|
|
129
123
|
desc 'Tests a local environment'
|
@@ -134,7 +128,7 @@ task :test, [:env] do |task, args|
|
|
134
128
|
invoke('apply', task, env.name)
|
135
129
|
|
136
130
|
destroy_if_fails(env, task) do
|
137
|
-
invoke('custom_test', task,
|
131
|
+
invoke('custom_test', task, env.name, safe_invoke: true)
|
138
132
|
end
|
139
133
|
end
|
140
134
|
|
@@ -150,10 +144,7 @@ end
|
|
150
144
|
|
151
145
|
desc 'Destroys the infrastructure'
|
152
146
|
task :destroy, [:env] => :prepare do |task, args|
|
153
|
-
invoke('pre_destroy', task, args.env, safe_invoke: true)
|
154
|
-
|
155
147
|
env = TDK::Environment.new(args.env)
|
156
|
-
cmd = 'terraform destroy'
|
157
148
|
|
158
149
|
unless env.local_backend?
|
159
150
|
puts Rainbow("\n\n!!!! WARNING !!!!\n\n" \
|
@@ -167,13 +158,10 @@ task :destroy, [:env] => :prepare do |task, args|
|
|
167
158
|
"Response was: #{response}"
|
168
159
|
end
|
169
160
|
end
|
170
|
-
|
171
|
-
cmd += ' -force'
|
172
161
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
invoke('pre_destroy', task, args.env, safe_invoke: true)
|
162
|
+
invoke('pre_destroy', task, env.name, safe_invoke: true)
|
163
|
+
|
164
|
+
TDK::Command.run('terraform destroy -force', directory: env.working_dir)
|
177
165
|
|
178
166
|
unless env.local_backend?
|
179
167
|
project_config = TDK::ProjectConfig.new(
|
@@ -183,7 +171,7 @@ task :destroy, [:env] => :prepare do |task, args|
|
|
183
171
|
remote_state.destroy(env, project_config)
|
184
172
|
end
|
185
173
|
|
186
|
-
invoke('post_destroy', task,
|
174
|
+
invoke('post_destroy', task, env.name, safe_invoke: true)
|
187
175
|
end
|
188
176
|
|
189
177
|
desc 'Cleans an environment (infrastructure is destroyed too)'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: TerraformDevKit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Jimenez
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|