Add kamal-proxy in experimental mode
The proxy can be enabled via the config:
```
proxy:
enabled: true
hosts:
- 10.0.0.1
- 10.0.0.2
```
This will enable the proxy and cause it to be run on the hosts listed
under `hosts`, after running `kamal proxy reboot`.
Enabling the proxy disables `kamal traefik` commands and replaces them
with `kamal proxy` ones. However only the marked hosts will run the
kamal-proxy container, the rest will run Traefik as before.
This commit is contained in:
committed by
Donal McBreen
parent
66d5e25834
commit
eab717e0cf
@@ -30,6 +30,24 @@ class Kamal::Commands::App < Kamal::Commands::Base
|
||||
role.cmd
|
||||
end
|
||||
|
||||
def run_for_proxy(hostname: nil)
|
||||
docker :run,
|
||||
"--detach",
|
||||
"--restart unless-stopped",
|
||||
"--name", container_name,
|
||||
*([ "--hostname", hostname ] if hostname),
|
||||
"-e", "KAMAL_CONTAINER_NAME=\"#{container_name}\"",
|
||||
"-e", "KAMAL_VERSION=\"#{config.version}\"",
|
||||
*role.env_args(host),
|
||||
*role.logging_args,
|
||||
*config.volume_args,
|
||||
*role.asset_volume_args,
|
||||
*role.label_args_for_proxy,
|
||||
*role.option_args,
|
||||
config.absolute_image,
|
||||
role.cmd
|
||||
end
|
||||
|
||||
def start
|
||||
docker :start, container_name
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user