kamal 2.0.0.beta1 → 2.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c08e90e760f2392afcd73847fa1d9f7e987c684d687f49f227b808fda6cc28d5
4
- data.tar.gz: c0945022760eeca770901d2c163c58a4a46a11f917e29f2d516d95d4af51ef3c
3
+ metadata.gz: 80950d18ef8b135b87bca865f31422e8b367137a7561381b1566e07384a75b0b
4
+ data.tar.gz: 0d86e69df81fabde4b6c0b0be0de1ca6f64f5cd94f3242d0f4702428aef9fbfa
5
5
  SHA512:
6
- metadata.gz: 80ee86cd4b2ee5f5369cb6b1a7b81165a313cdedfd11352eb9215c5b6bf792be627927fad72c3bf25f69d12bcbf02a1fd088771ac495b45c0272145f16536f3f
7
- data.tar.gz: df01ab908c65534003c0f089727c5ec6165be5ad72e72fab0f71c73c181ba0c8d7230a1887a2a3d7650c1f0ecfe2db349ebc2367ed64fbf052863d3bf37e4b57
6
+ metadata.gz: 5b1ae9daecd6fe5342d830c10be8e54b26d668703f8c731b6f920f38a7183dcb27bc8a97630d4f4bdc1891c56b1f8a669c79ba85f2400053313df4a5a994d1eb
7
+ data.tar.gz: 61716c7a9e7fc1e3928a0ce30539accc3f9531f09d0835c37248cceb48fc19b90ba4c9d5f3e615335d505552988c92277e7e4e4447b8beb25991e2c8cead5a2e
@@ -147,23 +147,25 @@ class Kamal::Cli::Accessory < Kamal::Cli::Base
147
147
  option :grep, aliases: "-g", desc: "Show lines with grep match only (use this to fetch specific requests by id)"
148
148
  option :grep_options, aliases: "-o", desc: "Additional options supplied to grep"
149
149
  option :follow, aliases: "-f", desc: "Follow logs on primary server (or specific host set by --hosts)"
150
+ option :skip_timestamps, aliases: "-T", desc: "Skip appending timestamps to logging output"
150
151
  def logs(name)
151
152
  with_accessory(name) do |accessory, hosts|
152
153
  grep = options[:grep]
153
154
  grep_options = options[:grep_options]
155
+ timestamps = !options[:skip_timestamps]
154
156
 
155
157
  if options[:follow]
156
158
  run_locally do
157
159
  info "Following logs on #{hosts}..."
158
- info accessory.follow_logs(grep: grep, grep_options: grep_options)
159
- exec accessory.follow_logs(grep: grep, grep_options: grep_options)
160
+ info accessory.follow_logs(timestamps: timestamps, grep: grep, grep_options: grep_options)
161
+ exec accessory.follow_logs(timestamps: timestamps, grep: grep, grep_options: grep_options)
160
162
  end
161
163
  else
162
164
  since = options[:since]
163
165
  lines = options[:lines].presence || ((since || grep) ? nil : 100) # Default to 100 lines if since or grep isn't set
164
166
 
165
167
  on(hosts) do
166
- puts capture_with_info(*accessory.logs(since: since, lines: lines, grep: grep, grep_options: grep_options))
168
+ puts capture_with_info(*accessory.logs(timestamps: timestamps, since: since, lines: lines, grep: grep, grep_options: grep_options))
167
169
  end
168
170
  end
169
171
  end
data/lib/kamal/cli/app.rb CHANGED
@@ -188,12 +188,14 @@ class Kamal::Cli::App < Kamal::Cli::Base
188
188
  option :grep, aliases: "-g", desc: "Show lines with grep match only (use this to fetch specific requests by id)"
189
189
  option :grep_options, aliases: "-o", desc: "Additional options supplied to grep"
190
190
  option :follow, aliases: "-f", desc: "Follow log on primary server (or specific host set by --hosts)"
191
+ option :skip_timestamps, aliases: "-T", desc: "Skip appending timestamps to logging output"
191
192
  def logs
192
193
  # FIXME: Catch when app containers aren't running
193
194
 
194
195
  grep = options[:grep]
195
196
  grep_options = options[:grep_options]
196
197
  since = options[:since]
198
+ timestamps = !options[:skip_timestamps]
197
199
 
198
200
  if options[:follow]
199
201
  lines = options[:lines].presence || ((since || grep) ? nil : 10) # Default to 10 lines if since or grep isn't set
