terraspace 0.5.8 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE.md +2 -2
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +4 -3
  4. data/.github/ISSUE_TEMPLATE/question.md +2 -2
  5. data/CHANGELOG.md +32 -7
  6. data/README.md +2 -0
  7. data/lib/terraspace.rb +1 -0
  8. data/lib/terraspace/all/grapher.rb +21 -4
  9. data/lib/terraspace/app.rb +36 -14
  10. data/lib/terraspace/app/inits.rb +13 -0
  11. data/lib/terraspace/booter.rb +1 -0
  12. data/lib/terraspace/cli.rb +13 -6
  13. data/lib/terraspace/cli/build/placeholder.rb +6 -1
  14. data/lib/terraspace/cli/commander.rb +1 -1
  15. data/lib/terraspace/cli/down.rb +1 -1
  16. data/lib/terraspace/cli/help/{cloud → tfc}/destroy.md +1 -1
  17. data/lib/terraspace/cli/help/{cloud → tfc}/list.md +1 -1
  18. data/lib/terraspace/cli/help/{cloud → tfc}/runs/list.md +3 -3
  19. data/lib/terraspace/cli/help/{cloud → tfc}/runs/prune.md +3 -3
  20. data/lib/terraspace/cli/help/{cloud → tfc}/sync.md +3 -3
  21. data/lib/terraspace/cli/init.rb +21 -8
  22. data/lib/terraspace/cli/state.rb +10 -0
  23. data/lib/terraspace/cli/{cloud.rb → tfc.rb} +3 -3
  24. data/lib/terraspace/cli/{cloud → tfc}/runs.rb +4 -4
  25. data/lib/terraspace/cli/up.rb +5 -3
  26. data/lib/terraspace/compiler/builder.rb +2 -0
  27. data/lib/terraspace/compiler/dirs_concern.rb +11 -1
  28. data/lib/terraspace/compiler/select.rb +28 -0
  29. data/lib/terraspace/compiler/strategy/tfvar.rb +16 -4
  30. data/lib/terraspace/compiler/strategy/tfvar/layer.rb +75 -52
  31. data/lib/terraspace/layering.rb +24 -0
  32. data/lib/terraspace/logger.rb +8 -1
  33. data/lib/terraspace/mod.rb +18 -3
  34. data/lib/terraspace/plugin/expander/friendly.rb +10 -0
  35. data/lib/terraspace/plugin/expander/interface.rb +6 -1
  36. data/lib/terraspace/plugin/summary/interface.rb +1 -1
  37. data/lib/terraspace/shell.rb +16 -1
  38. data/lib/terraspace/shell/error.rb +1 -1
  39. data/lib/terraspace/terraform/api/runs.rb +13 -2
  40. data/lib/terraspace/terraform/api/token.rb +2 -2
  41. data/lib/terraspace/terraform/api/var.rb +1 -1
  42. data/lib/terraspace/terraform/api/vars.rb +1 -1
  43. data/lib/terraspace/terraform/api/vars/base.rb +2 -0
  44. data/lib/terraspace/terraform/api/vars/json.rb +13 -1
  45. data/lib/terraspace/terraform/api/workspace.rb +10 -3
  46. data/lib/terraspace/terraform/args/default.rb +23 -13
  47. data/lib/terraspace/terraform/ihooks/after/plan.rb +17 -0
  48. data/lib/terraspace/terraform/ihooks/base.rb +8 -0
  49. data/lib/terraspace/terraform/ihooks/before/plan.rb +14 -0
  50. data/lib/terraspace/terraform/remote_state/fetcher.rb +1 -1
  51. data/lib/terraspace/terraform/runner.rb +12 -0
  52. data/lib/terraspace/terraform/{cloud → tfc}/runs.rb +1 -1
  53. data/lib/terraspace/terraform/{cloud → tfc}/runs/base.rb +1 -1
  54. data/lib/terraspace/terraform/{cloud → tfc}/runs/item_presenter.rb +1 -1
  55. data/lib/terraspace/terraform/{cloud → tfc}/runs/lister.rb +1 -1
  56. data/lib/terraspace/terraform/{cloud → tfc}/runs/pruner.rb +1 -1
  57. data/lib/terraspace/terraform/{cloud → tfc}/sync.rb +2 -2
  58. data/lib/terraspace/terraform/{cloud → tfc}/syncer.rb +1 -1
  59. data/lib/terraspace/terraform/{cloud → tfc}/workspace.rb +2 -3
  60. data/lib/terraspace/util/pretty.rb +2 -1
  61. data/lib/terraspace/version.rb +1 -1
  62. metadata +26 -18
