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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f9088468b332d364b56732feec277576d378ac7bcfbabdade0fcd232a8375ed
4
- data.tar.gz: 8d803b1505748c97fd14852818274b751be2c8d0b66da70615f13db8eac249e0
3
+ metadata.gz: 9a1cc9b62cb206229d4369997ac86cbae7717f0c8214c0fe6d36e57293fda1da
4
+ data.tar.gz: 0f29a5db5f41a1d94dfda45a4091f51a7c23f6370fe1fdd80d4359ce2c1c32d0
5
5
  SHA512:
6
- metadata.gz: e14ce8dac4f9947c2c7d290843abe318e8be783cdf61a1e04d9327cf0b0f109064bd3313056e0fdc894b6db9fc38c275a2aa4871682c501f1bb14c2c032b5789
7
- data.tar.gz: 54167a833deb35cd1448b5a9560ccd8e1b36bf0b6c0e629689b78f441aa8990ca471a93bb0c46b545b932f721724555070cbe8a434a8e55acee6b17f6c1e5c6a
6
+ metadata.gz: 6c097271656dad0e0effb44425297e9c2c47a2c75c370b5bb5a79f7f58a7809fca0b7e085f273d8fd292ef988d524ff0eb97e5223ce68f701431b6866585ce83
7
+ data.tar.gz: adf0b0ec646afdca4ba0f8fd84a955f2f622acc0ace934aedf77dc89c14d1227e33295df36c5dd386a2a5250b5451d7c6d3db5f509166d9ed3515b601fb7d946
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nvoi (0.2.1)
4
+ nvoi (0.2.2)
5
5
  aws-sdk-ec2 (~> 1.400)
6
6
  faraday (~> 2.7)
7
7
  net-scp (~> 4.0)
@@ -8,10 +8,11 @@ module Nvoi
8
8
  class Database
9
9
  include Onboard::Ui
10
10
 
11
- ADAPTERS = [
12
- { name: "PostgreSQL", value: "postgres" },
13
- { name: "MySQL", value: "mysql" },
14
- { name: "SQLite", value: "sqlite3" },
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
- adapter = @prompt.select("Database:", ADAPTERS)
28
- return [nil, nil] unless adapter
28
+ selection = @prompt.select("Database:", DATABASES)
29
+ return [nil, nil] unless selection
29
30
 
30
- case adapter
31
- when "postgres" then setup_postgres(app_name)
32
- when "mysql" then setup_mysql(app_name)
33
- when "sqlite3" then setup_sqlite
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" => "postgres",
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 = { "postgres_data" => { "size" => 10 } }
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 = { "mysql_data" => { "size" => 10 } }
77
+ volume = { "db" => { "size" => 10 } }
75
78
 
76
79
  [config, volume]
77
80
  end
data/lib/nvoi/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nvoi
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nvoi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - NVOI