class Cabal::API::ClusterService
Attributes
private_keys[RW]
public_keys[RW]
Public Class Methods
new(public_warehouse: STORAGE[:public], private_warehouse: STORAGE[:private])
click to toggle source
# File lib/cabal/api/cluster_service.rb, line 11 def initialize(public_warehouse: STORAGE[:public], private_warehouse: STORAGE[:private]) @public_keys = Sekrat.manager(warehouse: public_warehouse) @private_keys = Sekrat.manager(warehouse: private_warehouse, crypter: Sekrat::Crypter::Aes) end
Public Instance Methods
create(name)
click to toggle source
# File lib/cabal/api/cluster_service.rb, line 17 def create(name) sshkey = SSHKey.generate( type: 'RSA', bits: 2048, comment: "#{name}-cabal" ) write_public_key(name, sshkey) && write_private_key(name, sshkey) end
names()
click to toggle source
# File lib/cabal/api/cluster_service.rb, line 27 def names public_keys.ids end
private_key(name)
click to toggle source
# File lib/cabal/api/cluster_service.rb, line 39 def private_key(name) begin private_keys.get(name, public_key(name)) rescue nil end end
public_key(name)
click to toggle source
# File lib/cabal/api/cluster_service.rb, line 31 def public_key(name) begin public_keys.get(name, name) rescue nil end end
Private Instance Methods
write_private_key(name, key)
click to toggle source
# File lib/cabal/api/cluster_service.rb, line 57 def write_private_key(name, key) begin private_keys.put( name, key.ssh_public_key, key.private_key ) true rescue false end end
write_public_key(name, key)
click to toggle source
# File lib/cabal/api/cluster_service.rb, line 48 def write_public_key(name, key) begin public_keys.put(name, name, key.ssh_public_key) true rescue return false end end