tfw 0.1.4 → 0.1.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/.rubocop.yml +3 -0
- data/.tfw/.terraform/plugins/darwin_amd64/lock.json +3 -0
- data/.tfw/.terraform/plugins/darwin_amd64/terraform-provider-local_v1.4.0_x4 +0 -0
- data/.tfw/stack.tf +8 -0
- data/.tfw/terraform.tfstate +31 -0
- data/.tfw/terraform.tfstate.backup +31 -0
- data/1.rb +10 -0
- data/Gemfile.lock +1 -1
- data/exe/tfw +1 -1
- data/lib/tfw/version.rb +1 -1
- data/lib/tfw.rb +23 -2
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz: '
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '04327592308f84a5cd087ac6d1385678981de535135669eb93d861c3211bb394'
|
4
|
+
data.tar.gz: 867076ea55ba99cb609049889394542fb3611e24bc7dd662429838a487058040
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a8a78032dc0de80c686ef3940ee16dec65ffc9d30cdb841adfad91424a5d0a2913c2c10d0ffa1dcd2c2cd9aa134a61e793c1d995c4294c50ac9d53459114ed7
|
7
|
+
data.tar.gz: da680333c8a47885df927380a6063322232aea0c10a14f3b6f5cd290ce237384a2100f2e4e390c7f9cba5ab172a37489d9439c492378679a398b97da4a719393
|
data/.rubocop.yml
CHANGED
data/.tfw/stack.tf
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
{
|
2
|
+
"version": 4,
|
3
|
+
"terraform_version": "0.12.19",
|
4
|
+
"serial": 4,
|
5
|
+
"lineage": "41e2c065-b72a-ec1e-a24f-369255a4afdc",
|
6
|
+
"outputs": {},
|
7
|
+
"resources": [
|
8
|
+
{
|
9
|
+
"mode": "managed",
|
10
|
+
"type": "local_file",
|
11
|
+
"name": "foo",
|
12
|
+
"provider": "provider.local",
|
13
|
+
"instances": [
|
14
|
+
{
|
15
|
+
"status": "tainted",
|
16
|
+
"schema_version": 0,
|
17
|
+
"attributes": {
|
18
|
+
"content": "foo",
|
19
|
+
"content_base64": null,
|
20
|
+
"directory_permission": "0777",
|
21
|
+
"file_permission": "0777",
|
22
|
+
"filename": "/tmp/foo",
|
23
|
+
"id": "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33",
|
24
|
+
"sensitive_content": null
|
25
|
+
},
|
26
|
+
"private": "bnVsbA=="
|
27
|
+
}
|
28
|
+
]
|
29
|
+
}
|
30
|
+
]
|
31
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
{
|
2
|
+
"version": 4,
|
3
|
+
"terraform_version": "0.12.19",
|
4
|
+
"serial": 3,
|
5
|
+
"lineage": "41e2c065-b72a-ec1e-a24f-369255a4afdc",
|
6
|
+
"outputs": {},
|
7
|
+
"resources": [
|
8
|
+
{
|
9
|
+
"mode": "managed",
|
10
|
+
"type": "local_file",
|
11
|
+
"name": "foo",
|
12
|
+
"provider": "provider.local",
|
13
|
+
"instances": [
|
14
|
+
{
|
15
|
+
"status": "tainted",
|
16
|
+
"schema_version": 0,
|
17
|
+
"attributes": {
|
18
|
+
"content": "foo",
|
19
|
+
"content_base64": null,
|
20
|
+
"directory_permission": "0777",
|
21
|
+
"file_permission": "0777",
|
22
|
+
"filename": "/tmp/foo",
|
23
|
+
"id": "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33",
|
24
|
+
"sensitive_content": null
|
25
|
+
},
|
26
|
+
"private": "bnVsbA=="
|
27
|
+
}
|
28
|
+
]
|
29
|
+
}
|
30
|
+
]
|
31
|
+
}
|
data/1.rb
ADDED
data/Gemfile.lock
CHANGED
data/exe/tfw
CHANGED
data/lib/tfw/version.rb
CHANGED
data/lib/tfw.rb
CHANGED
@@ -30,17 +30,38 @@ module TFW
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def cli(args)
|
33
|
-
|
33
|
+
build_config
|
34
|
+
run_terraform args
|
35
|
+
end
|
34
36
|
|
37
|
+
def build_config
|
38
|
+
FileUtils.mkdir_p WORKSPACE
|
39
|
+
stack = TFW.get_stack_for_dir '.'
|
35
40
|
stack_file = "#{WORKSPACE}/stack.tf"
|
36
41
|
write_stack_file stack_file, stack
|
42
|
+
end
|
37
43
|
|
44
|
+
def run_terraform(args)
|
38
45
|
old_dir = Dir.pwd
|
39
46
|
Dir.chdir WORKSPACE
|
40
47
|
|
41
48
|
cmd = "terraform #{args.join ' '}"
|
42
|
-
|
49
|
+
pid = fork { exec cmd }
|
43
50
|
Dir.chdir old_dir
|
51
|
+
trap_pids [pid]
|
52
|
+
Process.wait pid
|
53
|
+
$?.exitstatus
|
54
|
+
end
|
55
|
+
|
56
|
+
def trap_pids(pids)
|
57
|
+
%w[SIGINT SIGTERM].each do |sig|
|
58
|
+
Signal.trap sig do
|
59
|
+
pids.each { |pid| Process.kill sig, pid }
|
60
|
+
Process.waitall
|
61
|
+
puts "ERROR: TFW received and forwarded #{sig} to terraform"
|
62
|
+
exit 2
|
63
|
+
end
|
64
|
+
end
|
44
65
|
end
|
45
66
|
|
46
67
|
def load_module(stack, &block)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tfw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tiago Lopo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-02-
|
11
|
+
date: 2020-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tfdsl
|
@@ -118,7 +118,13 @@ extra_rdoc_files: []
|
|
118
118
|
files:
|
119
119
|
- ".gitignore"
|
120
120
|
- ".rubocop.yml"
|
121
|
+
- ".tfw/.terraform/plugins/darwin_amd64/lock.json"
|
122
|
+
- ".tfw/.terraform/plugins/darwin_amd64/terraform-provider-local_v1.4.0_x4"
|
123
|
+
- ".tfw/stack.tf"
|
124
|
+
- ".tfw/terraform.tfstate"
|
125
|
+
- ".tfw/terraform.tfstate.backup"
|
121
126
|
- ".travis.yml"
|
127
|
+
- 1.rb
|
122
128
|
- CODE_OF_CONDUCT.md
|
123
129
|
- Gemfile
|
124
130
|
- Gemfile.lock
|