pangea 0.0.42 → 0.0.46
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/.gitignore +7 -55
- data/Gemfile +1 -30
- data/Gemfile.lock +121 -70
- data/Rakefile +1 -2
- data/bin/pangea +2 -0
- data/flake.lock +49 -16
- data/flake.nix +33 -13
- data/gemset.nix +285 -106
- data/lib/pangea/cli/config.rb +1 -1
- data/lib/pangea/cli/constants.rb +4 -7
- data/lib/pangea/cli/subcommands/config.rb +3 -9
- data/lib/pangea/cli/subcommands/infra.rb +35 -8
- data/lib/pangea/cli/subcommands/main.rb +0 -1
- data/lib/pangea/cli/subcommands/state.rb +30 -0
- data/lib/pangea/cli.rb +63 -1
- data/lib/pangea/config.rb +35 -0
- data/lib/pangea/executor.rb +10 -0
- data/lib/pangea/modcache.rb +79 -0
- data/lib/pangea/module.rb +17 -0
- data/lib/pangea/processor.rb +101 -0
- data/lib/pangea/renderer.rb +241 -0
- data/lib/pangea/shell/terraform.rb +3 -3
- data/lib/pangea/shell.rb +27 -0
- data/lib/pangea/stack.rb +11 -0
- data/lib/pangea/state.rb +96 -0
- data/lib/pangea/structures/abstract.rb +2 -2
- data/lib/pangea/synthesizer/config.rb +2 -3
- data/lib/pangea/utils.rb +32 -0
- data/lib/pangea/version.rb +1 -1
- data/lib/pangea.rb +18 -6
- data/pangea.gemspec +28 -26
- metadata +74 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbce5f52eb637b3163da441398ce6b4aaf194e28425b943efb837e838a77dcdb
|
4
|
+
data.tar.gz: 0e043f77fb860e54ff7d428d7774e5799de11ba1c0576b80137fbd35d4bf1c8b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56e79eb674359fd45b10124a277ccdeea20745b7c6d8473ee4b385d40c1922562877fd7ab2b173043fd3c2d2d22b24cb16b9a28398458b343e228d29aeb7109e
|
7
|
+
data.tar.gz: e29b456cb2000187fe20e1e0d11680e9e93beca2e487fafd342069a50e55d1d770afb3f7852b1e4a19e9a11940f5711a4515e95edab939a1ef28efd0d70203e9
|
data/.gitignore
CHANGED
@@ -1,59 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
/.config
|
4
|
-
/coverage/
|
5
|
-
/InstalledFiles
|
6
|
-
/pkg/
|
7
|
-
/spec/reports/
|
8
|
-
/spec/examples.txt
|
9
|
-
/test/tmp/
|
10
|
-
/test/version_tmp/
|
11
|
-
/tmp/
|
1
|
+
# direnv
|
2
|
+
.envrc
|
12
3
|
|
13
|
-
#
|
14
|
-
|
4
|
+
# direnv use flake
|
5
|
+
.direnv
|
15
6
|
|
16
|
-
#
|
17
|
-
|
7
|
+
# artifacts
|
8
|
+
pkg
|
18
9
|
|
19
|
-
|
20
|
-
.dat*
|
21
|
-
.repl_history
|
22
|
-
build/
|
23
|
-
*.bridgesupport
|
24
|
-
build-iPhoneOS/
|
25
|
-
build-iPhoneSimulator/
|
26
|
-
|
27
|
-
## Specific to RubyMotion (use of CocoaPods):
|
28
|
-
#
|
29
|
-
# We recommend against adding the Pods directory to your .gitignore. However
|
30
|
-
# you should judge for yourself, the pros and cons are mentioned at:
|
31
|
-
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
32
|
-
#
|
33
|
-
# vendor/Pods/
|
34
|
-
|
35
|
-
## Documentation cache and generated files:
|
36
|
-
/.yardoc/
|
37
|
-
/_yardoc/
|
38
|
-
/doc/
|
39
|
-
/rdoc/
|
40
|
-
|
41
|
-
## Environment normalization:
|
42
|
-
/.bundle/
|
43
|
-
/vendor/bundle
|
44
|
-
/lib/bundler/man/
|
45
|
-
|
46
|
-
# for a library or gem, you might want to ignore these files since the code is
|
47
|
-
# intended to run in multiple environments; otherwise, check them in:
|
48
|
-
# Gemfile.lock
|
49
|
-
# .ruby-version
|
50
|
-
# .ruby-gemset
|
51
|
-
|
52
|
-
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
53
|
-
.rvmrc
|
54
|
-
|
55
|
-
# Used by RuboCop. Remote config files pulled in from inherit_from directive.
|
56
|
-
# .rubocop-https?--*
|
57
|
-
|
58
|
-
# Used by nix
|
10
|
+
# nix current build
|
59
11
|
result
|
data/Gemfile
CHANGED
@@ -1,31 +1,2 @@
|
|
1
1
|
source %(https://rubygems.org)
|
2
|
-
|
3
|
-
group :development do
|
4
|
-
%w[
|
5
|
-
rubocop-rspec
|
6
|
-
rubocop-rake
|
7
|
-
keycutter
|
8
|
-
rspec
|
9
|
-
rake
|
10
|
-
yard
|
11
|
-
].each do |this_gem|
|
12
|
-
gem this_gem
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
group :production do
|
17
|
-
%w[
|
18
|
-
aws-sdk-dynamodb
|
19
|
-
terraform-synthesizer
|
20
|
-
abstract-synthesizer
|
21
|
-
tty-progressbar
|
22
|
-
tty-option
|
23
|
-
tty-table
|
24
|
-
tty-color
|
25
|
-
tty-box
|
26
|
-
toml-rb
|
27
|
-
bundler
|
28
|
-
].each do |this_gem|
|
29
|
-
gem this_gem
|
30
|
-
end
|
31
|
-
end
|
2
|
+
gemspec
|
data/Gemfile.lock
CHANGED
@@ -1,82 +1,139 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
pangea (0.0.46)
|
5
|
+
abstract-synthesizer
|
6
|
+
aws-sdk-dynamodb
|
7
|
+
aws-sdk-s3
|
8
|
+
bigdecimal
|
9
|
+
bundler
|
10
|
+
rexml
|
11
|
+
terraform-synthesizer
|
12
|
+
toml-rb
|
13
|
+
tty-box
|
14
|
+
tty-color
|
15
|
+
tty-option
|
16
|
+
tty-progressbar
|
17
|
+
tty-table
|
18
|
+
|
1
19
|
GEM
|
2
20
|
remote: https://rubygems.org/
|
3
21
|
specs:
|
4
|
-
abstract-synthesizer (0.0.
|
22
|
+
abstract-synthesizer (0.0.9)
|
5
23
|
ast (2.4.2)
|
6
|
-
aws-eventstream (1.
|
7
|
-
aws-partitions (1.
|
8
|
-
aws-sdk-core (3.
|
9
|
-
aws-eventstream (~> 1, >= 1.0
|
10
|
-
aws-partitions (~> 1, >= 1.
|
11
|
-
aws-sigv4 (~> 1.
|
24
|
+
aws-eventstream (1.3.1)
|
25
|
+
aws-partitions (1.1052.0)
|
26
|
+
aws-sdk-core (3.219.0)
|
27
|
+
aws-eventstream (~> 1, >= 1.3.0)
|
28
|
+
aws-partitions (~> 1, >= 1.992.0)
|
29
|
+
aws-sigv4 (~> 1.9)
|
30
|
+
base64
|
12
31
|
jmespath (~> 1, >= 1.6.1)
|
13
|
-
aws-sdk-dynamodb (1.
|
14
|
-
aws-sdk-core (~> 3, >= 3.
|
15
|
-
aws-sigv4 (~> 1.
|
16
|
-
aws-
|
32
|
+
aws-sdk-dynamodb (1.137.0)
|
33
|
+
aws-sdk-core (~> 3, >= 3.216.0)
|
34
|
+
aws-sigv4 (~> 1.5)
|
35
|
+
aws-sdk-kms (1.99.0)
|
36
|
+
aws-sdk-core (~> 3, >= 3.216.0)
|
37
|
+
aws-sigv4 (~> 1.5)
|
38
|
+
aws-sdk-s3 (1.182.0)
|
39
|
+
aws-sdk-core (~> 3, >= 3.216.0)
|
40
|
+
aws-sdk-kms (~> 1)
|
41
|
+
aws-sigv4 (~> 1.5)
|
42
|
+
aws-sigv4 (1.11.0)
|
17
43
|
aws-eventstream (~> 1, >= 1.0.2)
|
44
|
+
base64 (0.2.0)
|
45
|
+
bigdecimal (3.1.9)
|
18
46
|
citrus (3.0.2)
|
19
|
-
|
47
|
+
date (3.4.1)
|
48
|
+
debug (1.10.0)
|
49
|
+
irb (~> 1.10)
|
50
|
+
reline (>= 0.3.8)
|
51
|
+
debug_inspector (1.2.0)
|
52
|
+
diff-lcs (1.6.0)
|
53
|
+
io-console (0.8.0)
|
54
|
+
irb (1.15.1)
|
55
|
+
pp (>= 0.6.0)
|
56
|
+
rdoc (>= 4.0.0)
|
57
|
+
reline (>= 0.4.2)
|
20
58
|
jmespath (1.6.2)
|
21
|
-
json (2.
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
59
|
+
json (2.10.1)
|
60
|
+
language_server-protocol (3.17.0.4)
|
61
|
+
lint_roller (1.1.0)
|
62
|
+
logger (1.6.6)
|
63
|
+
parallel (1.26.3)
|
64
|
+
parser (3.3.7.1)
|
26
65
|
ast (~> 2.4.1)
|
27
66
|
racc
|
28
67
|
pastel (0.8.0)
|
29
68
|
tty-color (~> 0.5)
|
30
|
-
|
69
|
+
pp (0.6.2)
|
70
|
+
prettyprint
|
71
|
+
prettyprint (0.2.0)
|
72
|
+
prism (1.3.0)
|
73
|
+
psych (5.2.3)
|
74
|
+
date
|
75
|
+
stringio
|
76
|
+
racc (1.8.1)
|
31
77
|
rainbow (3.1.1)
|
32
|
-
rake (13.1
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
rspec
|
78
|
+
rake (13.2.1)
|
79
|
+
rbs (3.8.1)
|
80
|
+
logger
|
81
|
+
rdoc (6.12.0)
|
82
|
+
psych (>= 4.0.0)
|
83
|
+
regexp_parser (2.10.0)
|
84
|
+
reline (0.6.0)
|
85
|
+
io-console (~> 0.5)
|
86
|
+
rexml (3.4.1)
|
87
|
+
rspec (3.13.0)
|
88
|
+
rspec-core (~> 3.13.0)
|
89
|
+
rspec-expectations (~> 3.13.0)
|
90
|
+
rspec-mocks (~> 3.13.0)
|
91
|
+
rspec-core (3.13.3)
|
92
|
+
rspec-support (~> 3.13.0)
|
93
|
+
rspec-expectations (3.13.3)
|
42
94
|
diff-lcs (>= 1.2.0, < 2.0)
|
43
|
-
rspec-support (~> 3.
|
44
|
-
rspec-mocks (3.
|
95
|
+
rspec-support (~> 3.13.0)
|
96
|
+
rspec-mocks (3.13.2)
|
45
97
|
diff-lcs (>= 1.2.0, < 2.0)
|
46
|
-
rspec-support (~> 3.
|
47
|
-
rspec-support (3.
|
48
|
-
rubocop (1.
|
98
|
+
rspec-support (~> 3.13.0)
|
99
|
+
rspec-support (3.13.2)
|
100
|
+
rubocop (1.72.2)
|
49
101
|
json (~> 2.3)
|
50
|
-
language_server-protocol (
|
102
|
+
language_server-protocol (~> 3.17.0.2)
|
103
|
+
lint_roller (~> 1.1.0)
|
51
104
|
parallel (~> 1.10)
|
52
|
-
parser (>= 3.
|
105
|
+
parser (>= 3.3.0.2)
|
53
106
|
rainbow (>= 2.2.2, < 4.0)
|
54
|
-
regexp_parser (>=
|
55
|
-
|
56
|
-
rubocop-ast (>= 1.28.1, < 2.0)
|
107
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
108
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
57
109
|
ruby-progressbar (~> 1.7)
|
58
|
-
unicode-display_width (>= 2.4.0, <
|
59
|
-
rubocop-ast (1.
|
60
|
-
parser (>= 3.
|
61
|
-
rubocop-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
rubocop (~> 1.
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
110
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
111
|
+
rubocop-ast (1.38.0)
|
112
|
+
parser (>= 3.3.1.0)
|
113
|
+
rubocop-rake (0.7.1)
|
114
|
+
lint_roller (~> 1.1)
|
115
|
+
rubocop (>= 1.72.1)
|
116
|
+
rubocop-rspec (3.5.0)
|
117
|
+
lint_roller (~> 1.1)
|
118
|
+
rubocop (~> 1.72, >= 1.72.1)
|
119
|
+
ruby-lsp (0.23.11)
|
120
|
+
language_server-protocol (~> 3.17.0)
|
121
|
+
prism (>= 1.2, < 2.0)
|
122
|
+
rbs (>= 3, < 4)
|
123
|
+
sorbet-runtime (>= 0.5.10782)
|
71
124
|
ruby-progressbar (1.13.0)
|
125
|
+
sorbet-runtime (0.5.11839)
|
126
|
+
stringio (3.1.4)
|
72
127
|
strings (0.2.1)
|
73
128
|
strings-ansi (~> 0.2)
|
74
129
|
unicode-display_width (>= 1.5, < 3.0)
|
75
130
|
unicode_utils (~> 1.4)
|
76
131
|
strings-ansi (0.2.0)
|
77
|
-
terraform-synthesizer (0.0.
|
78
|
-
|
132
|
+
terraform-synthesizer (0.0.26)
|
133
|
+
abstract-synthesizer
|
134
|
+
toml-rb (3.0.1)
|
79
135
|
citrus (~> 3.0, > 3.0)
|
136
|
+
racc (~> 1.7)
|
80
137
|
tty-box (0.7.0)
|
81
138
|
pastel (~> 0.8)
|
82
139
|
strings (~> 0.2.0)
|
@@ -84,40 +141,34 @@ GEM
|
|
84
141
|
tty-color (0.6.0)
|
85
142
|
tty-cursor (0.7.1)
|
86
143
|
tty-option (0.3.0)
|
87
|
-
tty-progressbar (0.18.
|
144
|
+
tty-progressbar (0.18.3)
|
88
145
|
strings-ansi (~> 0.2)
|
89
146
|
tty-cursor (~> 0.7)
|
90
147
|
tty-screen (~> 0.8)
|
91
148
|
unicode-display_width (>= 1.6, < 3.0)
|
92
|
-
tty-screen (0.8.
|
149
|
+
tty-screen (0.8.2)
|
93
150
|
tty-table (0.12.0)
|
94
151
|
pastel (~> 0.8)
|
95
152
|
strings (~> 0.2.0)
|
96
153
|
tty-screen (~> 0.8)
|
97
|
-
unicode-display_width (2.
|
154
|
+
unicode-display_width (2.6.0)
|
98
155
|
unicode_utils (1.4.0)
|
99
|
-
yard (0.9.34)
|
100
156
|
|
101
157
|
PLATFORMS
|
158
|
+
arm64-darwin-24
|
159
|
+
x86_64-darwin-22
|
102
160
|
x86_64-linux
|
103
161
|
|
104
162
|
DEPENDENCIES
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
keycutter
|
163
|
+
debug
|
164
|
+
debug_inspector
|
165
|
+
pangea!
|
109
166
|
rake
|
110
167
|
rspec
|
168
|
+
rubocop
|
111
169
|
rubocop-rake
|
112
170
|
rubocop-rspec
|
113
|
-
|
114
|
-
toml-rb
|
115
|
-
tty-box
|
116
|
-
tty-color
|
117
|
-
tty-option
|
118
|
-
tty-progressbar
|
119
|
-
tty-table
|
120
|
-
yard
|
171
|
+
ruby-lsp
|
121
172
|
|
122
173
|
BUNDLED WITH
|
123
|
-
2.
|
174
|
+
2.5.22
|
data/Rakefile
CHANGED
data/bin/pangea
CHANGED
data/flake.lock
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
{
|
2
2
|
"nodes": {
|
3
3
|
"flake-utils": {
|
4
|
+
"inputs": {
|
5
|
+
"systems": "systems"
|
6
|
+
},
|
4
7
|
"locked": {
|
5
|
-
"lastModified":
|
6
|
-
"narHash": "sha256-
|
8
|
+
"lastModified": 1731533236,
|
9
|
+
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
7
10
|
"owner": "numtide",
|
8
11
|
"repo": "flake-utils",
|
9
|
-
"rev": "
|
12
|
+
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
10
13
|
"type": "github"
|
11
14
|
},
|
12
15
|
"original": {
|
@@ -17,11 +20,11 @@
|
|
17
20
|
},
|
18
21
|
"nixpkgs": {
|
19
22
|
"locked": {
|
20
|
-
"lastModified":
|
21
|
-
"narHash": "sha256-
|
23
|
+
"lastModified": 1740046062,
|
24
|
+
"narHash": "sha256-vUmxYrT5yD7qHmu5jdADvldD6oJO/P6KINcizycVWJg=",
|
22
25
|
"owner": "NixOS",
|
23
26
|
"repo": "nixpkgs",
|
24
|
-
"rev": "
|
27
|
+
"rev": "212372f68568d85d4e77b4a7411409ecd8e36e66",
|
25
28
|
"type": "github"
|
26
29
|
},
|
27
30
|
"original": {
|
@@ -30,27 +33,57 @@
|
|
30
33
|
"type": "github"
|
31
34
|
}
|
32
35
|
},
|
36
|
+
"nixpkgs_2": {
|
37
|
+
"locked": {
|
38
|
+
"lastModified": 1678875422,
|
39
|
+
"narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=",
|
40
|
+
"owner": "NixOS",
|
41
|
+
"repo": "nixpkgs",
|
42
|
+
"rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459",
|
43
|
+
"type": "github"
|
44
|
+
},
|
45
|
+
"original": {
|
46
|
+
"id": "nixpkgs",
|
47
|
+
"type": "indirect"
|
48
|
+
}
|
49
|
+
},
|
33
50
|
"root": {
|
34
51
|
"inputs": {
|
52
|
+
"flake-utils": "flake-utils",
|
35
53
|
"nixpkgs": "nixpkgs",
|
36
|
-
"ruby-
|
54
|
+
"ruby-nix": "ruby-nix"
|
37
55
|
}
|
38
56
|
},
|
39
|
-
"ruby-
|
57
|
+
"ruby-nix": {
|
40
58
|
"inputs": {
|
41
|
-
"
|
59
|
+
"nixpkgs": "nixpkgs_2"
|
60
|
+
},
|
61
|
+
"locked": {
|
62
|
+
"lastModified": 1725677741,
|
63
|
+
"narHash": "sha256-CySXGzqycagfrWdcTwzM3Zo1MMm9uUtePYER9BvrW8s=",
|
64
|
+
"owner": "inscapist",
|
65
|
+
"repo": "ruby-nix",
|
66
|
+
"rev": "1f3756f8a713171bf891b39c0d3b1fe6d83a4a63",
|
67
|
+
"type": "github"
|
42
68
|
},
|
69
|
+
"original": {
|
70
|
+
"owner": "inscapist",
|
71
|
+
"repo": "ruby-nix",
|
72
|
+
"type": "github"
|
73
|
+
}
|
74
|
+
},
|
75
|
+
"systems": {
|
43
76
|
"locked": {
|
44
|
-
"lastModified":
|
45
|
-
"narHash": "sha256-
|
46
|
-
"owner": "
|
47
|
-
"repo": "
|
48
|
-
"rev": "
|
77
|
+
"lastModified": 1681028828,
|
78
|
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
79
|
+
"owner": "nix-systems",
|
80
|
+
"repo": "default",
|
81
|
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
49
82
|
"type": "github"
|
50
83
|
},
|
51
84
|
"original": {
|
52
|
-
"owner": "
|
53
|
-
"repo": "
|
85
|
+
"owner": "nix-systems",
|
86
|
+
"repo": "default",
|
54
87
|
"type": "github"
|
55
88
|
}
|
56
89
|
}
|
data/flake.nix
CHANGED
@@ -1,17 +1,37 @@
|
|
1
1
|
{
|
2
|
-
description = "
|
2
|
+
description = "cloud renderer, world creator";
|
3
3
|
|
4
|
-
inputs.nixpkgs.url = github:NixOS/nixpkgs;
|
5
|
-
inputs.ruby-
|
4
|
+
inputs.nixpkgs.url = "github:NixOS/nixpkgs";
|
5
|
+
inputs.ruby-nix.url = "github:inscapist/ruby-nix";
|
6
|
+
inputs.flake-utils.url = "github:numtide/flake-utils";
|
6
7
|
|
7
|
-
outputs = {
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
8
|
+
outputs = {
|
9
|
+
nixpkgs,
|
10
|
+
ruby-nix,
|
11
|
+
flake-utils,
|
12
|
+
...
|
13
|
+
}:
|
14
|
+
flake-utils.lib.eachDefaultSystem (system: let
|
15
|
+
pkgs = import nixpkgs {
|
16
|
+
inherit system;
|
17
|
+
overlays = [ruby-nix.overlays.ruby];
|
18
|
+
};
|
19
|
+
rnix = ruby-nix.lib pkgs;
|
20
|
+
rnix-env = rnix {
|
21
|
+
name = "pangea";
|
22
|
+
gemset = ./gemset.nix;
|
23
|
+
};
|
24
|
+
env = rnix-env.env;
|
25
|
+
ruby = rnix-env.ruby;
|
26
|
+
in {
|
27
|
+
devShells = rec {
|
28
|
+
default = dev;
|
29
|
+
dev = pkgs.mkShell {
|
30
|
+
buildInputs = with pkgs; [env ruby opentofu];
|
31
|
+
shellHook = ''
|
32
|
+
PATH=$PWD/bin:$PATH
|
33
|
+
'';
|
34
|
+
};
|
35
|
+
};
|
36
|
+
});
|
17
37
|
}
|