@@ -205,8 +207,8 @@ class Kamal::Cli::App < Kamal::Cli::Base
205
207
  role = KAMAL.roles_on(KAMAL.primary_host).first
206
208
 
207
209
  app = KAMAL.app(role: role, host: host)
208
- info app.follow_logs(host: KAMAL.primary_host, lines: lines, grep: grep, grep_options: grep_options)
209
- exec app.follow_logs(host: KAMAL.primary_host, lines: lines, grep: grep, grep_options: grep_options)
210
+ info app.follow_logs(host: KAMAL.primary_host, timestamps: timestamps, lines: lines, grep: grep, grep_options: grep_options)
211
+ exec app.follow_logs(host: KAMAL.primary_host, timestamps: timestamps, lines: lines, grep: grep, grep_options: grep_options)
210
212
  end
211
213
  else
212
214
  lines = options[:lines].presence || ((since || grep) ? nil : 100) # Default to 100 lines if since or grep isn't set
@@ -216,7 +218,7 @@ class Kamal::Cli::App < Kamal::Cli::Base
216
218
 
217
219
  roles.each do |role|
218
220
  begin
219
- puts_by_host host, capture_with_info(*KAMAL.app(role: role, host: host).logs(since: since, lines: lines, grep: grep, grep_options: grep_options))
221
+ puts_by_host host, capture_with_info(*KAMAL.app(role: role, host: host).logs(timestamps: timestamps, since: since, lines: lines, grep: grep, grep_options: grep_options))
220
222
  rescue SSHKit::Command::Failed
221
223
  puts_by_host host, "Nothing found"
222
224
  end
@@ -135,8 +135,10 @@ module Kamal::Cli
135
135
  details = { hosts: KAMAL.hosts.join(","), command: command, subcommand: subcommand }
136
136
 
137
137
  say "Running the #{hook} hook...", :magenta
138
- run_locally do
139
- execute *KAMAL.hook.run(hook, **details, **extra_details)
138
+ with_env KAMAL.hook.env(**details, **extra_details) do
139
+ run_locally do
140
+ execute *KAMAL.hook.run(hook)
141
+ end
140
142
  rescue SSHKit::Command::Failed => e
141
143
  raise HookError.new("Hook `#{hook}` failed:\n#{e.message}")
142
144
  end
@@ -183,5 +185,14 @@ module Kamal::Cli
183
185
  execute(*KAMAL.server.ensure_run_directory)
184
186
  end
185
187
  end
188
+
189
+ def with_env(env)
190
+ current_env = ENV.to_h.dup
191
+ ENV.update(env)
192
+ yield
193
+ ensure
194
+ ENV.clear
195
+ ENV.update(current_env)
196
+ end
186
197
  end
187
198
  end
@@ -30,28 +30,30 @@ class Kamal::Cli::Build < Kamal::Cli::Base
30
30
  say "Building with uncommitted changes:\n #{uncommitted_changes}", :yellow
31
31
  end
32
32
 
33
- run_locally do
34
- begin
35
- execute *KAMAL.builder.inspect_builder
36
- rescue SSHKit::Command::Failed => e
37
- if e.message =~ /(context not found|no builder|no compatible builder|does not exist)/
38
- warn "Missing compatible builder, so creating a new one first"
39
- begin
40
- cli.remove
41
- rescue SSHKit::Command::Failed
42
- raise unless e.message =~ /(context not found|no builder|does not exist)/
33
+ with_env(KAMAL.config.builder.secrets) do
34
+ run_locally do
35
+ begin
36
+ execute *KAMAL.builder.inspect_builder
37
+ rescue SSHKit::Command::Failed => e
38
+ if e.message =~ /(context not found|no builder|no compatible builder|does not exist)/
39
+ warn "Missing compatible builder, so creating a new one first"
40
+ begin
41
+ cli.remove
42
+ rescue SSHKit::Command::Failed
43
+ raise unless e.message =~ /(context not found|no builder|does not exist)/
44
+ end
45
+ cli.create
46
+ else
47
+ raise
43
48
  end
44
- cli.create
45
- else
46
- raise
47
49
  end
48
- end
49
50
 
50
- # Get the command here to ensure the Dir.chdir doesn't interfere with it
51
- push = KAMAL.builder.push
51
+ # Get the command here to ensure the Dir.chdir doesn't interfere with it
52
+ push = KAMAL.builder.push
52
53
 
