nvoi 0.1.8 → 0.2.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/Gemfile +1 -5
- data/Gemfile.lock +17 -8
- data/Rakefile +1 -1
- data/_TODO-rails-example.md +816 -0
- data/_TODO-rails-optimization.md +433 -0
- data/doc/config-schema.yaml +12 -0
- data/examples/apex-wildcard/deploy.yml +1 -0
- data/examples/golang-postgres-multi/deploy.yml +1 -0
- data/examples/postgres-multi/deploy.yml +1 -0
- data/examples/postgres-single/deploy.yml +1 -0
- data/examples/rails-single/deploy.yml +1 -0
- data/lib/nvoi/cli/config/command.rb +46 -41
- data/lib/nvoi/cli/credentials/edit/command.rb +24 -20
- data/lib/nvoi/cli/credentials/show/command.rb +1 -1
- data/lib/nvoi/cli/db/command.rb +10 -10
- data/lib/nvoi/cli/delete/command.rb +2 -2
- data/lib/nvoi/cli/deploy/command.rb +2 -2
- data/lib/nvoi/cli/deploy/steps/build_image.rb +2 -1
- data/lib/nvoi/cli/deploy/steps/configure_tunnel.rb +2 -2
- data/lib/nvoi/cli/deploy/steps/deploy_service.rb +7 -4
- data/lib/nvoi/cli/deploy/steps/provision_server.rb +1 -1
- data/lib/nvoi/cli/deploy/steps/provision_volume.rb +1 -1
- data/lib/nvoi/cli/exec/command.rb +3 -3
- data/lib/nvoi/cli/logs/command.rb +2 -2
- data/lib/nvoi/cli/onboard/command.rb +176 -622
- data/lib/nvoi/cli/onboard/steps/app.rb +108 -0
- data/lib/nvoi/cli/onboard/steps/app_name.rb +26 -0
- data/lib/nvoi/cli/onboard/steps/compute.rb +186 -0
- data/lib/nvoi/cli/onboard/steps/database.rb +97 -0
- data/lib/nvoi/cli/onboard/steps/domain.rb +48 -0
- data/lib/nvoi/cli/onboard/steps/env.rb +67 -0
- data/lib/nvoi/cli/onboard/ui.rb +84 -0
- data/lib/nvoi/cli/unlock/command.rb +2 -2
- data/lib/nvoi/cli.rb +2 -33
- data/lib/nvoi/configuration/app_service.rb +54 -0
- data/lib/nvoi/configuration/application.rb +44 -0
- data/lib/nvoi/configuration/builder.rb +420 -0
- data/lib/nvoi/configuration/database.rb +56 -0
- data/lib/nvoi/configuration/deploy.rb +15 -0
- data/lib/nvoi/{objects/service_spec.rb → configuration/deployment.rb} +4 -3
- data/lib/nvoi/{objects/config_override.rb → configuration/override.rb} +4 -4
- data/lib/nvoi/configuration/providers.rb +81 -0
- data/lib/nvoi/configuration/result.rb +43 -0
- data/lib/nvoi/configuration/root.rb +252 -0
- data/lib/nvoi/configuration/server.rb +39 -0
- data/lib/nvoi/configuration/service.rb +51 -0
- data/lib/nvoi/configuration/ssh_key.rb +16 -0
- data/lib/nvoi/external/cloud/aws.rb +26 -16
- data/lib/nvoi/external/cloud/hetzner.rb +40 -25
- data/lib/nvoi/external/cloud/scaleway.rb +10 -8
- data/lib/nvoi/external/cloud/types.rb +42 -0
- data/lib/nvoi/external/database/mysql.rb +1 -1
- data/lib/nvoi/external/database/postgres.rb +1 -1
- data/lib/nvoi/external/database/provider.rb +1 -1
- data/lib/nvoi/external/database/sqlite.rb +1 -1
- data/lib/nvoi/external/database/types.rb +55 -0
- data/lib/nvoi/external/dns/cloudflare.rb +11 -11
- data/lib/nvoi/external/dns/types.rb +24 -0
- data/lib/nvoi/utils/config_loader.rb +12 -12
- data/lib/nvoi/utils/credential_store.rb +4 -4
- data/lib/nvoi/utils/env_resolver.rb +3 -3
- data/lib/nvoi/utils/namer.rb +8 -3
- data/lib/nvoi/utils/presence.rb +23 -0
- data/lib/nvoi/version.rb +1 -1
- data/lib/nvoi.rb +2 -17
- metadata +98 -59
- data/.claude/todo/refactor/00-overview.md +0 -171
- data/.claude/todo/refactor/01-objects.md +0 -96
- data/.claude/todo/refactor/02-utils.md +0 -143
- data/.claude/todo/refactor/03-external-cloud.md +0 -164
- data/.claude/todo/refactor/04-external-dns.md +0 -104
- data/.claude/todo/refactor/05-external.md +0 -133
- data/.claude/todo/refactor/06-cli.md +0 -123
- data/.claude/todo/refactor/07-cli-deploy-command.md +0 -177
- data/.claude/todo/refactor/08-cli-deploy-steps.md +0 -201
- data/.claude/todo/refactor/09-cli-delete-command.md +0 -169
- data/.claude/todo/refactor/10-cli-exec-command.md +0 -157
- data/.claude/todo/refactor/11-cli-credentials-command.md +0 -190
- data/.claude/todo/refactor/12-cli-db-command.md +0 -128
- data/.claude/todo/refactor/_target.md +0 -79
- data/.claude/todo/refactor-execution/00-entrypoint.md +0 -49
- data/.claude/todo/refactor-execution/01-objects.md +0 -42
- data/.claude/todo/refactor-execution/02-utils.md +0 -41
- data/.claude/todo/refactor-execution/03-external-cloud.md +0 -38
- data/.claude/todo/refactor-execution/04-external-dns.md +0 -35
- data/.claude/todo/refactor-execution/05-external-other.md +0 -46
- data/.claude/todo/refactor-execution/06-cli-deploy.md +0 -45
- data/.claude/todo/refactor-execution/07-cli-delete.md +0 -43
- data/.claude/todo/refactor-execution/08-cli-exec.md +0 -30
- data/.claude/todo/refactor-execution/09-cli-credentials.md +0 -34
- data/.claude/todo/refactor-execution/10-cli-db.md +0 -31
- data/.claude/todo/refactor-execution/11-cli-router.md +0 -44
- data/.claude/todo/refactor-execution/12-cleanup.md +0 -120
- data/.claude/todo/refactor-execution/_monitoring-strategy.md +0 -126
- data/.claude/todo/scaleway.impl.md +0 -644
- data/.claude/todo/scaleway.reference.md +0 -520
- data/.claude/todos/buckets.md +0 -41
- data/.claude/todos.md +0 -550
- data/Makefile +0 -26
- data/ingest +0 -0
- data/lib/nvoi/config_api/actions/app.rb +0 -53
- data/lib/nvoi/config_api/actions/compute_provider.rb +0 -55
- data/lib/nvoi/config_api/actions/database.rb +0 -70
- data/lib/nvoi/config_api/actions/domain_provider.rb +0 -40
- data/lib/nvoi/config_api/actions/env.rb +0 -32
- data/lib/nvoi/config_api/actions/init.rb +0 -67
- data/lib/nvoi/config_api/actions/secret.rb +0 -32
- data/lib/nvoi/config_api/actions/server.rb +0 -66
- data/lib/nvoi/config_api/actions/service.rb +0 -52
- data/lib/nvoi/config_api/actions/volume.rb +0 -40
- data/lib/nvoi/config_api/base.rb +0 -38
- data/lib/nvoi/config_api/result.rb +0 -26
- data/lib/nvoi/config_api.rb +0 -93
- data/lib/nvoi/objects/configuration.rb +0 -483
- data/lib/nvoi/objects/database.rb +0 -56
- data/lib/nvoi/objects/dns.rb +0 -14
- data/lib/nvoi/objects/firewall.rb +0 -11
- data/lib/nvoi/objects/network.rb +0 -11
- data/lib/nvoi/objects/server.rb +0 -14
- data/lib/nvoi/objects/tunnel.rb +0 -14
- data/lib/nvoi/objects/volume.rb +0 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0f9088468b332d364b56732feec277576d378ac7bcfbabdade0fcd232a8375ed
|
|
4
|
+
data.tar.gz: 8d803b1505748c97fd14852818274b751be2c8d0b66da70615f13db8eac249e0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e14ce8dac4f9947c2c7d290843abe318e8be783cdf61a1e04d9327cf0b0f109064bd3313056e0fdc894b6db9fc38c275a2aa4871682c501f1bb14c2c032b5789
|
|
7
|
+
data.tar.gz: 54167a833deb35cd1448b5a9560ccd8e1b36bf0b6c0e629689b78f441aa8990ca471a93bb0c46b545b932f721724555070cbe8a434a8e55acee6b17f6c1e5c6a
|
data/Gemfile
CHANGED
|
@@ -7,9 +7,5 @@ gemspec
|
|
|
7
7
|
group :development, :test do
|
|
8
8
|
gem "rubocop-rails-omakase", require: false
|
|
9
9
|
gem "simplecov", require: false
|
|
10
|
+
gem "minitest-reporters", require: false
|
|
10
11
|
end
|
|
11
|
-
|
|
12
|
-
gem "tty-prompt", "~> 0.23.1"
|
|
13
|
-
gem "tty-box", "~> 0.7.0"
|
|
14
|
-
gem "tty-spinner", "~> 0.9.3"
|
|
15
|
-
gem "tty-table", "~> 0.12.0"
|
data/Gemfile.lock
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
nvoi (0.1
|
|
4
|
+
nvoi (0.2.1)
|
|
5
5
|
aws-sdk-ec2 (~> 1.400)
|
|
6
6
|
faraday (~> 2.7)
|
|
7
7
|
net-scp (~> 4.0)
|
|
8
8
|
net-ssh (~> 7.2)
|
|
9
|
+
pastel (~> 0.8)
|
|
9
10
|
thor (~> 1.3)
|
|
11
|
+
tty-box (~> 0.7)
|
|
12
|
+
tty-prompt (~> 0.23)
|
|
13
|
+
tty-spinner (~> 0.9)
|
|
14
|
+
tty-table (~> 0.12)
|
|
10
15
|
zeitwerk (~> 2.6)
|
|
11
16
|
|
|
12
17
|
GEM
|
|
@@ -27,9 +32,10 @@ GEM
|
|
|
27
32
|
uri (>= 0.13.1)
|
|
28
33
|
addressable (2.8.8)
|
|
29
34
|
public_suffix (>= 2.0.2, < 8.0)
|
|
35
|
+
ansi (1.5.0)
|
|
30
36
|
ast (2.4.3)
|
|
31
37
|
aws-eventstream (1.4.0)
|
|
32
|
-
aws-partitions (1.
|
|
38
|
+
aws-partitions (1.1194.0)
|
|
33
39
|
aws-sdk-core (3.239.2)
|
|
34
40
|
aws-eventstream (~> 1, >= 1.3.0)
|
|
35
41
|
aws-partitions (~> 1, >= 1.992.0)
|
|
@@ -45,6 +51,7 @@ GEM
|
|
|
45
51
|
aws-eventstream (~> 1, >= 1.0.2)
|
|
46
52
|
base64 (0.3.0)
|
|
47
53
|
bigdecimal (3.3.1)
|
|
54
|
+
builder (3.3.0)
|
|
48
55
|
concurrent-ruby (1.3.5)
|
|
49
56
|
connection_pool (3.0.2)
|
|
50
57
|
crack (1.0.1)
|
|
@@ -62,11 +69,16 @@ GEM
|
|
|
62
69
|
i18n (1.14.7)
|
|
63
70
|
concurrent-ruby (~> 1.0)
|
|
64
71
|
jmespath (1.6.2)
|
|
65
|
-
json (2.
|
|
72
|
+
json (2.18.0)
|
|
66
73
|
language_server-protocol (3.17.0.5)
|
|
67
74
|
lint_roller (1.1.0)
|
|
68
75
|
logger (1.7.0)
|
|
69
|
-
minitest (5.
|
|
76
|
+
minitest (5.27.0)
|
|
77
|
+
minitest-reporters (1.7.1)
|
|
78
|
+
ansi
|
|
79
|
+
builder
|
|
80
|
+
minitest (>= 5.0)
|
|
81
|
+
ruby-progressbar
|
|
70
82
|
net-http (0.8.0)
|
|
71
83
|
uri (>= 0.11.1)
|
|
72
84
|
net-scp (4.1.0)
|
|
@@ -177,15 +189,12 @@ PLATFORMS
|
|
|
177
189
|
DEPENDENCIES
|
|
178
190
|
bundler (~> 2.0)
|
|
179
191
|
minitest (~> 5.20)
|
|
192
|
+
minitest-reporters
|
|
180
193
|
nvoi!
|
|
181
194
|
rake (~> 13.0)
|
|
182
195
|
rubocop (~> 1.57)
|
|
183
196
|
rubocop-rails-omakase
|
|
184
197
|
simplecov
|
|
185
|
-
tty-box (~> 0.7.0)
|
|
186
|
-
tty-prompt (~> 0.23.1)
|
|
187
|
-
tty-spinner (~> 0.9.3)
|
|
188
|
-
tty-table (~> 0.12.0)
|
|
189
198
|
webmock (~> 3.19)
|
|
190
199
|
|
|
191
200
|
BUNDLED WITH
|
data/Rakefile
CHANGED