@@ -1,4 +1,4 @@
1
- module Terraspace::Terraform::Cloud
1
+ module Terraspace::Terraform::Tfc
2
2
  class Runs < Terraspace::CLI::Base
3
3
  def list
4
4
  lister = Lister.new(@mod, @options)
@@ -1,4 +1,4 @@
1
- class Terraspace::Terraform::Cloud::Runs
1
+ class Terraspace::Terraform::Tfc::Runs
2
2
  class Base
3
3
  extend Memoist
4
4
  include Terraspace::Util::Logging
@@ -1,4 +1,4 @@
1
- class Terraspace::Terraform::Cloud::Runs
1
+ class Terraspace::Terraform::Tfc::Runs
2
2
  class ItemPresenter
3
3
  attr_reader :id
4
4
  def initialize(raw)
@@ -1,4 +1,4 @@
1
- class Terraspace::Terraform::Cloud::Runs
1
+ class Terraspace::Terraform::Tfc::Runs
2
2
  class Lister < Base
3
3
  def run
4
4
  build_project
@@ -1,4 +1,4 @@
1
- class Terraspace::Terraform::Cloud::Runs
1
+ class Terraspace::Terraform::Tfc::Runs
2
2
  class Pruner < Base
3
3
  include Terraspace::Terraform::Api::Client
4
4
 
@@ -1,4 +1,4 @@
1
- module Terraspace::Terraform::Cloud
1
+ module Terraspace::Terraform::Tfc
2
2
  class Sync < Terraspace::CLI::Base
3
3
  extend Memoist
4
4
  include Terraspace::Terraform::Api::Client
@@ -16,7 +16,7 @@ module Terraspace::Terraform::Cloud
16
16
  # So we check and create the workspace if necessary.
17
17
  def run
18
18
  # Note: workspace still gets created by `terraform init` However, variables wont be sync if returns early
19
- return unless Terraspace.config.cloud.auto_sync || @options[:override_auto_sync]
19
+ return unless Terraspace.config.tfc.auto_sync || @options[:override_auto_sync]
20
20
  return unless workspaces_backend?
21
21
  logger.info "Syncing to Terraform Cloud: #{@mod.name} => #{workspace_name}"
22
22
  @api = Terraspace::Terraform::Api.new(@mod, remote)
@@ -1,4 +1,4 @@
1
- module Terraspace::Terraform::Cloud
1
+ module Terraspace::Terraform::Tfc
2
2
  class Syncer < Terraspace::CLI::Base
3
3
  extend Memoist
4
4
  include Terraspace::Compiler::DirsConcern
@@ -1,4 +1,4 @@
1
- module Terraspace::Terraform::Cloud
1
+ module Terraspace::Terraform::Tfc
2
2
  class Workspace < Terraspace::CLI::Base
3
3
  extend Memoist
4
4
  include Terraspace::Util::Logging
@@ -21,7 +21,7 @@ module Terraspace::Terraform::Cloud
21
21
  end
22
22
 
23
23
  def init
24
- Terraspace::CLI::Init.new(@options.merge(calling_command: "cloud-setup")).run
24
+ Terraspace::CLI::Init.new(@options).run
25
25
  end
26
26
 
27
27
  def create
@@ -72,4 +72,3 @@ module Terraspace::Terraform::Cloud
72
72
  end
73
73
  end
74
74
  end