53
- KAMAL.with_verbosity(:debug) do
54
- Dir.chdir(KAMAL.config.builder.build_directory) { execute *push, env: KAMAL.config.builder.secrets }
54
+ KAMAL.with_verbosity(:debug) do
55
+ Dir.chdir(KAMAL.config.builder.build_directory) { execute *push }
56
+ end
55
57
  end
56
58
  end
57
59
  end
@@ -48,7 +48,7 @@ class Kamal::Cli::Main < Kamal::Cli::Base
48
48
  end
49
49
  end
50
50
 
51
- run_hook "post-deploy", secrets: true, runtime: runtime.round
51
+ run_hook "post-deploy", secrets: true, runtime: runtime.round.to_s
52
52
  end
53
53
 
54
54
  desc "redeploy", "Deploy app to servers without bootstrapping servers, starting kamal-proxy, pruning, and registry login"
@@ -75,7 +75,7 @@ class Kamal::Cli::Main < Kamal::Cli::Base
75
75
  end
76
76
  end
77
77
 
78
- run_hook "post-deploy", secrets: true, runtime: runtime.round
78
+ run_hook "post-deploy", secrets: true, runtime: runtime.round.to_s
79
79
  end
80
80
 
81
81
  desc "rollback [VERSION]", "Rollback app to VERSION"
@@ -99,7 +99,7 @@ class Kamal::Cli::Main < Kamal::Cli::Base
99
99
  end
100
100
  end
101
101
 
102
- run_hook "post-deploy", secrets: true, runtime: runtime.round if rolled_back
102
+ run_hook "post-deploy", secrets: true, runtime: runtime.round.to_s if rolled_back
103
103
  end
104
104
 
105
105
  desc "details", "Show details about all containers"
@@ -140,21 +140,23 @@ class Kamal::Cli::Proxy < Kamal::Cli::Base
140
140
  option :lines, type: :numeric, aliases: "-n", desc: "Number of log lines to pull from each server"
141
141
  option :grep, aliases: "-g", desc: "Show lines with grep match only (use this to fetch specific requests by id)"
142
142
  option :follow, aliases: "-f", desc: "Follow logs on primary server (or specific host set by --hosts)"
143
+ option :skip_timestamps, aliases: "-T", desc: "Skip appending timestamps to logging output"
143
144
  def logs
144
145
  grep = options[:grep]
146
+ timestamps = !options[:skip_timestamps]
145
147
 
146
148
  if options[:follow]
147
149
  run_locally do
148
150
  info "Following logs on #{KAMAL.primary_host}..."
149
- info KAMAL.proxy.follow_logs(host: KAMAL.primary_host, grep: grep)
150
- exec KAMAL.proxy.follow_logs(host: KAMAL.primary_host, grep: grep)
151
+ info KAMAL.proxy.follow_logs(host: KAMAL.primary_host, timestamps: timestamps, grep: grep)
152
+ exec KAMAL.proxy.follow_logs(host: KAMAL.primary_host, timestamps: timestamps, grep: grep)
151
153
  end
152
154
  else
153
155
  since = options[:since]
154
156
  lines = options[:lines].presence || ((since || grep) ? nil : 100) # Default to 100 lines if since or grep isn't set
155
157
 
156
158
  on(KAMAL.proxy_hosts) do |host|
157
- puts_by_host host, capture(*KAMAL.proxy.logs(since: since, lines: lines, grep: grep)), type: "Proxy"
159
+ puts_by_host host, capture(*KAMAL.proxy.logs(timestamps: timestamps, since: since, lines: lines, grep: grep)), type: "Proxy"
158
160
  end
159
161
  end
160
162
  end
@@ -167,7 +169,6 @@ class Kamal::Cli::Proxy < Kamal::Cli::Base
167
169
  stop
168
170
  remove_container
169
171
  remove_image
170
- remove_host_directory
171
172
  end
172
173
  end
173
174
  end
@@ -192,16 +193,6 @@ class Kamal::Cli::Proxy < Kamal::Cli::Base
192
193
  end
193
194
  end
194
195
 
195
- desc "remove_host_directory", "Remove proxy directory from servers", hide: true
196
- def remove_host_directory
197
- with_lock do
198
- on(KAMAL.proxy_hosts) do
199
- execute *KAMAL.auditor.record("Removed #{KAMAL.config.proxy_directory}"), verbosity: :debug
200
- execute *KAMAL.proxy.remove_host_directory, raise_on_non_zero_exit: false
201
- end
202
- end
203
- end
204
-
205
196
  private
