Set env variables when running kamal app exec
Allow additional env variable to be set when running `kamal app exec`. Works for both new and existing containers.
This commit is contained in:
@@ -1,27 +1,29 @@
|
||||
module Kamal::Commands::App::Execution
|
||||
def execute_in_existing_container(*command, interactive: false)
|
||||
def execute_in_existing_container(*command, interactive: false, env:)
|
||||
docker :exec,
|
||||
("-it" if interactive),
|
||||
*argumentize("--env", env),
|
||||
container_name,
|
||||
*command
|
||||
end
|
||||
|
||||
def execute_in_new_container(*command, interactive: false)
|
||||
def execute_in_new_container(*command, interactive: false, env:)
|
||||
docker :run,
|
||||
("-it" if interactive),
|
||||
"--rm",
|
||||
*role&.env_args,
|
||||
*argumentize("--env", env),
|
||||
*config.volume_args,
|
||||
*role&.option_args,
|
||||
config.absolute_image,
|
||||
*command
|
||||
end
|
||||
|
||||
def execute_in_existing_container_over_ssh(*command, host:)
|
||||
run_over_ssh execute_in_existing_container(*command, interactive: true), host: host
|
||||
def execute_in_existing_container_over_ssh(*command, host:, env:)
|
||||
run_over_ssh execute_in_existing_container(*command, interactive: true, env: env), host: host
|
||||
end
|
||||
|
||||
def execute_in_new_container_over_ssh(*command, host:)
|
||||
run_over_ssh execute_in_new_container(*command, interactive: true), host: host
|
||||
def execute_in_new_container_over_ssh(*command, host:, env:)
|
||||
run_over_ssh execute_in_new_container(*command, interactive: true, env: env), host: host
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user