Adds the ability to alias/map secrets

This commit is contained in:
Matthew Jones
2025-03-02 09:27:50 -07:00
parent 62dfa45ee6
commit 973fa1a7ff
3 changed files with 47 additions and 1 deletions

View File

@@ -18,7 +18,7 @@ class Kamal::Configuration::Env
end
def secrets_io
Kamal::EnvFile.new(secret_keys.to_h { |key| [ key, secrets[key] ] }).to_io
Kamal::EnvFile.new(secrets_hash).to_io
end
def merge(other)
@@ -26,4 +26,12 @@ class Kamal::Configuration::Env
config: { "clear" => clear.merge(other.clear), "secret" => secret_keys | other.secret_keys },
secrets: secrets
end
private
def secrets_hash
secret_keys.to_h do |key|
key_name, key_aliased_to = key.split(":")
[ key_name, secrets[key_aliased_to || key_name] ]
end
end
end