206
197
  def removal_allowed?(force)
207
198
  on(KAMAL.proxy_hosts) do |host|
@@ -39,16 +39,16 @@ class Kamal::Commands::Accessory < Kamal::Commands::Base
39
39
  end
40
40
 
41
41
 
42
- def logs(since: nil, lines: nil, grep: nil, grep_options: nil)
42
+ def logs(timestamps: true, since: nil, lines: nil, grep: nil, grep_options: nil)
43
43
  pipe \
44
- docker(:logs, service_name, (" --since #{since}" if since), (" --tail #{lines}" if lines), "--timestamps", "2>&1"),
44
+ docker(:logs, service_name, (" --since #{since}" if since), (" --tail #{lines}" if lines), ("--timestamps" if timestamps), "2>&1"),
45
45
  ("grep '#{grep}'#{" #{grep_options}" if grep_options}" if grep)
46
46
  end
47
47
 
48
- def follow_logs(grep: nil, grep_options: nil)
48
+ def follow_logs(timestamps: true, grep: nil, grep_options: nil)
49
49
  run_over_ssh \
50
50
  pipe \
51
- docker(:logs, service_name, "--timestamps", "--tail", "10", "--follow", "2>&1"),
51
+ docker(:logs, service_name, ("--timestamps" if timestamps), "--tail", "10", "--follow", "2>&1"),
52
52
  (%(grep "#{grep}"#{" #{grep_options}" if grep_options}) if grep)
53
53
  end
54
54
 
@@ -11,6 +11,7 @@ module Kamal::Commands::App::Execution
11
11
  docker :run,
12
12
  ("-it" if interactive),
13
13
  "--rm",
14
+ "--network", "kamal",
14
15
  *role&.env_args(host),
15
16
  *argumentize("--env", env),
16
17
  *config.volume_args,
@@ -1,16 +1,16 @@
1
1
  module Kamal::Commands::App::Logging
2
- def logs(version: nil, since: nil, lines: nil, grep: nil, grep_options: nil)
2
+ def logs(version: nil, timestamps: true, since: nil, lines: nil, grep: nil, grep_options: nil)
3
3
  pipe \
4
4
  version ? container_id_for_version(version) : current_running_container_id,
5
- "xargs docker logs#{" --since #{since}" if since}#{" --tail #{lines}" if lines} 2>&1",
5
+ "xargs docker logs#{" --timestamps" if timestamps}#{" --since #{since}" if since}#{" --tail #{lines}" if lines} 2>&1",
6
6
  ("grep '#{grep}'#{" #{grep_options}" if grep_options}" if grep)
7
7
  end
8
8
 
9
- def follow_logs(host:, lines: nil, grep: nil, grep_options: nil)
9
+ def follow_logs(host:, timestamps: true, lines: nil, grep: nil, grep_options: nil)
10
10
  run_over_ssh \
11
11
  pipe(
12
12
  current_running_container_id,
13
- "xargs docker logs --timestamps#{" --tail #{lines}" if lines} --follow 2>&1",
13
+ "xargs docker logs#{" --timestamps" if timestamps}#{" --tail #{lines}" if lines} --follow 2>&1",
14
14
  (%(grep "#{grep}"#{" #{grep_options}" if grep_options}) if grep)
15
15
  ),
16
16
  host: host
@@ -1,9 +1,12 @@
1
1
  class Kamal::Commands::Hook < Kamal::Commands::Base
2
- def run(hook, secrets: false, **details)
3
- env = tags(**details).env
4
- env.merge!(config.secrets.to_h) if secrets
2
+ def run(hook)
3
+ [ hook_file(hook) ]
4
+ end
5
5
 
6
- [ hook_file(hook), env: env ]
6
+ def env(secrets: false, **details)
7
+ tags(**details).env.tap do |env|
8
+ env.merge!(config.secrets.to_h) if secrets
9
+ end
7
10
  end
8
11
 
9
12
  def hook_exists?(hook)
@@ -8,8 +8,7 @@ class Kamal::Commands::Proxy < Kamal::Commands::Base
8
8
  "--detach",
9
9
  "--restart", "unless-stopped",
10
10
  *config.proxy_publish_args,
11
- "--volume", "/var/run/docker.sock:/var/run/docker.sock",
12
- *config.proxy_config_volume.docker_args,
11
+ "--volume", "kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy",
13
12
  *config.logging_args,
14
13
  config.proxy_image
15
14
  end
@@ -36,15 +35,15 @@ class Kamal::Commands::Proxy < Kamal::Commands::Base
36
35
  [ :cut, "-d:", "-f2" ]
37
36
  end
38
37
 
39
- def logs(since: nil, lines: nil, grep: nil, grep_options: nil)
38
+ def logs(timestamps: true, since: nil, lines: nil, grep: nil, grep_options: nil)
40
39
  pipe \
41
- docker(:logs, container_name, (" --since #{since}" if since), (" --tail #{lines}" if lines), "--timestamps", "2>&1"),
40
+ docker(:logs, container_name, ("--since #{since}" if since), ("--tail #{lines}" if lines), ("--timestamps" if timestamps), "2>&1"),
42
41
  ("grep '#{grep}'#{" #{grep_options}" if grep_options}" if grep)
43
42
  end
44
43
 
45
- def follow_logs(host:, grep: nil, grep_options: nil)
44
+ def follow_logs(host:, timestamps: true, grep: nil, grep_options: nil)
46
45
  run_over_ssh pipe(
47
- docker(:logs, container_name, "--timestamps", "--tail", "10", "--follow", "2>&1"),
46
+ docker(:logs, container_name, ("--timestamps" if timestamps), "--tail", "10", "--follow", "2>&1"),
48
47
  (%(grep "#{grep}"#{" #{grep_options}" if grep_options}) if grep)
49
48
  ).join(" "), host: host
50
49
  end
@@ -57,10 +56,6 @@ class Kamal::Commands::Proxy < Kamal::Commands::Base
57
56
  docker :image, :prune, "--all", "--force", "--filter", "label=org.opencontainers.image.title=kamal-proxy"
58
57
  end
59
58
 
60
- def remove_host_directory
61
- remove_directory config.proxy_directory
62
- end
63
-
64
59
  def cleanup_traefik
65
60
  chain \
66
61
  docker(:container, :stop, "traefik"),
@@ -2,10 +2,6 @@
2
2
  #
3
3
  # The builder configuration controls how the application is built with `docker build`
4
4
  #
5
- # If no configuration is specified, Kamal will:
6
- # 1. Create a buildx context called `kamal-local-docker-container`, using the docker-container driver
7
- # 2. Use `docker build` to build a multiarch image for linux/amd64,linux/arm64 with that context
8
- #
9
5
  # See https://kamal-deploy.org/docs/configuration/builder-examples/ for more information
10
6
 
11
7
  # Builder options
@@ -78,7 +74,7 @@ builder:
78
74
 
79
75
  # Build secrets
80
76
  #
81
- # Values are read from the .kamal/secrets.
77
+ # Values are read from .kamal/secrets.
82
78
  #
83
79
  secrets:
84
80
  - SECRET1
@@ -36,6 +36,8 @@ image: my-image
36
36
  labels:
37
37
  my-label: my-value
38
38
 
39
+ # Volumes
40
+ #
39
41
  # Additional volumes to mount into the container
40
42
  volumes:
41
43
  - /path/on/host:/path/in/container:ro
@@ -58,7 +60,7 @@ servers:
58
60
  env:
59
61
  ...
60
62
 
61
- # Asset Bridging
63
+ # Asset Path
62
64
  #
63
65
  # Used for asset bridging across deployments, default to `nil`
64
66
  #
@@ -74,6 +76,8 @@ env:
74
76
  # To configure this, set the path to the assets:
75
77
  asset_path: /path/to/assets
76
78
 
79
+ # Hooks path
80
+ #
77
81
  # Path to hooks, defaults to `.kamal/hooks`
78
82
  # See https://kamal-deploy.org/docs/hooks for more information
79
83
  hooks_path: /user_home/kamal/hooks
@@ -83,7 +87,7 @@ hooks_path: /user_home/kamal/hooks
83
87
  # Whether deployments require a destination to be specified, defaults to `false`
84
88
  require_destination: true
85
89
 
86
- # The primary role
90
+ # Primary role
87
91
  #
88
92
  # This defaults to `web`, but if you have no web role, you can change this
89
93
  primary_role: workers
@@ -12,11 +12,16 @@ env:
12
12
  DATABASE_HOST: mysql-db1
13
13
  DATABASE_PORT: 3306
14
14
 
15
- # Using .kamal/secrets file to load required environment variables
15
+ # Secrets
16
16
  #
17
- # Kamal uses dotenv to automatically load environment variables set in the .kamal/secrets file.
17
+ # Kamal uses dotenv to automatically load environment variables set in the `.kamal/secrets` file.
18
18
  #
19
- # This file can be used to set variables like KAMAL_REGISTRY_PASSWORD or database passwords.
19
+ # If you are using destinations, secrets will instead be read from `.kamal/secrets-<DESTINATION>` if
20
+ # it exists.
21
+ #
22
+ # Common secrets across all destinations can be set in `.kamal/secrets-common`.
23
+ #
24
+ # This file can be used to set variables like `KAMAL_REGISTRY_PASSWORD` or database passwords.
20
25
  # You can use variable or command substitution in the secrets file.
21
26
  #
22
27
  # ```
@@ -24,6 +29,14 @@ env:
24
29
  # RAILS_MASTER_KEY=$(cat config/master.key)
25
30
  # ```
26
31
  #
32
+ # You can also use [secret helpers](../commands/secrets) for some common password managers.
33
+ # ```
34
+ # SECRETS=$(kamal secrets fetch ...)
35
+ #
36
+ # REGISTRY_PASSWORD=$(kamal secrets extract REGISTRY_PASSWORD $SECRETS)
37
+ # DB_PASSWORD=$(kamal secrets extract DB_PASSWORD $SECRETS)
38
+ # ```
39
+ #
27
40
  # If you store secrets directly in .kamal/secrets, ensure that it is not checked into version control.
28
41
  #
29
42
  # To pass the secrets you should list them under the `secret` key. When you do this the
@@ -47,7 +47,7 @@ proxy:
47
47
  # Response timeout
48
48
  #
49
49
  # How long to wait for requests to complete before timing out, defaults to 30 seconds
50
- response_timeout: 10s
50
+ response_timeout: 10
51
51
 
52
52
  # Healthcheck
53
53
  #
@@ -91,7 +91,7 @@ proxy:
91
91
 
92
92
  # Forward headers
93
93
  #
94
- # Whether to forward the X-Forwarded-For and X-Forwarded-Proto headers (defaults to false)
94
+ # Whether to forward the X-Forwarded-For and X-Forwarded-Proto headers.
95
95
  #
96
96
  # If you are behind a trusted proxy, you can set this to true to forward the headers.
97
97
  #
@@ -26,8 +26,12 @@ servers:
26
26
  #
27
27
  # When there are other options to set, the list of hosts goes under the `hosts` key
28
28
  #
29
- # By default only the primary role uses a proxy, but you can set `proxy` to change
30
- # it.
29
+ # By default only the primary role uses a proxy.
30
+ #
31
+ # For other roles, you can set it to `proxy: true` enable it and inherit the root proxy
32
+ # configuration or provide a map of options to override the root configuration.
33
+ #
34
+ # For the primary role, you can set `proxy: false` to disable the proxy.
31
35
  #
32
36
  # You can also set a custom cmd to run in the container, and overwrite other settings
33
37
  # from the root configuration.
@@ -14,7 +14,7 @@ class Kamal::Configuration
14
14
 
15
15
  include Validation
16
16
 
17
- PROXY_MINIMUM_VERSION = "v0.3.0"
17
+ PROXY_MINIMUM_VERSION = "v0.4.0"
18
18
  PROXY_HTTP_PORT = 80
19
19
  PROXY_HTTPS_PORT = 443
20
20
 
@@ -216,10 +216,6 @@ class Kamal::Configuration
216
216
  File.join apps_directory, [ service, destination ].compact.join("-")
217
217
  end
218
218
 
219
- def proxy_directory
220
- File.join run_directory, "proxy"
221
- end
222
-
223
219
  def env_directory
224
220
  File.join app_directory, "env"
225
221
  end
@@ -262,12 +258,6 @@ class Kamal::Configuration
262
258
  "kamal-proxy"
263
259
  end
264
260
 
265
- def proxy_config_volume
266
- Kamal::Configuration::Volume.new \
267
- host_path: File.join(proxy_directory, "config"),
268
- container_path: "/home/kamal-proxy/.config/kamal-proxy"
269
- end
270
-
271
261
 
272
262
  def to_h
273
263
  {
data/lib/kamal/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kamal
2
- VERSION = "2.0.0.beta1"
2
+ VERSION = "2.0.0.rc1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kamal
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta1
4
+ version: 2.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-18 00:00:00.000000000 Z
11
+ date: 2024-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport