dh-proteus 0.3.6 → 0.4.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/proteus/backend/backend.rb +4 -0
- data/lib/proteus/commands/render.rb +3 -0
- data/lib/proteus/commands/untaint.rb +31 -0
- data/lib/proteus/common.rb +2 -0
- data/lib/proteus/modules/manager.rb +3 -1
- data/lib/proteus/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 198ea1d92f009a7ed877e1cb46329ba10b5c4855e79c1c856f08dfc9420c2118
|
4
|
+
data.tar.gz: 5c73915240e65f69392002661ced9663dce724dd9822347a50b69107869d2a30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56a2d03c731dfa1ba3f810c22feba6e243e665c2b9e7faef70f9e129f6c787af34e1d80e1ec77f43b6dc54e94f45710905320dac4d42344d1bbc41069cc6ccc3
|
7
|
+
data.tar.gz: f82e55e042534ea910ea64450b91023f336212e7d2d08966052074bd06c400902dd460ae4ec5bfde63e7ac957f0e752d540d937b408a8c7f93a77851aff4f11c
|
@@ -79,6 +79,10 @@ module Proteus
|
|
79
79
|
key = "<%= @config[:backend][@backend_key][:key_prefix] %>#{@context}-#{@environment}.tfstate"
|
80
80
|
region = "<%= @config[:backend][@backend_key][:bucket][:region] %>"
|
81
81
|
profile = "<%= @config[:backend][@backend_key][:profile]%>"
|
82
|
+
<%- if (@config[:backend][@backend_key].keys & ["encrypt", "kms_key_id"]).size == 2 -%>
|
83
|
+
encrypt = true
|
84
|
+
kms_key_id = "<%= @config[:backend][@backend_key][:kms_key_id] %>"
|
85
|
+
<%- end -%>
|
82
86
|
}
|
83
87
|
}
|
84
88
|
TEMPLATE
|
@@ -10,6 +10,7 @@ module Proteus
|
|
10
10
|
long_desc <<-LONGDESC
|
11
11
|
Renders the module templates without running Terraform
|
12
12
|
LONGDESC
|
13
|
+
option :init, type: :boolean, default: false
|
13
14
|
def render
|
14
15
|
render_backend
|
15
16
|
module_manager = Proteus::Modules::Manager.new(context: context, environment: environment)
|
@@ -26,6 +27,8 @@ module Proteus
|
|
26
27
|
suppress: true
|
27
28
|
)
|
28
29
|
|
30
|
+
init(verbose: parent_options[:verbose]) if options[:init]
|
31
|
+
|
29
32
|
say "Formatted files:", :green
|
30
33
|
say fmt_output, :green
|
31
34
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Proteus
|
2
|
+
module Commands
|
3
|
+
module Untaint
|
4
|
+
def self.included(thor_class)
|
5
|
+
thor_class.class_eval do
|
6
|
+
|
7
|
+
desc "untaint", "Untaints an existing resource"
|
8
|
+
long_desc <<-LONGDESC
|
9
|
+
Untaints an existing resource
|
10
|
+
|
11
|
+
--resource The resource to untaint
|
12
|
+
LONGDESC
|
13
|
+
option :resource, type: :string, aliases: "-r", required: true
|
14
|
+
def untaint
|
15
|
+
init(verbose: parent_options[:verbose])
|
16
|
+
confirm question: "Do you really want to run 'terraform untaint' on environment '#{environment}' in context '#{context}'?", color: :on_red, exit_code: 0 do
|
17
|
+
|
18
|
+
untaint_command = <<~UNTAINT_COMMAND
|
19
|
+
cd #{context_path(context)} && \
|
20
|
+
terraform untaint \
|
21
|
+
#{options[:resource]}
|
22
|
+
UNTAINT_COMMAND
|
23
|
+
syscall untaint_command.squeeze(' ')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/proteus/common.rb
CHANGED
@@ -7,6 +7,7 @@ require 'proteus/commands/output'
|
|
7
7
|
require 'proteus/commands/plan'
|
8
8
|
require 'proteus/commands/render'
|
9
9
|
require 'proteus/commands/taint'
|
10
|
+
require 'proteus/commands/untaint'
|
10
11
|
|
11
12
|
module Proteus
|
12
13
|
class Common < Thor
|
@@ -45,6 +46,7 @@ module Proteus
|
|
45
46
|
`rm -rf #{context_path(context)}/.terraform/*.tf*`
|
46
47
|
`rm -rf #{context_path(context)}/.terraform/modules`
|
47
48
|
`rm -rf #{context_path(context)}/terraform.tfstate*`
|
49
|
+
`rm -rf #{context_path(context)}/.terraform.lock.hcl`
|
48
50
|
|
49
51
|
terraform_command = <<~TERRAFORM_COMMAND
|
50
52
|
cd #{context_path(context)} && \
|
@@ -35,7 +35,9 @@ module Proteus
|
|
35
35
|
if tfvars_content.empty?
|
36
36
|
terraform_variables = []
|
37
37
|
else
|
38
|
-
terraform_variables = JSON.parse(parse_tfvars(tfvars: tfvars_content))
|
38
|
+
terraform_variables = JSON.parse(parse_tfvars(tfvars: tfvars_content)).merge({
|
39
|
+
'proteus_environment' => @environment
|
40
|
+
})
|
39
41
|
end
|
40
42
|
|
41
43
|
@modules = []
|
data/lib/proteus/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dh-proteus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Albrecht
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03
|
11
|
+
date: 2021-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -160,6 +160,7 @@ files:
|
|
160
160
|
- lib/proteus/commands/state/remove.rb
|
161
161
|
- lib/proteus/commands/state/show.rb
|
162
162
|
- lib/proteus/commands/taint.rb
|
163
|
+
- lib/proteus/commands/untaint.rb
|
163
164
|
- lib/proteus/common.rb
|
164
165
|
- lib/proteus/config/config.rb
|
165
166
|
- lib/proteus/context_management/context.rb
|
@@ -214,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
215
|
- !ruby/object:Gem::Version
|
215
216
|
version: '0'
|
216
217
|
requirements: []
|
217
|
-
rubygems_version: 3.2.
|
218
|
+
rubygems_version: 3.2.15
|
218
219
|
signing_key:
|
219
220
|
specification_version: 4
|
220
221
|
summary: Proteus is a Terraform wrapper application.
|