dockerfile-rails 1.5.9 → 1.5.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -1
- data/lib/dockerfile-rails/scanner.rb +1 -0
- data/lib/generators/dockerfile_generator.rb +16 -2
- data/lib/generators/templates/Dockerfile.erb +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d82a193aafa58b460153c6f40f11eb3ef6928dd889b2225cf05c8d54403413e
|
4
|
+
data.tar.gz: 102a8194647678ee4d21cbdc5e01aeab3f626a6498ae8b01bc1ec1f9ab8e25ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9eeb2d4615acba7c25d796b7c77cf636794b73e003f966c061607e5c46948db96c84c42d3cc4608ad2afbdcae8ebb13f580dfac971e5318d232190b983d8eb0
|
7
|
+
data.tar.gz: 4f94cb176f2d6bb93379895cc5616d93061638c2f5ec17af50492d397007d8457f90adc14851e0bde6c8d95a1ccb5f57294466fddd19169f29b3ef8db43201b2
|
data/README.md
CHANGED
@@ -15,14 +15,22 @@ For more background:
|
|
15
15
|
|
16
16
|
## Usage
|
17
17
|
|
18
|
+
Install from the root of your Rails project by running the following.
|
19
|
+
|
18
20
|
```
|
19
21
|
bundle add dockerfile-rails --optimistic --group development
|
20
22
|
bin/rails generate dockerfile
|
21
23
|
```
|
22
24
|
|
25
|
+
The `--optomistic` flag will make sure you always get the latest `dockerfile-rails` gem when you run `bundle update && rails g dockerfile`.
|
26
|
+
|
23
27
|
### General option:
|
24
28
|
|
25
29
|
* `--force` - overwrite existing files
|
30
|
+
* `--skip` - keep existing files
|
31
|
+
|
32
|
+
If neither are specified, you will be prompted if a file exists with
|
33
|
+
different contents. If both are specified, `--force` takes precedence.
|
26
34
|
|
27
35
|
### Runtime Optimizations:
|
28
36
|
|
@@ -61,6 +69,7 @@ additional support may be needed:
|
|
61
69
|
* `--postgresql` - add postgresql libraries
|
62
70
|
* `--redis` - add redis libraries
|
63
71
|
* `--sqlite3` - add sqlite3 libraries
|
72
|
+
* `--sqlserver` - add SQL Server libraries
|
64
73
|
|
65
74
|
### Add a package/environment variable/build argument:
|
66
75
|
|
@@ -71,7 +80,7 @@ Not all of your needs can be determined by scanning your application. For examp
|
|
71
80
|
* `--env=name:value` - add an environment variable
|
72
81
|
* `--remove package...` - remove package from "to be added" list
|
73
82
|
|
74
|
-
|
83
|
+
Args and environment variables can be tailored to a specific build phase by adding `-base`, `-build`, or `-deploy` after the flag name (e.g `--add-build freetds-dev --add-deploy freetds-bin`). If no such suffix is found, the default for arg is `-base`, and the default for env is `-deploy`. Removal of an arg or environment variable is done by leaving the value blank (e.g `--env-build=PORT:`).
|
75
84
|
|
76
85
|
### Configuration:
|
77
86
|
|
@@ -53,6 +53,7 @@ module DockerfileRails
|
|
53
53
|
@sqlite3 = true if @gemfile.include? "sqlite3"
|
54
54
|
@postgresql = true if @gemfile.include? "pg"
|
55
55
|
@mysql = true if @gemfile.include?("mysql2") || using_trilogy?
|
56
|
+
@sqlserver = true if @gemfile.include?("activerecord-sqlserver-adapter")
|
56
57
|
|
57
58
|
### node modules ###
|
58
59
|
|
@@ -35,6 +35,7 @@ class DockerfileGenerator < Rails::Generators::Base
|
|
35
35
|
"rollbar" => false,
|
36
36
|
"root" => false,
|
37
37
|
"sqlite3" => false,
|
38
|
+
"sqlserver" => false,
|
38
39
|
"sentry" => false,
|
39
40
|
"sudo" => false,
|
40
41
|
"swap" => nil,
|
@@ -127,6 +128,9 @@ class DockerfileGenerator < Rails::Generators::Base
|
|
127
128
|
class_option :sqlite3, aliases: "--sqlite", type: :boolean, default: OPTION_DEFAULTS.sqlite3,
|
128
129
|
desc: "include sqlite3 libraries"
|
129
130
|
|
131
|
+
class_option :sqlserver, aliases: "--sqlserver", type: :boolean, default: OPTION_DEFAULTS.sqlserver,
|
132
|
+
desc: "include SQL server libraries"
|
133
|
+
|
130
134
|
class_option :litefs, type: :boolean, default: OPTION_DEFAULTS.litefs,
|
131
135
|
desc: "replicate sqlite3 databases using litefs"
|
132
136
|
|
@@ -294,7 +298,7 @@ class DockerfileGenerator < Rails::Generators::Base
|
|
294
298
|
fly_attach_consul
|
295
299
|
end
|
296
300
|
|
297
|
-
if File.exist?("fly.toml") && (fly_processes || !options.prepare || options.swap)
|
301
|
+
if File.exist?("fly.toml") && (fly_processes || !options.prepare || options.swap || deploy_database == "sqlite3")
|
298
302
|
if File.stat("fly.toml").size > 0
|
299
303
|
template "fly.toml.erb", "fly.toml"
|
300
304
|
else
|
@@ -560,6 +564,7 @@ private
|
|
560
564
|
# add databases: sqlite3, postgres, mysql
|
561
565
|
packages << "pkg-config" if options.sqlite3? || @sqlite3
|
562
566
|
packages << "libpq-dev" if options.postgresql? || @postgresql
|
567
|
+
packages << "freetds-dev" if options.sqlserver? || @sqlserver
|
563
568
|
|
564
569
|
if (options.mysql? || @mysql) && !using_trilogy?
|
565
570
|
packages << "default-libmysqlclient-dev"
|
@@ -615,6 +620,7 @@ private
|
|
615
620
|
# start with databases: sqlite3, postgres, mysql
|
616
621
|
packages << "postgresql-client" if options.postgresql? || @postgresql
|
617
622
|
packages << "default-mysql-client" if options.mysql? || @mysql
|
623
|
+
packages << "freetds-bin" if options.sqlserver? || @sqlserver
|
618
624
|
packages << "libjemalloc2" if options.jemalloc? && !options.fullstaq?
|
619
625
|
if options.sqlite3? || @sqlite3
|
620
626
|
packages << "libsqlite3-0" unless packages.include? "sqlite3"
|
@@ -916,6 +922,8 @@ private
|
|
916
922
|
"postgresql"
|
917
923
|
elsif options.mysql? || @mysql || has_mysql_gem?
|
918
924
|
"mysql"
|
925
|
+
elsif options.sqlserver || @sqlserver
|
926
|
+
"sqlserver"
|
919
927
|
else
|
920
928
|
"sqlite3"
|
921
929
|
end
|
@@ -960,7 +968,7 @@ private
|
|
960
968
|
|
961
969
|
version
|
962
970
|
rescue
|
963
|
-
"
|
971
|
+
"1.22.19"
|
964
972
|
end
|
965
973
|
|
966
974
|
|
@@ -1147,6 +1155,12 @@ private
|
|
1147
1155
|
end
|
1148
1156
|
end
|
1149
1157
|
|
1158
|
+
if deploy_database == "sqlite3"
|
1159
|
+
if not toml.include? "[mounts]"
|
1160
|
+
toml += "[mounts]\n source=\"data\"\n destination=\"/data\"\n\n"
|
1161
|
+
end
|
1162
|
+
end
|
1163
|
+
|
1150
1164
|
if options.swap
|
1151
1165
|
suffixes = {
|
1152
1166
|
"kib" => 1024,
|
@@ -34,8 +34,8 @@ ENV <%= base_env.join(" \\\n ") %>
|
|
34
34
|
RUN gem update --system --no-document && \
|
35
35
|
gem install -N <%= base_gems.join(" ") %>
|
36
36
|
|
37
|
-
<% unless
|
38
|
-
# Install packages needed to install <%= base_requirements %>
|
37
|
+
<% unless base_packages.empty? -%>
|
38
|
+
# Install packages<% unless base_requirements.empty? -%> needed to install <%= base_requirements %><% end %>
|
39
39
|
<%= render partial: 'apt_install', locals: {packages: base_packages, clean: true, repos: base_repos} %>
|
40
40
|
|
41
41
|
<% end -%>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dockerfile-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Ruby
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 3.0.0
|
27
27
|
description:
|
28
28
|
email: rubys@intertwingly.net
|
29
29
|
executables: []
|