Class: Kettle::Family::Secrets::OnePassword

Inherits:
Provider
  • Object
show all
Defined in:
lib/kettle/family/secrets.rb,
lib/kettle/family/secrets.rb

Constant Summary collapse

PROVIDER_NAMES =
%w[1password onepassword op].freeze
DEFAULTS =
{
  "item" => "Rubygems",
  "gem_signing_passphrase_field" => "GEM-SIGN-PASSPHRASE",
  "rubygems_otp_field" => "one-time password"
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ OnePassword

Returns a new instance of OnePassword.



76
77
78
# File 'lib/kettle/family/secrets.rb', line 76

def initialize(config)
  @config = DEFAULTS.merge(config || {})
end

Class Method Details

.configured?(name) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/kettle/family/secrets.rb', line 17

def self.configured?(name)
  Kettle::Dev::ReleaseSecrets::OnePassword.configured?(name)
end

Instance Method Details

#authorize!Object



21
22
23
24
25
# File 'lib/kettle/family/secrets.rb', line 21

def authorize!
  with_release_secret_alert_suppressed { gem_signing_passphrase }
rescue => error
  raise Error, error.message
end

#gem_signing_passphraseObject



27
28
29
30
31
# File 'lib/kettle/family/secrets.rb', line 27

def gem_signing_passphrase
  super
rescue => error
  raise Error, error.message
end

#rubygems_otpObject



33
34
35
36
37
# File 'lib/kettle/family/secrets.rb', line 33

def rubygems_otp
  with_release_secret_alert_suppressed { super }
rescue => error
  raise Error, error.message
end