TerraformDevKit 0.3.5 → 0.3.6
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/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
|