class ContainerConfig::Provider::SecretVolume
Secret volume mount config value provider
Constants
- DEFAULT_SECRET_PATH
Default
secret volume mount path used when globbing secret files
Attributes
default_directory[RW]
directory[RW]
Public Class Methods
new()
click to toggle source
Initializes a new ContainerConfig::Provider::SecretVolume
Calls superclass method
# File lib/container_config/provider/secret_volume.rb, line 22 def initialize super @default_directory = DEFAULT_SECRET_PATH @directory = nil end
Public Instance Methods
load(key, *dig_keys, **options)
click to toggle source
Loads a secret volume mount configuration setting
@param [String] key Configuration key to load @param [Array] dig_keys Variable keys to use to load from providers that accept a dig structure
defaults to the lowercase key split by underscores "MY_PASSWORD" => ["my", "password"]
@param [Hash] options Options Hash @option options [String] :secret_mount_directory directory where secret files are mounted
@return [Object] configuration setting value
Calls superclass method
ContainerConfig::Provider::Base#load
# File lib/container_config/provider/secret_volume.rb, line 40 def load(key, *dig_keys, **options) super secret_file = Dir.glob(File.join(secret_mount_directory(**options), "**", key)).first return if secret_file.nil? || !File.exist?(secret_file) File.read(secret_file) end
name()
click to toggle source
@see ContainerConfig::Provider::Base#name
# File lib/container_config/provider/secret_volume.rb, line 15 def name "Secret Volume" end
Private Instance Methods
secret_mount_directory(options)
click to toggle source
# File lib/container_config/provider/secret_volume.rb, line 50 def secret_mount_directory(options) options[:secret_mount_directory] || directory || ENV["SECRET_MOUNT_DIRECTORY"] || default_directory end