terraspace 0.7.1 → 1.0.2

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 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