Class: Kamal::Configuration::Proxy::Boot
- Inherits:
-
Object
- Object
- Kamal::Configuration::Proxy::Boot
- Defined in:
- lib/kamal/configuration/proxy/boot.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
- #app_container_directory ⇒ Object
- #app_directory ⇒ Object
- #apps_container_directory ⇒ Object
- #apps_directory ⇒ Object
- #apps_volume ⇒ Object
- #container_name ⇒ Object
- #default_boot_options ⇒ Object
- #error_pages_container_directory ⇒ Object
- #error_pages_directory ⇒ Object
- #host_directory ⇒ Object
- #image_default ⇒ Object
- #image_file ⇒ Object
- #image_name ⇒ Object
- #image_version_file ⇒ Object
-
#initialize(config:) ⇒ Boot
constructor
A new instance of Boot.
- #logging_args(max_size) ⇒ Object
- #options_file ⇒ Object
- #publish_args(http_port, https_port, bind_ips = nil) ⇒ Object
- #repository_name ⇒ Object
- #run_command_file ⇒ Object
- #tls_container_directory ⇒ Object
- #tls_directory ⇒ Object
Constructor Details
#initialize(config:) ⇒ Boot
Returns a new instance of Boot.
5 6 7 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 5 def initialize(config:) @config = config end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
2 3 4 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 2 def config @config end |
Instance Method Details
#app_container_directory ⇒ Object
86 87 88 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 86 def app_container_directory File.join apps_container_directory, config.service_and_destination end |
#app_directory ⇒ Object
82 83 84 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 82 def app_directory File.join apps_directory, config.service_and_destination end |
#apps_container_directory ⇒ Object
72 73 74 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 72 def apps_container_directory "/home/kamal-proxy/.apps-config" end |
#apps_directory ⇒ Object
68 69 70 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 68 def apps_directory File.join host_directory, "apps-config" end |
#apps_volume ⇒ Object
76 77 78 79 80 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 76 def apps_volume Kamal::Configuration::Volume.new \ host_path: apps_directory, container_path: apps_container_directory end |
#container_name ⇒ Object
44 45 46 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 44 def container_name "kamal-proxy" end |
#default_boot_options ⇒ Object
25 26 27 28 29 30 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 25 def [ *(publish_args(Kamal::Configuration::Proxy::Run::DEFAULT_HTTP_PORT, Kamal::Configuration::Proxy::Run::DEFAULT_HTTPS_PORT, nil)), *(logging_args(Kamal::Configuration::Proxy::Run::DEFAULT_LOG_MAX_SIZE)) ] end |
#error_pages_container_directory ⇒ Object
94 95 96 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 94 def error_pages_container_directory File.join app_container_directory, "error_pages" end |
#error_pages_directory ⇒ Object
90 91 92 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 90 def error_pages_directory File.join app_directory, "error_pages" end |
#host_directory ⇒ Object
48 49 50 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 48 def host_directory File.join config.run_directory, "proxy" end |
#image_default ⇒ Object
40 41 42 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 40 def image_default "#{repository_name}/#{image_name}" end |
#image_file ⇒ Object
56 57 58 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 56 def image_file File.join host_directory, "image" end |
#image_name ⇒ Object
36 37 38 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 36 def image_name "kamal-proxy" end |
#image_version_file ⇒ Object
60 61 62 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 60 def image_version_file File.join host_directory, "image_version" end |
#logging_args(max_size) ⇒ Object
21 22 23 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 21 def logging_args(max_size) argumentize "--log-opt", "max-size=#{max_size}" if max_size.present? end |
#options_file ⇒ Object
52 53 54 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 52 def File.join host_directory, "options" end |
#publish_args(http_port, https_port, bind_ips = nil) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 9 def publish_args(http_port, https_port, bind_ips = nil) ensure_valid_bind_ips(bind_ips) (bind_ips || [ nil ]).map do |bind_ip| bind_ip = format_bind_ip(bind_ip) publish_http = [ bind_ip, http_port, Kamal::Configuration::Proxy::Run::DEFAULT_HTTP_PORT ].compact.join(":") publish_https = [ bind_ip, https_port, Kamal::Configuration::Proxy::Run::DEFAULT_HTTPS_PORT ].compact.join(":") argumentize "--publish", [ publish_http, publish_https ] end.join(" ") end |
#repository_name ⇒ Object
32 33 34 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 32 def repository_name "basecamp" end |
#run_command_file ⇒ Object
64 65 66 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 64 def run_command_file File.join host_directory, "run_command" end |
#tls_container_directory ⇒ Object
102 103 104 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 102 def tls_container_directory File.join app_container_directory, "tls" end |
#tls_directory ⇒ Object
98 99 100 |
# File 'lib/kamal/configuration/proxy/boot.rb', line 98 def tls_directory File.join app_directory, "tls" end |