terraspace 0.7.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76da9d45bca8d1ad5ec798462dbb9514d7e5640fd2d52d2f1a715bd284055f87
4
- data.tar.gz: 7cd5141081e5603f61aff44df2c33508af60128efa0702d61df1efda131e09c5
3
+ metadata.gz: d0161019335d6d328b768dc5f50962776c3f1f9c9d28f1e963b082fe457f45ab
4
+ data.tar.gz: 520f8388b0814c8fe29781768cd7c390ddfdf011ba48150d8b2052f8b674b738
5
5
  SHA512:
6
- metadata.gz: c37c0a02187670548173b41b268af969fbf340408589a5eb0b6104742fc9ba96b5a7c00b8e481366059946637e3f5933cfdbb9dac63a222c6069b068c183b8df
7
- data.tar.gz: 047c71a46f1cb23eae9756aa9c042197ec697fa08d821ea77fcf701f6aa6faf02915696f380cd7dc0a0ee1700e468dfea549f756fa9f6bd7257a07199feb8aae
6
+ metadata.gz: e4b2c9e7285e22d0e3b1e97191a181694c85c0ff185798be9320ee3783c422d380b3ee1ca4b1a15893baf215c74618890b87416f0ab5dd5ec8524a8af438bae4
7
+ data.tar.gz: fd33e4677f1f0aefeb2bad8e9470d8eca758d16da98615d8889076930b27b4ccba43dae144521bf5ea324cb4d0c0e7cd93681c8c2925ba41ff644858672d78cd
data/CHANGELOG.md CHANGED
@@ -3,6 +3,44 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
5
5
 
