nvoi 0.2.1 → 0.2.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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/nvoi/cli/onboard/steps/database.rb +18 -15
- data/lib/nvoi/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9a1cc9b62cb206229d4369997ac86cbae7717f0c8214c0fe6d36e57293fda1da
|
|
4
|
+
data.tar.gz: 0f29a5db5f41a1d94dfda45a4091f51a7c23f6370fe1fdd80d4359ce2c1c32d0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6c097271656dad0e0effb44425297e9c2c47a2c75c370b5bb5a79f7f58a7809fca0b7e085f273d8fd292ef988d524ff0eb97e5223ce68f701431b6866585ce83
|
|
7
|
+
data.tar.gz: adf0b0ec646afdca4ba0f8fd84a955f2f622acc0ace934aedf77dc89c14d1227e33295df36c5dd386a2a5250b5451d7c6d3db5f509166d9ed3515b601fb7d946
|
data/Gemfile.lock
CHANGED
|
@@ -8,10 +8,11 @@ module Nvoi
|
|
|
8
8
|
class Database
|
|
9
9
|
include Onboard::Ui
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
{ name: "PostgreSQL", value: "postgres" },
|
|
13
|
-
{ name: "
|
|
14
|
-
{ name: "
|
|
11
|
+
DATABASES = [
|
|
12
|
+
{ name: "PostgreSQL", value: { adapter: "postgresql", image: "postgres:17-alpine" } },
|
|
13
|
+
{ name: "PostgreSQL + pgvector", value: { adapter: "postgresql", image: "pgvector/pgvector:pg17" } },
|
|
14
|
+
{ name: "MySQL", value: { adapter: "mysql", image: "mysql:8" } },
|
|
15
|
+
{ name: "SQLite", value: { adapter: "sqlite3", image: nil } },
|
|
15
16
|
{ name: "None (skip)", value: nil }
|
|
16
17
|
].freeze
|
|
17
18
|
|
|
@@ -24,26 +25,27 @@ module Nvoi
|
|
|
24
25
|
def call(app_name:, existing: nil)
|
|
25
26
|
section "Database"
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
return [nil, nil] unless
|
|
28
|
+
selection = @prompt.select("Database:", DATABASES)
|
|
29
|
+
return [nil, nil] unless selection
|
|
29
30
|
|
|
30
|
-
case adapter
|
|
31
|
-
when "
|
|
32
|
-
when "mysql"
|
|
33
|
-
when "sqlite3"
|
|
31
|
+
case selection[:adapter]
|
|
32
|
+
when "postgresql" then setup_postgres(app_name, selection[:image])
|
|
33
|
+
when "mysql" then setup_mysql(app_name, selection[:image])
|
|
34
|
+
when "sqlite3" then setup_sqlite
|
|
34
35
|
end
|
|
35
36
|
end
|
|
36
37
|
|
|
37
38
|
private
|
|
38
39
|
|
|
39
|
-
def setup_postgres(app_name)
|
|
40
|
+
def setup_postgres(app_name, image)
|
|
40
41
|
db_name = @prompt.ask("Database name:", default: "#{app_name}_production")
|
|
41
42
|
user = @prompt.ask("Database user:", default: app_name)
|
|
42
43
|
password = @prompt.mask("Database password:") { |q| q.required true }
|
|
43
44
|
|
|
44
45
|
config = {
|
|
45
46
|
"servers" => ["main"],
|
|
46
|
-
"adapter" => "
|
|
47
|
+
"adapter" => "postgresql",
|
|
48
|
+
"image" => image,
|
|
47
49
|
"secrets" => {
|
|
48
50
|
"POSTGRES_DB" => db_name,
|
|
49
51
|
"POSTGRES_USER" => user,
|
|
@@ -51,12 +53,12 @@ module Nvoi
|
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
|
|
54
|
-
volume = { "
|
|
56
|
+
volume = { "db" => { "size" => 10 } }
|
|
55
57
|
|
|
56
58
|
[config, volume]
|
|
57
59
|
end
|
|
58
60
|
|
|
59
|
-
def setup_mysql(app_name)
|
|
61
|
+
def setup_mysql(app_name, image)
|
|
60
62
|
db_name = @prompt.ask("Database name:", default: "#{app_name}_production")
|
|
61
63
|
user = @prompt.ask("Database user:", default: app_name)
|
|
62
64
|
password = @prompt.mask("Database password:") { |q| q.required true }
|
|
@@ -64,6 +66,7 @@ module Nvoi
|
|
|
64
66
|
config = {
|
|
65
67
|
"servers" => ["main"],
|
|
66
68
|
"adapter" => "mysql",
|
|
69
|
+
"image" => image,
|
|
67
70
|
"secrets" => {
|
|
68
71
|
"MYSQL_DATABASE" => db_name,
|
|
69
72
|
"MYSQL_USER" => user,
|
|
@@ -71,7 +74,7 @@ module Nvoi
|
|
|
71
74
|
}
|
|
72
75
|
}
|
|
73
76
|
|
|
74
|
-
volume = { "
|
|
77
|
+
volume = { "db" => { "size" => 10 } }
|
|
75
78
|
|
|
76
79
|
[config, volume]
|
|
77
80
|
end
|
data/lib/nvoi/version.rb
CHANGED