Extract secrets_get_flags

This commit is contained in:
Donal McBreen
2025-01-17 12:31:03 +00:00
parent 5e2678dece
commit 10dafc058a

View File

@@ -18,8 +18,19 @@ class Kamal::Secrets::Adapters::Doppler < Kamal::Secrets::Adapters::Base
def fetch_secrets(secrets, from:, **)
secrets = prefixed_secrets(secrets, from: from)
project_and_config_flags = ""
flags = secrets_get_flags(secrets)
secret_names = secrets.collect { |s| s.split("/").last }
items = `doppler secrets get #{secret_names.map(&:shellescape).join(" ")} --json #{flags}`
raise RuntimeError, "Could not read #{secrets} from Doppler" unless $?.success?
items = JSON.parse(items)
items.transform_values { |value| value["computed"] }
end
def secrets_get_flags(secrets)
unless service_token_set?
project, config, _ = secrets.first.split("/")
@@ -29,15 +40,6 @@ class Kamal::Secrets::Adapters::Doppler < Kamal::Secrets::Adapters::Base
project_and_config_flags = "-p #{project.shellescape} -c #{config.shellescape}"
end
secret_names = secrets.collect { |s| s.split("/").last }
items = `doppler secrets get #{secret_names.map(&:shellescape).join(" ")} --json #{project_and_config_flags}`
raise RuntimeError, "Could not read #{secrets} from Doppler" unless $?.success?
items = JSON.parse(items)
items.transform_values { |value| value["computed"] }
end
def service_token_set?