Sha256: 54d8c42bfa53916b460a010ebf8b4a03377b117abd460054c74bddc97dabedcd
Contents?: true
Size: 1.41 KB
Versions: 2
Compression:
Stored size: 1.41 KB
Contents
require 'grpc' require 'uri' require 'etcdv3/etcdrpc/rpc_services_pb' require 'etcdv3/auth' require 'etcdv3/kv' class Etcd def options Marshal.load(Martial.dump(@options)) end def uri URI(@options[:url]) end def scheme uri.scheme end def port uri.port end def hostname uri.hostname end def user @options[:user] end def password @options[:password] end def token @metadata[:token] end def credentials @credentials end def initialize(options={}) @options = options @credentials = resolve_credentials @metadata = {} unless user.nil? @metadata[:token] = auth.generate_token(user, password) end end def put(key, value) kv.put(key, value, @metadata) end def range(key, range_end) kv.range(key, range_end, @metadata) end def add_user(user, password) auth.add_user(user, password, @metadata) end def delete_user(user) auth.delete_user(user, @metadata) end def user_list auth.user_list(@metadata) end private def auth Etcd::Auth.new(hostname, port, @credentials) end def kv Etcd::KV.new(hostname, port, @credentials) end def resolve_credentials case scheme when "http" :this_channel_is_insecure when "https" # Use default certs for now. GRPC::Core::ChannelCredentials.new else raise "Unknown scheme: #{scheme}" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
etcdv3-0.0.4 | lib/etcdv3.rb |
etcdv3-0.0.3 | lib/etcdv3.rb |