Merge pull request #593 from CleverFew/role_logging_config

Role specific logging configuration
This commit is contained in:
Donal McBreen
2024-03-07 10:53:34 +00:00
committed by GitHub
4 changed files with 26 additions and 5 deletions

View File

@@ -21,7 +21,7 @@ class Kamal::Commands::App < Kamal::Commands::Base
"-e", "KAMAL_VERSION=\"#{config.version}\"",
*role_config.env_args,
*role_config.health_check_args,
*config.logging_args,
*role_config.logging_args,
*config.volume_args,
*role_config.asset_volume_args,
*role_config.label_args,

View File

@@ -6,7 +6,7 @@ require "erb"
require "net/ssh/proxy/jump"
class Kamal::Configuration
delegate :service, :image, :servers, :env, :labels, :registry, :stop_wait_time, :hooks_path, to: :raw_config, allow_nil: true
delegate :service, :image, :servers, :env, :labels, :registry, :stop_wait_time, :hooks_path, :logging, to: :raw_config, allow_nil: true
delegate :argumentize, :optionize, to: Kamal::Utils
attr_reader :destination, :raw_config
@@ -141,9 +141,9 @@ class Kamal::Configuration
end
def logging_args
if raw_config.logging.present?
optionize({ "log-driver" => raw_config.logging["driver"] }.compact) +
argumentize("--log-opt", raw_config.logging["options"])
if logging.present?
optionize({ "log-driver" => logging["driver"] }.compact) +
argumentize("--log-opt", logging["options"])
else
argumentize("--log-opt", { "max-size" => "10m" })
end

View File

@@ -36,6 +36,18 @@ class Kamal::Configuration::Role
argumentize "--label", labels
end
def logging_args
args = config.logging || {}
args.deep_merge!(specializations["logging"]) if specializations["logging"].present?
if args.any?
optionize({ "log-driver" => args["driver"] }.compact) +
argumentize("--log-opt", args["options"])
else
config.logging_args
end
end
def env
if config.env && config.env["secret"]