Handle ssl: false in proxy config

Fixes: https://github.com/basecamp/kamal/issues/956
This commit is contained in:
Donal McBreen
2024-09-26 06:17:40 -04:00
parent 7633fe0293
commit b3a6921118
2 changed files with 8 additions and 2 deletions

View File

@@ -29,7 +29,7 @@ class Kamal::Configuration::Proxy
def deploy_options def deploy_options
{ {
host: proxy_config["host"], host: proxy_config["host"],
tls: proxy_config["ssl"], tls: proxy_config["ssl"] ? true : nil,
"deploy-timeout": seconds_duration(config.deploy_timeout), "deploy-timeout": seconds_duration(config.deploy_timeout),
"drain-timeout": seconds_duration(config.drain_timeout), "drain-timeout": seconds_duration(config.drain_timeout),
"health-check-interval": seconds_duration(proxy_config.dig("healthcheck", "interval")), "health-check-interval": seconds_duration(proxy_config.dig("healthcheck", "interval")),

View File

@@ -1,6 +1,6 @@
require "test_helper" require "test_helper"
class ConfigurationEnvTest < ActiveSupport::TestCase class ConfigurationProxyTest < ActiveSupport::TestCase
setup do setup do
@deploy = { @deploy = {
service: "app", image: "dhh/app", registry: { "username" => "dhh", "password" => "secret" }, service: "app", image: "dhh/app", registry: { "username" => "dhh", "password" => "secret" },
@@ -18,6 +18,12 @@ class ConfigurationEnvTest < ActiveSupport::TestCase
assert_raises(Kamal::ConfigurationError) { config.proxy.ssl? } assert_raises(Kamal::ConfigurationError) { config.proxy.ssl? }
end end
test "ssl false" do
@deploy[:proxy] = { "ssl" => false }
assert_not config.proxy.ssl?
assert_not config.proxy.deploy_options.has_key?(:tls)
end
private private
def config def config
Kamal::Configuration.new(@deploy) Kamal::Configuration.new(@deploy)