6
+ ## [1.0.2] - 2022-01-17
7
+ - [#190](https://github.com/boltops-tools/terraspace/pull/190) update terraspace-bundler gem depedency to 0.5.0
8
+
9
+ ## [1.0.1] - 2022-01-15
10
+ - [#189](https://github.com/boltops-tools/terraspace/pull/189) dotenv support
11
+
12
+ ## [1.0.0] - 2022-01-08
13
+ Highlights:
14
+ - Non-cloud provider support
15
+ - Better passthrough terraspace options to terraform. Pretty much all terraform options are now supported.
16
+ - Remove `terraspace_plugin_*` gem dependencies out of core
17
+ - Improve top CLI help: group main commands at top
18
+
19
+ Details:
20
+ - [#168](https://github.com/boltops-tools/terraspace/pull/168) terraspace new example command
21
+ - [#169](https://github.com/boltops-tools/terraspace/pull/169) fix new plugin generator, use right include Helper
22
+ - [#170](https://github.com/boltops-tools/terraspace/pull/170) remove project --test-structure option in favor of terraspace new test --type project
23
+ - [#171](https://github.com/boltops-tools/terraspace/pull/171) improve cli help: group main commands at top
24
+ - [#172](https://github.com/boltops-tools/terraspace/pull/172) better wrap and pass through terraform args
25
+ - [#173](https://github.com/boltops-tools/terraspace/pull/173) remove `terraspace_plugin_*` gem dependencies out of core
26
+ - [#174](https://github.com/boltops-tools/terraspace/pull/174) support non-cloud providers and backends
27
+ - [#175](https://github.com/boltops-tools/terraspace/pull/175) Pass args cleanup
28
+ - [#176](https://github.com/boltops-tools/terraspace/pull/176) fix new example command
29
+ - [#177](https://github.com/boltops-tools/terraspace/pull/177) Shim message
30
+ - [#178](https://github.com/boltops-tools/terraspace/pull/178) fix no backend.tf src file case
31
+ - [#179](https://github.com/boltops-tools/terraspace/pull/179) terraspace check setup command
32
+ - [#180](https://github.com/boltops-tools/terraspace/pull/180) hide check_setup command
33
+ - [#181](https://github.com/boltops-tools/terraspace/pull/181) generator improvements: core examples for plugin=none. creates simple random_pet
34
+ - [#182](https://github.com/boltops-tools/terraspace/pull/182) move backend auto creation to runner stage
35
+ - [#183](https://github.com/boltops-tools/terraspace/pull/183) fix example generator lang option
36
+ - allow --version command to run outside terraspace project
37
+ - allow terraspace -help to work also
38
+ - friendly shim message for gem dependency resolution errors
39
+ - Pretty much release 0.7.x
40
+
41
+ ## [0.7.2] - 2022-01-05
42
+ - [#187](https://github.com/boltops-tools/terraspace/pull/187) put thor cli options at the end
43
+
6
44
  ## [0.7.1] - 2022-01-04
7
45
  - [#185](https://github.com/boltops-tools/terraspace/pull/185) pass value through untouch when expand method not defined
8
46
 
data/README.md CHANGED
@@ -8,18 +8,22 @@
8
8
 
9
9
  [![BoltOps Badge](https://img.boltops.com/boltops/badges/boltops-badge.png)](https://www.boltops.com)
10
10
 
11
- The Terraform Framework.
11
+ [![BoltOps Learn Badge](https://img.boltops.com/boltops-learn/boltops-learn.png)](https://learn.boltops.com)
12
+
12
13
 
13
- Please **watch/star** this repo to help grow and support the project.
14
+ The Terraform Framework.
14
15
 
15
16
  Official Docs Site: [terraspace.cloud](https://terraspace.cloud)
16
17
 
17
- Quick Start Demo:
18
+ ## Support the Project
18
19
 
19
- [![Watch the video](https://img.boltops.com/boltops/tools/terraspace/youtube/terraspace-quick-start.png)](https://learn.boltops.com/courses/terraspace-fundamentals/lessons/terraspace-quick-start)
20
+ * Please **watch/star** this repo to help grow and support the project.
21
+ * Consider subscribing to [BoltOps Learn](https://learn.boltops.com/). You'll get access to many training videos. Subscribing helps support the project.
20
22
 
21
23
  ## Quick Start
22
24
 
25
+ [![Watch the video](https://img.boltops.com/boltops/tools/terraspace/youtube/terraspace-quick-start.png)](https://learn.boltops.com/courses/terraspace-fundamentals/lessons/terraspace-quick-start)
26
+
23
27
  Here are commands to get started:
24
28
 
25
29
  terraspace new project infra --plugin aws --examples
@@ -13,6 +13,7 @@ terraform.tfvars
13
13
  # Common ruby files
14
14
  *.gem
15
15
  *.rbc
16
+ .env*
16
17
  .idea
17
18
  /.bundle
18
19
  /.config
@@ -1,6 +1,7 @@
1
1
  module Terraspace
2
2
  module Booter
3
3
  def boot
4
+ Dotenv.new.load!
4
5
  run_hooks
5
6
  Terraspace::Bundle.require # load plugins
6
7
  load_plugin_default_configs
@@ -0,0 +1,25 @@
1
+ require 'dotenv'
2
+
3
+ module Terraspace
4
+ class Dotenv
5
+ def load!
6
+ ::Dotenv.load(*files)
7
+ end
8
+
9
+ # dotenv files with the following precedence:
10
+ #
11
+ # - .env.dev.local - Highest precedence
12
+ # - .env.dev
13
+ # - .env.local
14
+ # - .env - Lowest precedence
15
+ #
16
+ def files
17
+ [
18
+ ".env.#{Terraspace.env}.local",
19
+ ".env.#{Terraspace.env}",
20
+ ".env.local",
21
+ ".env",
22
+ ].compact
23
+ end
24
+ end
25
+ end
@@ -18,7 +18,7 @@ module Terraspace::Terraform
18
18
 
19
19
  # default at end in case of redirection. IE: terraform output > /path
20
20
  def args
21
- args = custom.args + thor.args + pass.args
21
+ args = custom.args + pass.args + thor.args
22
22
  args.uniq
23
23
  end
24
24
 
@@ -28,18 +28,18 @@ module Terraspace::Terraform
28
28
  end
29
29
  memoize :custom
30
30
 
31
- # From Thor defined/managed cli @options
32
- def thor
33
- Args::Thor.new(@mod, @name, @options)
34
- end
35
- memoize :thor
36
-
37
31
  # From Thor passthrough cli @options[:args]
38
32
  def pass
39
33
  Args::Pass.new(@mod, @name, @options)
40
34
  end
41
35
  memoize :pass
42
36
 
37
+ # From Thor defined/managed cli @options
38
+ def thor
39
+ Args::Thor.new(@mod, @name, @options)
40
+ end
41
+ memoize :thor
42
+
43
43
  def terraform(name, *args)
44
44
  current_dir_message # only show once
45
45
 
@@ -1,3 +1,3 @@
1
1
  module Terraspace
2
- VERSION = "0.7.1"
2
+ VERSION = "1.0.2"
3
3
  end
data/terraspace.gemspec CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency "bundler"
23
23
  spec.add_dependency "cli-format"
24
24
  spec.add_dependency "deep_merge"
25
+ spec.add_dependency "dotenv"
25
26
  spec.add_dependency "dsl_evaluator"
26
27
  spec.add_dependency "eventmachine-tail"
27
28
  spec.add_dependency "graph"
@@ -30,13 +31,13 @@ Gem::Specification.new do |spec|
30
31
  spec.add_dependency "rainbow"
31
32
  spec.add_dependency "render_me_pretty"
32
33
  spec.add_dependency "rexml"
33
- spec.add_dependency "terraspace-bundler", "~> 0.4.4"
34
+ spec.add_dependency "terraspace-bundler", ">= 0.5.0"
34
35
  spec.add_dependency "thor"
35
36
  spec.add_dependency "tty-tree"
36
37
  spec.add_dependency "zeitwerk"
37
38
 
38
39
  # core baseline plugins
39
- spec.add_dependency "rspec-terraspace", "~> 0.3.0"
40
+ spec.add_dependency "rspec-terraspace", ">= 0.3.1"
40
41
 
41
42
  spec.add_development_dependency "bundler"
42
43
  spec.add_development_dependency "byebug"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terraspace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-04 00:00:00.000000000 Z
11
+ date: 2022-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: dotenv
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: dsl_evaluator
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -182,16 +196,16 @@ dependencies:
182
196
  name: terraspace-bundler
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
- - - "~>"
199
+ - - ">="
186
200
  - !ruby/object:Gem::Version
187
- version: 0.4.4
201
+ version: 0.5.0
188
202
  type: :runtime
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
- - - "~>"
206
+ - - ">="
193
207
  - !ruby/object:Gem::Version
194
- version: 0.4.4
208
+ version: 0.5.0
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: thor
197
211
  requirement: !ruby/object:Gem::Requirement
@@ -238,16 +252,16 @@ dependencies:
238
252
  name: rspec-terraspace
239
253
  requirement: !ruby/object:Gem::Requirement
240
254
  requirements:
241
- - - "~>"
255
+ - - ">="
242
256
  - !ruby/object:Gem::Version
243
- version: 0.3.0
257
+ version: 0.3.1
244
258
  type: :runtime
245
259
  prerelease: false
246
260
  version_requirements: !ruby/object:Gem::Requirement
247
261
  requirements:
248
- - - "~>"
262
+ - - ">="
249
263
  - !ruby/object:Gem::Version
250
- version: 0.3.0
264
+ version: 0.3.1
251
265
  - !ruby/object:Gem::Dependency
252
266
  name: bundler
253
267
  requirement: !ruby/object:Gem::Requirement
@@ -635,6 +649,7 @@ files:
635
649
  - lib/terraspace/dependency/helper/output.rb
636
650
  - lib/terraspace/dependency/node.rb
637
651
  - lib/terraspace/dependency/registry.rb
652
+ - lib/terraspace/dotenv.rb
638
653
  - lib/terraspace/ext.rb
639
654
  - lib/terraspace/ext/bundler.rb
640
655
  - lib/terraspace/ext/core/module.rb