Merge pull request #337 from igor-alexandrov/feature/cache

Support for Docker multistage build cache
This commit is contained in:
David Heinemeier Hansson
2023-06-20 11:38:46 +02:00
committed by GitHub
12 changed files with 365 additions and 55 deletions

View File

@@ -6,7 +6,7 @@ require "erb"
require "net/ssh/proxy/jump"
class Mrsk::Configuration
delegate :service, :image, :servers, :env, :labels, :registry, :builder, :stop_wait_time, :hooks_path, to: :raw_config, allow_nil: true
delegate :service, :image, :servers, :env, :labels, :registry, :stop_wait_time, :hooks_path, to: :raw_config, allow_nil: true
delegate :argumentize, :argumentize_env_with_secrets, :optionize, to: Mrsk::Utils
attr_accessor :destination
@@ -186,7 +186,7 @@ class Mrsk::Configuration
env_args: env_args,
volume_args: volume_args,
ssh_options: ssh_options,
builder: raw_config.builder,
builder: builder.to_h,
accessories: raw_config.accessories,
logging: logging_args,
healthcheck: healthcheck
@@ -201,6 +201,10 @@ class Mrsk::Configuration
raw_config.hooks_path || ".mrsk/hooks"
end
def builder
Mrsk::Configuration::Builder.new(config: self)
end
private
# Will raise ArgumentError if any required config keys are missing
def ensure_required_keys_present