Added network configuration option to application, proxy and accessory sections
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
class Kamal::Commands::Accessory < Kamal::Commands::Base
|
class Kamal::Commands::Accessory < Kamal::Commands::Base
|
||||||
attr_reader :accessory_config
|
attr_reader :accessory_config
|
||||||
delegate :service_name, :image, :hosts, :port, :files, :directories, :cmd,
|
delegate :service_name, :image, :hosts, :port, :files, :directories, :cmd,
|
||||||
:publish_args, :env_args, :volume_args, :label_args, :option_args,
|
:network_args, :publish_args, :env_args, :volume_args, :label_args, :option_args,
|
||||||
:secrets_io, :secrets_path, :env_directory,
|
:secrets_io, :secrets_path, :env_directory,
|
||||||
to: :accessory_config
|
to: :accessory_config
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@ class Kamal::Commands::Accessory < Kamal::Commands::Base
|
|||||||
"--name", service_name,
|
"--name", service_name,
|
||||||
"--detach",
|
"--detach",
|
||||||
"--restart", "unless-stopped",
|
"--restart", "unless-stopped",
|
||||||
"--network", "kamal",
|
*network_args,
|
||||||
*config.logging_args,
|
*config.logging_args,
|
||||||
*publish_args,
|
*publish_args,
|
||||||
*env_args,
|
*env_args,
|
||||||
@@ -64,7 +64,7 @@ class Kamal::Commands::Accessory < Kamal::Commands::Base
|
|||||||
docker :run,
|
docker :run,
|
||||||
("-it" if interactive),
|
("-it" if interactive),
|
||||||
"--rm",
|
"--rm",
|
||||||
"--network", "kamal",
|
*network_args,
|
||||||
*env_args,
|
*env_args,
|
||||||
*volume_args,
|
*volume_args,
|
||||||
image,
|
image,
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class Kamal::Commands::App < Kamal::Commands::Base
|
|||||||
"--detach",
|
"--detach",
|
||||||
"--restart unless-stopped",
|
"--restart unless-stopped",
|
||||||
"--name", container_name,
|
"--name", container_name,
|
||||||
"--network", "kamal",
|
*config.network_args,
|
||||||
*([ "--hostname", hostname ] if hostname),
|
*([ "--hostname", hostname ] if hostname),
|
||||||
"-e", "KAMAL_CONTAINER_NAME=\"#{container_name}\"",
|
"-e", "KAMAL_CONTAINER_NAME=\"#{container_name}\"",
|
||||||
"-e", "KAMAL_VERSION=\"#{config.version}\"",
|
"-e", "KAMAL_VERSION=\"#{config.version}\"",
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ module Kamal::Commands::App::Execution
|
|||||||
docker :run,
|
docker :run,
|
||||||
("-it" if interactive),
|
("-it" if interactive),
|
||||||
"--rm",
|
"--rm",
|
||||||
"--network", "kamal",
|
*config.network_args,
|
||||||
*role&.env_args(host),
|
*role&.env_args(host),
|
||||||
*argumentize("--env", env),
|
*argumentize("--env", env),
|
||||||
*config.volume_args,
|
*config.volume_args,
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ class Kamal::Configuration
|
|||||||
PROXY_HTTP_PORT = 80
|
PROXY_HTTP_PORT = 80
|
||||||
PROXY_HTTPS_PORT = 443
|
PROXY_HTTPS_PORT = 443
|
||||||
PROXY_LOG_MAX_SIZE = "10m"
|
PROXY_LOG_MAX_SIZE = "10m"
|
||||||
|
NETWORK = "kamal"
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
def create_from(config_file:, destination: nil, version: nil)
|
def create_from(config_file:, destination: nil, version: nil)
|
||||||
@@ -193,6 +194,10 @@ class Kamal::Configuration
|
|||||||
logging.args
|
logging.args
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def network_args
|
||||||
|
argumentize "--network", network
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
def readiness_delay
|
def readiness_delay
|
||||||
raw_config.readiness_delay || 7
|
raw_config.readiness_delay || 7
|
||||||
@@ -297,6 +302,10 @@ class Kamal::Configuration
|
|||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
def network
|
||||||
|
raw_config["network"] || NETWORK
|
||||||
|
end
|
||||||
|
|
||||||
# Will raise ArgumentError if any required config keys are missing
|
# Will raise ArgumentError if any required config keys are missing
|
||||||
def ensure_destination_if_required
|
def ensure_destination_if_required
|
||||||
if require_destination? && destination.nil?
|
if require_destination? && destination.nil?
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
class Kamal::Configuration::Accessory
|
class Kamal::Configuration::Accessory
|
||||||
include Kamal::Configuration::Validation
|
include Kamal::Configuration::Validation
|
||||||
|
|
||||||
|
NETWORK = "kamal"
|
||||||
|
|
||||||
delegate :argumentize, :optionize, to: Kamal::Utils
|
delegate :argumentize, :optionize, to: Kamal::Utils
|
||||||
|
|
||||||
attr_reader :name, :accessory_config, :env
|
attr_reader :name, :accessory_config, :env
|
||||||
@@ -38,6 +40,10 @@ class Kamal::Configuration::Accessory
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def network_args
|
||||||
|
argumentize "--network", network
|
||||||
|
end
|
||||||
|
|
||||||
def publish_args
|
def publish_args
|
||||||
argumentize "--publish", port if port
|
argumentize "--publish", port if port
|
||||||
end
|
end
|
||||||
@@ -173,4 +179,8 @@ class Kamal::Configuration::Accessory
|
|||||||
accessory_config["roles"].flat_map { |role| config.role(role).hosts }
|
accessory_config["roles"].flat_map { |role| config.role(role).hosts }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def network
|
||||||
|
accessory_config["network"] || NETWORK
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user