Class: SecretBroker
- Inherits:
-
Object
- Object
- SecretBroker
- Defined in:
- lib/secret_broker.rb,
lib/secret_broker/version.rb,
lib/secret_broker/dummy_secrets_hash.rb,
lib/secret_broker/ejson_secrets_file.rb
Overview
SecretBroker class for accessing secrets stored using ejson.
Usage:
Secrets.environment.fetch :key
Example (running in production):
Secrets.production.database_password
> ‘pa$$w0rd’
Secrets.staging.database_password
> ‘SECRET VALUE REQUESTED FOR database_password AN ENVIRONMENT OTHER THAN THE CURRENT ENVIRONMENT’
Defined Under Namespace
Classes: DummySecretsHash, EJsonSecretsFile
Constant Summary collapse
- REMOTE_ENVIRONMENTS =
[:staging, :production].freeze
- VERSION =
"0.1.0"
Class Method Summary collapse
Class Method Details
.current_environment ⇒ Object
29 30 31 |
# File 'lib/secret_broker.rb', line 29 def current_environment Rails.env end |
.current_environment_secrets ⇒ Object
25 26 27 |
# File 'lib/secret_broker.rb', line 25 def current_environment_secrets @current_environment_secrets ||= HashWithIndifferentAccess.new(ejson_secrets_file.to_h) end |
.ejson_secrets_file ⇒ Object
33 34 35 |
# File 'lib/secret_broker.rb', line 33 def ejson_secrets_file EJsonSecretsFile.new(current_environment) end |