terraspace 0.7.0 → 1.0.1
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/CHANGELOG.md +38 -0
- data/README.md +8 -4
- data/lib/templates/base/project/.gitignore +1 -0
- data/lib/terraspace/booter.rb +1 -0
- data/lib/terraspace/dotenv.rb +25 -0
- data/lib/terraspace/plugin/expander/interface.rb +7 -3
- data/lib/terraspace/terraform/runner.rb +7 -7
- data/lib/terraspace/version.rb +1 -1
- data/terraspace.gemspec +1 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b24e7a97ebf99ac393d03ef6ffec1381fae0508ae2c9f6bbaa9f0d7aad3139c3
|
4
|
+
data.tar.gz: 5f553f4265a69128ef74dc7fdf22ea1dafbe0b2f73396fa4fa9b98cfcf24060a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2cd672d6cd5bafdb40f2275a4ee34eab50ac3855b4df2ee535a89b3732f1fda7f07693da14bf2d9c82d49ae07871debdc115aca4e175068148917fa37b6694ec
|
7
|
+
data.tar.gz: b3103984ef841b2082abf33fd84505db942e09b1a6a8bd0ca0a45774dbb018a31c202f1a3cf9fb0c7a87f1a51abf3825acbd12b325fa12264150d42deb323af8
|
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.1] - 2022-01-15
|
7
|
+
- [#189](https://github.com/boltops-tools/terraspace/pull/189) dotenv support
|
8
|
+
|
9
|
+
## [1.0.0] - 2022-01-08
|
10
|
+
Highlights:
|
11
|
+
- Non-cloud provider support
|
12
|
+
- Better passthrough terraspace options to terraform. Pretty much all terraform options are now supported.
|
13
|
+
- Remove `terraspace_plugin_*` gem dependencies out of core
|
14
|
+
- Improve top CLI help: group main commands at top
|
15
|
+
|
16
|
+
Details:
|
17
|
+
- [#168](https://github.com/boltops-tools/terraspace/pull/168) terraspace new example command
|
18
|
+
- [#169](https://github.com/boltops-tools/terraspace/pull/169) fix new plugin generator, use right include Helper
|
19
|
+
- [#170](https://github.com/boltops-tools/terraspace/pull/170) remove project --test-structure option in favor of terraspace new test --type project
|
20
|
+
- [#171](https://github.com/boltops-tools/terraspace/pull/171) improve cli help: group main commands at top
|
21
|
+
- [#172](https://github.com/boltops-tools/terraspace/pull/172) better wrap and pass through terraform args
|
22
|
+
- [#173](https://github.com/boltops-tools/terraspace/pull/173) remove `terraspace_plugin_*` gem dependencies out of core
|
23
|
+
- [#174](https://github.com/boltops-tools/terraspace/pull/174) support non-cloud providers and backends
|
24
|
+
- [#175](https://github.com/boltops-tools/terraspace/pull/175) Pass args cleanup
|
25
|
+
- [#176](https://github.com/boltops-tools/terraspace/pull/176) fix new example command
|
26
|
+
- [#177](https://github.com/boltops-tools/terraspace/pull/177) Shim message
|
27
|
+
- [#178](https://github.com/boltops-tools/terraspace/pull/178) fix no backend.tf src file case
|
28
|
+
- [#179](https://github.com/boltops-tools/terraspace/pull/179) terraspace check setup command
|
29
|
+
- [#180](https://github.com/boltops-tools/terraspace/pull/180) hide check_setup command
|
30
|
+
- [#181](https://github.com/boltops-tools/terraspace/pull/181) generator improvements: core examples for plugin=none. creates simple random_pet
|
31
|
+
- [#182](https://github.com/boltops-tools/terraspace/pull/182) move backend auto creation to runner stage
|
32
|
+
- [#183](https://github.com/boltops-tools/terraspace/pull/183) fix example generator lang option
|
33
|
+
- allow --version command to run outside terraspace project
|
34
|
+
- allow terraspace -help to work also
|
35
|
+
- friendly shim message for gem dependency resolution errors
|
36
|
+
- Pretty much release 0.7.x
|
37
|
+
|
38
|
+
## [0.7.2] - 2022-01-05
|
39
|
+
- [#187](https://github.com/boltops-tools/terraspace/pull/187) put thor cli options at the end
|
40
|
+
|
41
|
+
## [0.7.1] - 2022-01-04
|
42
|
+
- [#185](https://github.com/boltops-tools/terraspace/pull/185) pass value through untouch when expand method not defined
|
43
|
+
|
6
44
|
## [0.7.0] - 2021-12-30
|
7
45
|
Highlights:
|
8
46
|
- Non-cloud provider support
|
data/README.md
CHANGED
@@ -8,18 +8,22 @@
|
|
8
8
|
|
9
9
|
[](https://www.boltops.com)
|
10
10
|
|
11
|
-
|
11
|
+
[](https://learn.boltops.com)
|
12
|
+
|
12
13
|
|
13
|
-
|
14
|
+
The Terraform Framework.
|
14
15
|
|
15
16
|
Official Docs Site: [terraspace.cloud](https://terraspace.cloud)
|
16
17
|
|
17
|
-
|
18
|
+
## Support the Project
|
18
19
|
|
19
|
-
|
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
|
+
[](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
|
data/lib/terraspace/booter.rb
CHANGED
@@ -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
|
@@ -76,9 +76,13 @@ module Terraspace::Plugin::Expander
|
|
76
76
|
.sub('TMP_KEEP_HTTP', '://') # restore :// IE: https:// or http://
|
77
77
|
end
|
78
78
|
|
79
|
-
def var_value(
|
80
|
-
name =
|
81
|
-
|
79
|
+
def var_value(unexpanded)
|
80
|
+
name = unexpanded.sub(':','').downcase
|
81
|
+
if respond_to?(name)
|
82
|
+
value = send(name).to_s
|
83
|
+
else
|
84
|
+
return unexpanded
|
85
|
+
end
|
82
86
|
if name == "namespace" && Terraspace.config.layering.enable_names.expansion
|
83
87
|
value = friendly_name(value)
|
84
88
|
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 +
|
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
|
|
data/lib/terraspace/version.rb
CHANGED
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"
|
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.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-15 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
|
@@ -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
|