Documentation ¶
Overview ¶
Package grpcproxy is an OSI level 7 proxy for etcd v3 API requests.
Index ¶
- func AuthStreamClientInterceptor(ctx context.Context, desc *grpc.StreamDesc, cc *grpc.ClientConn, method string, ...) (grpc.ClientStream, error)
- func AuthUnaryClientInterceptor(ctx context.Context, method string, req, reply interface{}, ...) error
- func DelRequestToOp(r *pb.DeleteRangeRequest) clientv3.Op
- func HandleHealth(lg *zap.Logger, mux *http.ServeMux, c *clientv3.Client)
- func HandleMetrics(mux *http.ServeMux, c *http.Client, eps []string)
- func HandleProxyHealth(lg *zap.Logger, mux *http.ServeMux, c *clientv3.Client)
- func HandleProxyMetrics(mux *http.ServeMux)
- func NewAuthProxy(c *clientv3.Client) pb.AuthServer
- func NewClusterProxy(lg *zap.Logger, c *clientv3.Client, advaddr string, prefix string) (pb.ClusterServer, <-chan struct{})
- func NewElectionProxy(client *clientv3.Client) v3electionpb.ElectionServer
- func NewKvProxy(c *clientv3.Client) (pb.KVServer, <-chan struct{})
- func NewLeaseProxy(ctx context.Context, c *clientv3.Client) (pb.LeaseServer, <-chan struct{})
- func NewLockProxy(client *clientv3.Client) v3lockpb.LockServer
- func NewMaintenanceProxy(c *clientv3.Client) pb.MaintenanceServer
- func NewWatchProxy(ctx context.Context, lg *zap.Logger, c *clientv3.Client) (pb.WatchServer, <-chan struct{})
- func PutRequestToOp(r *pb.PutRequest) clientv3.Op
- func RangeRequestToOp(r *pb.RangeRequest) clientv3.Op
- func Register(lg *zap.Logger, c *clientv3.Client, prefix string, addr string, ttl int) <-chan struct{}
- func TxnRequestToOp(r *pb.TxnRequest) clientv3.Op
- type AuthProxy
- func (ap *AuthProxy) AuthDisable(ctx context.Context, r *pb.AuthDisableRequest) (*pb.AuthDisableResponse, error)
- func (ap *AuthProxy) AuthEnable(ctx context.Context, r *pb.AuthEnableRequest) (*pb.AuthEnableResponse, error)
- func (ap *AuthProxy) AuthStatus(ctx context.Context, r *pb.AuthStatusRequest) (*pb.AuthStatusResponse, error)
- func (ap *AuthProxy) Authenticate(ctx context.Context, r *pb.AuthenticateRequest) (*pb.AuthenticateResponse, error)
- func (ap *AuthProxy) RoleAdd(ctx context.Context, r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error)
- func (ap *AuthProxy) RoleDelete(ctx context.Context, r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error)
- func (ap *AuthProxy) RoleGet(ctx context.Context, r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error)
- func (ap *AuthProxy) RoleGrantPermission(ctx context.Context, r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error)
- func (ap *AuthProxy) RoleList(ctx context.Context, r *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error)
- func (ap *AuthProxy) RoleRevokePermission(ctx context.Context, r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error)
- func (ap *AuthProxy) UserAdd(ctx context.Context, r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error)
- func (ap *AuthProxy) UserChangePassword(ctx context.Context, r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error)
- func (ap *AuthProxy) UserDelete(ctx context.Context, r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error)
- func (ap *AuthProxy) UserGet(ctx context.Context, r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error)
- func (ap *AuthProxy) UserGrantRole(ctx context.Context, r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error)
- func (ap *AuthProxy) UserList(ctx context.Context, r *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error)
- func (ap *AuthProxy) UserRevokeRole(ctx context.Context, r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error)
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 ¶
HandleHealth registers health handler on '/health'.
func HandleMetrics ¶
HandleMetrics performs a GET request against etcd endpoint and returns '/metrics'.
func HandleProxyHealth ¶
HandleProxyHealth registers health handler on '/proxy/health'.
func HandleProxyMetrics ¶
HandleProxyMetrics registers metrics handler on '/proxy/metrics'.
func NewAuthProxy ¶
func NewAuthProxy(c *clientv3.Client) pb.AuthServer
func NewClusterProxy ¶
func NewClusterProxy(lg *zap.Logger, 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. TODO: Expand the API to report creation errors
func NewElectionProxy ¶
func NewElectionProxy(client *clientv3.Client) v3electionpb.ElectionServer
func NewKvProxy ¶
func NewLeaseProxy ¶
func NewLeaseProxy(ctx context.Context, 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 PutRequestToOp ¶
func PutRequestToOp(r *pb.PutRequest) clientv3.Op
func RangeRequestToOp ¶
func RangeRequestToOp(r *pb.RangeRequest) clientv3.Op
func Register ¶
func Register(lg *zap.Logger, 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 (ap *AuthProxy) AuthDisable(ctx context.Context, r *pb.AuthDisableRequest) (*pb.AuthDisableResponse, error)
func (*AuthProxy) AuthEnable ¶
func (ap *AuthProxy) AuthEnable(ctx context.Context, r *pb.AuthEnableRequest) (*pb.AuthEnableResponse, error)
func (*AuthProxy) AuthStatus ¶
func (ap *AuthProxy) AuthStatus(ctx context.Context, r *pb.AuthStatusRequest) (*pb.AuthStatusResponse, error)
func (*AuthProxy) Authenticate ¶
func (ap *AuthProxy) Authenticate(ctx context.Context, r *pb.AuthenticateRequest) (*pb.AuthenticateResponse, error)
func (*AuthProxy) RoleAdd ¶
func (ap *AuthProxy) RoleAdd(ctx context.Context, r *pb.AuthRoleAddRequest) (*pb.AuthRoleAddResponse, error)
func (*AuthProxy) RoleDelete ¶
func (ap *AuthProxy) RoleDelete(ctx context.Context, r *pb.AuthRoleDeleteRequest) (*pb.AuthRoleDeleteResponse, error)
func (*AuthProxy) RoleGet ¶
func (ap *AuthProxy) RoleGet(ctx context.Context, r *pb.AuthRoleGetRequest) (*pb.AuthRoleGetResponse, error)
func (*AuthProxy) RoleGrantPermission ¶
func (ap *AuthProxy) RoleGrantPermission(ctx context.Context, r *pb.AuthRoleGrantPermissionRequest) (*pb.AuthRoleGrantPermissionResponse, error)
func (*AuthProxy) RoleList ¶
func (ap *AuthProxy) RoleList(ctx context.Context, r *pb.AuthRoleListRequest) (*pb.AuthRoleListResponse, error)
func (*AuthProxy) RoleRevokePermission ¶
func (ap *AuthProxy) RoleRevokePermission(ctx context.Context, r *pb.AuthRoleRevokePermissionRequest) (*pb.AuthRoleRevokePermissionResponse, error)
func (*AuthProxy) UserAdd ¶
func (ap *AuthProxy) UserAdd(ctx context.Context, r *pb.AuthUserAddRequest) (*pb.AuthUserAddResponse, error)
func (*AuthProxy) UserChangePassword ¶
func (ap *AuthProxy) UserChangePassword(ctx context.Context, r *pb.AuthUserChangePasswordRequest) (*pb.AuthUserChangePasswordResponse, error)
func (*AuthProxy) UserDelete ¶
func (ap *AuthProxy) UserDelete(ctx context.Context, r *pb.AuthUserDeleteRequest) (*pb.AuthUserDeleteResponse, error)
func (*AuthProxy) UserGet ¶
func (ap *AuthProxy) UserGet(ctx context.Context, r *pb.AuthUserGetRequest) (*pb.AuthUserGetResponse, error)
func (*AuthProxy) UserGrantRole ¶
func (ap *AuthProxy) UserGrantRole(ctx context.Context, r *pb.AuthUserGrantRoleRequest) (*pb.AuthUserGrantRoleResponse, error)
func (*AuthProxy) UserList ¶
func (ap *AuthProxy) UserList(ctx context.Context, r *pb.AuthUserListRequest) (*pb.AuthUserListResponse, error)
func (*AuthProxy) UserRevokeRole ¶
func (ap *AuthProxy) UserRevokeRole(ctx context.Context, r *pb.AuthUserRevokeRoleRequest) (*pb.AuthUserRevokeRoleResponse, error)
Source Files ¶
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. |