Sha256: 696e63ea3fca78703f34e9c9a939d40ab1c5ceb923eab5a33ba747ce3d1205e4
Contents?: true
Size: 848 Bytes
Versions: 22
Compression:
Stored size: 848 Bytes
Contents
class Kamal::Configuration::Env include Kamal::Configuration::Validation attr_reader :context, :secrets attr_reader :clear, :secret_keys delegate :argumentize, to: Kamal::Utils def initialize(config:, secrets:, context: "env") @clear = config.fetch("clear", config.key?("secret") || config.key?("tags") ? {} : config) @secrets = secrets @secret_keys = config.fetch("secret", []) @context = context validate! config, context: context, with: Kamal::Configuration::Validator::Env end def clear_args argumentize("--env", clear) end def secrets_io Kamal::EnvFile.new(secret_keys.to_h { |key| [ key, secrets[key] ] }).to_io end def merge(other) self.class.new \ config: { "clear" => clear.merge(other.clear), "secret" => secret_keys | other.secret_keys }, secrets: secrets end end
Version data entries
22 entries across 22 versions & 2 rubygems