Module: ScoutApmMcp::Helpers::ApiKeyResolver

Included in:
ScoutApmMcp::Helpers
Defined in:
lib/scout_apm_mcp/helpers/api_key_resolver.rb

Instance Method Summary collapse

Instance Method Details

#get_api_key(api_key: nil, op_vault: nil, op_item: nil, op_field: "API_KEY") ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/scout_apm_mcp/helpers/api_key_resolver.rb', line 13

def get_api_key(api_key: nil, op_vault: nil, op_item: nil, op_field: "API_KEY")
  direct_key = api_key if api_key && !api_key.empty?
  return direct_key if direct_key

  environment_key = ENV["API_KEY"] || ENV["SCOUT_APM_API_KEY"]
  return environment_key if environment_key && !environment_key.empty?

  resolved_key = api_key_from_op_env_entry(op_field) || api_key_from_opdotenv(op_vault, op_item, op_field)
  return resolved_key if resolved_key && !resolved_key.empty?

  raise_missing_api_key
end

#read_op_secret(reference) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/scout_apm_mcp/helpers/api_key_resolver.rb', line 4

def read_op_secret(reference)
  stdout, _stderr, status = Open3.capture3("op", "read", reference)
  return stdout.strip if status.success? && !stdout.strip.empty?

  nil
rescue
  nil
end