75
-
@@ -12,7 +12,8 @@ module Terraspace::Util
12
12
  end
13
13
 
14
14
  def pretty_path(path)
15
- ENV['TS_TEST'] ? path : path.sub("#{Terraspace.root}/",'')
15
+ return path if ENV['TS_TEST']
16
+ path.sub("#{Terraspace.root}/",'').sub(ENV['HOME'], '~')
16
17
  end
17
18
  end
18
19
  end
@@ -1,3 +1,3 @@
1
1
  module Terraspace
2
- VERSION = "0.5.8"
2
+ VERSION = "0.6.0"
3
3
  end
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.5.8
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-04 00:00:00.000000000 Z
11
+ date: 2021-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -462,6 +462,7 @@ files:
462
462
  - lib/terraspace/all/summary.rb
463
463
  - lib/terraspace/app.rb
464
464
  - lib/terraspace/app/hooks.rb
465
+ - lib/terraspace/app/inits.rb
465
466
  - lib/terraspace/autoloader.rb
466
467
  - lib/terraspace/booter.rb
467
468
  - lib/terraspace/builder.rb
@@ -478,8 +479,6 @@ files:
478
479
  - lib/terraspace/cli/clean/base.rb
479
480
  - lib/terraspace/cli/clean/cache.rb
480
481
  - lib/terraspace/cli/clean/logs.rb
481
- - lib/terraspace/cli/cloud.rb
482
- - lib/terraspace/cli/cloud/runs.rb
483
482
  - lib/terraspace/cli/commander.rb
484
483
  - lib/terraspace/cli/completer.rb
485
484
  - lib/terraspace/cli/completer/script.rb
@@ -502,11 +501,6 @@ files:
502
501
  - lib/terraspace/cli/help/clean/all.md
503
502
  - lib/terraspace/cli/help/clean/cache.md
504
503
  - lib/terraspace/cli/help/clean/logs.md
505
- - lib/terraspace/cli/help/cloud/destroy.md
506
- - lib/terraspace/cli/help/cloud/list.md
507
- - lib/terraspace/cli/help/cloud/runs/list.md
508
- - lib/terraspace/cli/help/cloud/runs/prune.md
509
- - lib/terraspace/cli/help/cloud/sync.md
510
504
  - lib/terraspace/cli/help/completion.md
511
505
  - lib/terraspace/cli/help/completion_script.md
512
506
  - lib/terraspace/cli/help/console.md
@@ -536,6 +530,11 @@ files:
536
530
  - lib/terraspace/cli/help/show.md
537
531
  - lib/terraspace/cli/help/summary.md
538
532
  - lib/terraspace/cli/help/test.md
533
+ - lib/terraspace/cli/help/tfc/destroy.md
534
+ - lib/terraspace/cli/help/tfc/list.md
535
+ - lib/terraspace/cli/help/tfc/runs/list.md
536
+ - lib/terraspace/cli/help/tfc/runs/prune.md
537
+ - lib/terraspace/cli/help/tfc/sync.md
539
538
  - lib/terraspace/cli/help/up.md
540
539
  - lib/terraspace/cli/help/validate.md
541
540
  - lib/terraspace/cli/info.rb
@@ -562,8 +561,11 @@ files:
562
561
  - lib/terraspace/cli/new/stack.rb
563
562
  - lib/terraspace/cli/new/test.rb
564
563
  - lib/terraspace/cli/seed.rb
564
+ - lib/terraspace/cli/state.rb
565
565
  - lib/terraspace/cli/summary.rb
566
566
  - lib/terraspace/cli/test.rb
567
+ - lib/terraspace/cli/tfc.rb
568
+ - lib/terraspace/cli/tfc/runs.rb
567
569
  - lib/terraspace/cli/tfc_concern.rb
568
570
  - lib/terraspace/cli/up.rb
569
571
  - lib/terraspace/command.rb
@@ -599,6 +601,7 @@ files:
599
601
  - lib/terraspace/compiler/erb/render.rb
