Extract secrets_get_flags
This commit is contained in:
@@ -18,8 +18,19 @@ class Kamal::Secrets::Adapters::Doppler < Kamal::Secrets::Adapters::Base
|
|||||||
|
|
||||||
def fetch_secrets(secrets, from:, **)
|
def fetch_secrets(secrets, from:, **)
|
||||||
secrets = prefixed_secrets(secrets, from: 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?
|
unless service_token_set?
|
||||||
project, config, _ = secrets.first.split("/")
|
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}"
|
project_and_config_flags = "-p #{project.shellescape} -c #{config.shellescape}"
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
def service_token_set?
|
def service_token_set?
|
||||||
|
|||||||
Reference in New Issue
Block a user