Class: Kamal::Configuration::Loadbalancer
- Defined in:
- lib/kamal/configuration/loadbalancer.rb
Constant Summary collapse
- CONTAINER_NAME =
"load-balancer".freeze
- SHARED_CONTAINER_NAME =
"kamal-proxy".freeze
Constants inherited from Proxy
Proxy::DEFAULT_LOG_REQUEST_HEADERS, Proxy::LOADBALANCER_CONTAINER_NAME
Instance Attribute Summary
Attributes inherited from Proxy
#config, #proxy_config, #role_name, #run, #secrets
Class Method Summary collapse
Instance Method Summary collapse
- #container_name ⇒ Object
- #deploy_options ⇒ Object
- #directory ⇒ Object
-
#initialize(config:, proxy_config:, secrets:) ⇒ Loadbalancer
constructor
A new instance of Loadbalancer.
-
#on_proxy_host? ⇒ Boolean
When loadbalancer is on a proxy host, it takes over the proxy role.
Methods inherited from Proxy
#app_port, #certificate_pem_content, #container_tls_cert, #container_tls_key, #custom_ssl_certificate?, #deploy_command_args, #effective_loadbalancer, #host_tls_cert, #host_tls_key, #hosts, #load_balancing?, #loadbalancer, #loadbalancer_on_proxy_host?, #merge, #path_prefixes, #private_key_pem_content, #ssl?, #stop_command_args, #stop_options
Methods included from Validation
Constructor Details
#initialize(config:, proxy_config:, secrets:) ⇒ Loadbalancer
Returns a new instance of Loadbalancer.
9 10 11 |
# File 'lib/kamal/configuration/loadbalancer.rb', line 9 def initialize(config:, proxy_config:, secrets:) super end |
Class Method Details
.validation_config_key ⇒ Object
5 6 7 |
# File 'lib/kamal/configuration/loadbalancer.rb', line 5 def self.validation_config_key "proxy" end |
Instance Method Details
#container_name ⇒ Object
26 27 28 |
# File 'lib/kamal/configuration/loadbalancer.rb', line 26 def container_name on_proxy_host? ? SHARED_CONTAINER_NAME : CONTAINER_NAME end |
#deploy_options ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/kamal/configuration/loadbalancer.rb', line 13 def opts = super opts[:host] = hosts if hosts.present? opts[:tls] = proxy_config["ssl"].presence opts end |
#directory ⇒ Object
22 23 24 |
# File 'lib/kamal/configuration/loadbalancer.rb', line 22 def directory File.join config.run_directory, "loadbalancer" end |
#on_proxy_host? ⇒ Boolean
When loadbalancer is on a proxy host, it takes over the proxy role
31 32 33 |
# File 'lib/kamal/configuration/loadbalancer.rb', line 31 def on_proxy_host? config.proxy_hosts.include?(config.proxy.effective_loadbalancer) end |