Documentation

Overview

    Package grpcproxy is an OSI level 7 proxy for etcd v3 API requests.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func AuthStreamClientInterceptor

    func AuthStreamClientInterceptor(ctx context.Context, desc *grpc.StreamDesc, cc *grpc.ClientConn, method string, streamer grpc.Streamer, opts ...grpc.CallOption) (grpc.ClientStream, error)

    func AuthUnaryClientInterceptor

    func AuthUnaryClientInterceptor(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error

    func DelRequestToOp

    func DelRequestToOp(r *pb.DeleteRangeRequest) clientv3.Op

    func HandleHealth

    func HandleHealth(mux *http.ServeMux, c *clientv3.Client)

      HandleHealth registers health handler on '/health'.

      func HandleMetrics

      func HandleMetrics(mux *http.ServeMux, c *http.Client, eps []string)

        HandleMetrics performs a GET request against etcd endpoint and returns '/metrics'.

        func NewAuthProxy

        func NewAuthProxy(c *clientv3.Client) pb.AuthServer

        func NewClusterProxy

        func NewClusterProxy(c *clientv3.Client, advaddr string, prefix string) (pb.ClusterServer, <-chan struct{})

          NewClusterProxy takes optional prefix to fetch grpc-proxy member endpoints. The returned channel is closed when there is grpc-proxy endpoint registered and the client's context is canceled so the 'register' loop returns.

          func NewElectionProxy

          func NewElectionProxy(client *clientv3.Client) v3electionpb.ElectionServer

          func NewKvProxy

          func NewKvProxy(c *clientv3.Client) (pb.KVServer, <-chan struct{})

          func NewLeaseProxy

          func NewLeaseProxy(c *clientv3.Client) (pb.LeaseServer, <-chan struct{})

          func NewLockProxy

          func NewLockProxy(client *clientv3.Client) v3lockpb.LockServer

          func NewMaintenanceProxy

          func NewMaintenanceProxy(c *clientv3.Client) pb.MaintenanceServer

          func NewWatchProxy

          func NewWatchProxy(c *clientv3.Client) (pb.WatchServer, <-chan struct{})

          func PutRequestToOp

          func PutRequestToOp(r *pb.PutRequest) clientv3.Op

          func RangeRequestToOp

          func RangeRequestToOp(r *pb.RangeRequest) clientv3.Op

          func Register

          func Register(c *clientv3.Client, prefix string, addr string, ttl int) <-chan struct{}

            Register registers itself as a grpc-proxy server by writing prefixed-key with session of specified TTL (in seconds). The returned channel is closed when the client's context is canceled.

            func TxnRequestToOp

            func TxnRequestToOp(r *pb.TxnRequest) clientv3.Op

            Types

            type AuthProxy

            type AuthProxy struct {
            	// contains filtered or unexported fields
            }

            func (*AuthProxy) AuthDisable

            func (*AuthProxy) AuthEnable

            func (*AuthProxy) Authenticate

            func (*AuthProxy) RoleAdd

            func (*AuthProxy) RoleDelete

            func (*AuthProxy) RoleGet

            func (*AuthProxy) RoleList

            func (*AuthProxy) UserAdd

            func (*AuthProxy) UserDelete

            func (*AuthProxy) UserGet

            func (*AuthProxy) UserGrantRole

            func (*AuthProxy) UserList

            func (*AuthProxy) UserRevokeRole

            Directories

            Path Synopsis
            Package adapter provides gRPC adapters between client and server gRPC interfaces without needing to go through a gRPC connection.
            Package adapter provides gRPC adapters between client and server gRPC interfaces without needing to go through a gRPC connection.
            Package cache exports functionality for efficiently caching and mapping `RangeRequest`s to corresponding `RangeResponse`s.
            Package cache exports functionality for efficiently caching and mapping `RangeRequest`s to corresponding `RangeResponse`s.