600
602
  - lib/terraspace/compiler/expander.rb
601
603
  - lib/terraspace/compiler/helper_extender.rb
604
+ - lib/terraspace/compiler/select.rb
602
605
  - lib/terraspace/compiler/strategy/abstract_base.rb
603
606
  - lib/terraspace/compiler/strategy/mod.rb
604
607
  - lib/terraspace/compiler/strategy/mod/base.rb
@@ -625,6 +628,7 @@ files:
625
628
  - lib/terraspace/hooks/concern.rb
626
629
  - lib/terraspace/hooks/dsl.rb
627
630
  - lib/terraspace/hooks/runner.rb
631
+ - lib/terraspace/layering.rb
628
632
  - lib/terraspace/logger.rb
629
633
  - lib/terraspace/logger/formatter.rb
630
634
  - lib/terraspace/mod.rb
@@ -633,6 +637,7 @@ files:
633
637
  - lib/terraspace/plugin/backend/interface.rb
634
638
  - lib/terraspace/plugin/config/interface.rb
635
639
  - lib/terraspace/plugin/decorator/interface.rb
640
+ - lib/terraspace/plugin/expander/friendly.rb
636
641
  - lib/terraspace/plugin/expander/generic.rb
637
642
  - lib/terraspace/plugin/expander/interface.rb
638
643
  - lib/terraspace/plugin/finder.rb
@@ -664,14 +669,9 @@ files:
664
669
  - lib/terraspace/terraform/args/default.rb
665
670
  - lib/terraspace/terraform/args/dsl.rb
666
671
  - lib/terraspace/terraform/args/shorthands.rb
667
- - lib/terraspace/terraform/cloud/runs.rb
668
- - lib/terraspace/terraform/cloud/runs/base.rb
669
- - lib/terraspace/terraform/cloud/runs/item_presenter.rb
670
- - lib/terraspace/terraform/cloud/runs/lister.rb
671
- - lib/terraspace/terraform/cloud/runs/pruner.rb
672
- - lib/terraspace/terraform/cloud/sync.rb
673
- - lib/terraspace/terraform/cloud/syncer.rb
674
- - lib/terraspace/terraform/cloud/workspace.rb
672
+ - lib/terraspace/terraform/ihooks/after/plan.rb
673
+ - lib/terraspace/terraform/ihooks/base.rb
674
+ - lib/terraspace/terraform/ihooks/before/plan.rb
675
675
  - lib/terraspace/terraform/remote_state/fetcher.rb
676
676
  - lib/terraspace/terraform/remote_state/marker/output.rb
677
677
  - lib/terraspace/terraform/remote_state/marker/pretty_tracer.rb
@@ -679,6 +679,14 @@ files:
679
679
  - lib/terraspace/terraform/remote_state/unresolved.rb
680
680
  - lib/terraspace/terraform/runner.rb
681
681
  - lib/terraspace/terraform/runner/retryer.rb
682
+ - lib/terraspace/terraform/tfc/runs.rb
683
+ - lib/terraspace/terraform/tfc/runs/base.rb
684
+ - lib/terraspace/terraform/tfc/runs/item_presenter.rb
685
+ - lib/terraspace/terraform/tfc/runs/lister.rb
686
+ - lib/terraspace/terraform/tfc/runs/pruner.rb
687
+ - lib/terraspace/terraform/tfc/sync.rb
688
+ - lib/terraspace/terraform/tfc/syncer.rb
689
+ - lib/terraspace/terraform/tfc/workspace.rb
682
690
  - lib/terraspace/tester.rb
683
691
  - lib/terraspace/tester/finder.rb
684
692
  - lib/terraspace/tester/meta.rb
@@ -835,7 +843,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
835
843
  - !ruby/object:Gem::Version
836
844
  version: '0'
837
845
  requirements: []
838
- rubygems_version: 3.1.4
846
+ rubygems_version: 3.2.5
839
847
  signing_key:
840
848
  specification_version: 4
841
849
  summary: 'Terraspace: The Terraspace Framework'