Added support for multistage build cache

This commit is contained in:
Igor Alexandrov
2023-06-15 21:20:06 +04:00
parent f0301d2007
commit 4df3389d09
10 changed files with 349 additions and 60 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
@@ -182,7 +182,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
@@ -197,6 +197,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