Class: AgentsControl::Secrets::Providers::Env

Inherits:
Object
  • Object
show all
Defined in:
lib/agents_control/secrets.rb

Overview

Environment variables. Read-only — writing into someone else's process isn't possible. Needed for CI, containers, and headless machines with no keyring daemon.

Instance Method Summary collapse

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


77
# File 'lib/agents_control/secrets.rb', line 77

def available? = true

#delete(_key) ⇒ Object



84
# File 'lib/agents_control/secrets.rb', line 84

def delete(_key) = nil

#get(key) ⇒ Object



80
# File 'lib/agents_control/secrets.rb', line 80

def get(key) = ENV.fetch(variable_for(key), nil)

#nameObject



76
# File 'lib/agents_control/secrets.rb', line 76

def name = "environment variable"

#set(_key, _value) ⇒ Object

Raises:



82
# File 'lib/agents_control/secrets.rb', line 82

def set(_key, _value) = raise(Error, "cannot write an environment variable")

#variable_for(key) ⇒ Object



86
# File 'lib/agents_control/secrets.rb', line 86

def variable_for(key) = "AGENTS_CONTROL_#{key.upcase}"

#writable?Boolean

Returns:

  • (Boolean)


78
# File 'lib/agents_control/secrets.rb', line 78

def writable? = false