sourceoverride

package
v2.24.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2024 License: Apache-2.0 Imports: 46 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Proxy_ProxyStream_FullMethodName     = "/sourceoverride.Proxy/ProxyStream"
	Proxy_ResolveOverride_FullMethodName = "/sourceoverride.Proxy/ResolveOverride"
)

Variables

View Source
var File_sourceoverride_proto protoreflect.FileDescriptor
View Source
var Proxy_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "sourceoverride.Proxy",
	HandlerType: (*ProxyServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ResolveOverride",
			Handler:    _Proxy_ResolveOverride_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "ProxyStream",
			Handler:       _Proxy_ProxyStream_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "sourceoverride.proto",
}

Proxy_ServiceDesc is the grpc.ServiceDesc for Proxy service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func InitControllerSecret

func InitControllerSecret(ctx context.Context, c client.Client, controllerNamespace string) error

func LoadTLSCA

func LoadTLSCA(ctx context.Context, c client.Reader, controllerNamespace string) (*x509.CertPool, error)

func RegisterProxyServer

func RegisterProxyServer(s grpc.ServiceRegistrar, srv ProxyServer)

func WaitAndLoadSecret

func WaitAndLoadSecret(ctx context.Context, c client.Reader, controllerNamespace string) (*x509.CertPool, *tls.Certificate, []byte, error)

Types

type AuthMsg

type AuthMsg struct {
	PubKey           []byte  `protobuf:"bytes,1,opt,name=pubKey,proto3,oneof" json:"pubKey,omitempty"`
	Challenge        []byte  `protobuf:"bytes,2,opt,name=challenge,proto3,oneof" json:"challenge,omitempty"`
	Pop              []byte  `protobuf:"bytes,3,opt,name=pop,proto3,oneof" json:"pop,omitempty"`
	AuthError        *string `protobuf:"bytes,4,opt,name=authError,proto3,oneof" json:"authError,omitempty"`
	PubKeyHash       *string `protobuf:"bytes,5,opt,name=pubKeyHash,proto3,oneof" json:"pubKeyHash,omitempty"`
	ControllerSecret []byte  `protobuf:"bytes,6,opt,name=controllerSecret,proto3,oneof" json:"controllerSecret,omitempty"`
	// contains filtered or unexported fields
}

func (*AuthMsg) Descriptor deprecated

func (*AuthMsg) Descriptor() ([]byte, []int)

Deprecated: Use AuthMsg.ProtoReflect.Descriptor instead.

func (*AuthMsg) GetAuthError

func (x *AuthMsg) GetAuthError() string

func (*AuthMsg) GetChallenge

func (x *AuthMsg) GetChallenge() []byte

func (*AuthMsg) GetControllerSecret

func (x *AuthMsg) GetControllerSecret() []byte

func (*AuthMsg) GetPop

func (x *AuthMsg) GetPop() []byte

func (*AuthMsg) GetPubKey

func (x *AuthMsg) GetPubKey() []byte

func (*AuthMsg) GetPubKeyHash

func (x *AuthMsg) GetPubKeyHash() string

func (*AuthMsg) ProtoMessage

func (*AuthMsg) ProtoMessage()

func (*AuthMsg) ProtoReflect

func (x *AuthMsg) ProtoReflect() protoreflect.Message

func (*AuthMsg) Reset

func (x *AuthMsg) Reset()

func (*AuthMsg) String

func (x *AuthMsg) String() string

type ChainedResolver

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

func NewChainedResolver

func NewChainedResolver(resolvers []Resolver) *ChainedResolver

func (*ChainedResolver) ResolveOverride

func (c *ChainedResolver) ResolveOverride(ctx context.Context, repoKey types.RepoKey) (string, error)

type Manager

type Manager struct {
	Overrides []RepoOverride
}

func NewManager

func NewManager(overrides []RepoOverride) *Manager

func (*Manager) ResolveOverride

func (m *Manager) ResolveOverride(ctx context.Context, repoKey types.RepoKey) (string, error)

type ProxyClient

type ProxyClient interface {
	ProxyStream(ctx context.Context, opts ...grpc.CallOption) (Proxy_ProxyStreamClient, error)
	ResolveOverride(ctx context.Context, in *ProxyRequest, opts ...grpc.CallOption) (*ResolveOverrideResponse, error)
}

ProxyClient is the client API for Proxy service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewProxyClient

func NewProxyClient(cc grpc.ClientConnInterface) ProxyClient

type ProxyClientCli

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

func NewClientCli

func NewClientCli(ctx context.Context, c client.Client, controllerNamespace string, resolver Resolver) (*ProxyClientCli, error)

func (*ProxyClientCli) BuildProxyUrl

func (c *ProxyClientCli) BuildProxyUrl() (*url.URL, error)

func (*ProxyClientCli) Connect

func (c *ProxyClientCli) Connect(target string) error

func (*ProxyClientCli) ConnectToPod

func (c *ProxyClientCli) ConnectToPod(restConfig *rest.Config, pod v1.Pod) error

func (*ProxyClientCli) Handshake

func (c *ProxyClientCli) Handshake() error

func (*ProxyClientCli) Start

func (c *ProxyClientCli) Start() error

type ProxyClientController

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

func NewClientController

func NewClientController(c client.Reader, controllerNamespace string, pubKeyHash string) (*ProxyClientController, error)

func (*ProxyClientController) AddKnownOverride

func (c *ProxyClientController) AddKnownOverride(ro RepoOverride)

func (*ProxyClientController) Cleanup

func (c *ProxyClientController) Cleanup()

func (*ProxyClientController) Close

func (c *ProxyClientController) Close() error

func (*ProxyClientController) Connect

func (c *ProxyClientController) Connect(ctx context.Context, target string) error

func (*ProxyClientController) ResolveOverride

func (c *ProxyClientController) ResolveOverride(ctx context.Context, repoKey types.RepoKey) (string, error)

type ProxyConnection

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

func (*ProxyConnection) Close

func (c *ProxyConnection) Close()

type ProxyRequest

type ProxyRequest struct {
	Auth    *AuthMsg                `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"`
	Request *ResolveOverrideRequest `protobuf:"bytes,2,opt,name=request,proto3,oneof" json:"request,omitempty"`
	// contains filtered or unexported fields
}

func (*ProxyRequest) Descriptor deprecated

func (*ProxyRequest) Descriptor() ([]byte, []int)

Deprecated: Use ProxyRequest.ProtoReflect.Descriptor instead.

func (*ProxyRequest) GetAuth

func (x *ProxyRequest) GetAuth() *AuthMsg

func (*ProxyRequest) GetRequest

func (x *ProxyRequest) GetRequest() *ResolveOverrideRequest

func (*ProxyRequest) ProtoMessage

func (*ProxyRequest) ProtoMessage()

func (*ProxyRequest) ProtoReflect

func (x *ProxyRequest) ProtoReflect() protoreflect.Message

func (*ProxyRequest) Reset

func (x *ProxyRequest) Reset()

func (*ProxyRequest) String

func (x *ProxyRequest) String() string

type ProxyResponse

type ProxyResponse struct {
	Auth     *AuthMsg                 `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"`
	Response *ResolveOverrideResponse `protobuf:"bytes,2,opt,name=response,proto3,oneof" json:"response,omitempty"`
	// contains filtered or unexported fields
}

func (*ProxyResponse) Descriptor deprecated

func (*ProxyResponse) Descriptor() ([]byte, []int)

Deprecated: Use ProxyResponse.ProtoReflect.Descriptor instead.

func (*ProxyResponse) GetAuth

func (x *ProxyResponse) GetAuth() *AuthMsg

func (*ProxyResponse) GetResponse

func (x *ProxyResponse) GetResponse() *ResolveOverrideResponse

func (*ProxyResponse) ProtoMessage

func (*ProxyResponse) ProtoMessage()

func (*ProxyResponse) ProtoReflect

func (x *ProxyResponse) ProtoReflect() protoreflect.Message

func (*ProxyResponse) Reset

func (x *ProxyResponse) Reset()

func (*ProxyResponse) String

func (x *ProxyResponse) String() string

type ProxyServer

type ProxyServer interface {
	ProxyStream(Proxy_ProxyStreamServer) error
	ResolveOverride(context.Context, *ProxyRequest) (*ResolveOverrideResponse, error)
	// contains filtered or unexported methods
}

ProxyServer is the server API for Proxy service. All implementations must embed UnimplementedProxyServer for forward compatibility

type ProxyServerImpl

type ProxyServerImpl struct {
	UnimplementedProxyServer
	// contains filtered or unexported fields
}

func NewProxyServerImpl

func NewProxyServerImpl(ctx context.Context, c client.Reader, controllerNamespace string) *ProxyServerImpl

func (*ProxyServerImpl) Listen

func (m *ProxyServerImpl) Listen(addr string) (net.Addr, error)

func (*ProxyServerImpl) ProxyStream

func (s *ProxyServerImpl) ProxyStream(stream Proxy_ProxyStreamServer) error

func (*ProxyServerImpl) ResolveOverride

func (s *ProxyServerImpl) ResolveOverride(ctx context.Context, req *ProxyRequest) (*ResolveOverrideResponse, error)

func (*ProxyServerImpl) Serve

func (m *ProxyServerImpl) Serve() error

func (*ProxyServerImpl) Stop

func (m *ProxyServerImpl) Stop()

type Proxy_ProxyStreamClient

type Proxy_ProxyStreamClient interface {
	Send(*ProxyResponse) error
	Recv() (*ProxyRequest, error)
	grpc.ClientStream
}

type Proxy_ProxyStreamServer

type Proxy_ProxyStreamServer interface {
	Send(*ProxyRequest) error
	Recv() (*ProxyResponse, error)
	grpc.ServerStream
}

type RepoOverride

type RepoOverride struct {
	RepoKey  types.RepoKey `json:"repoKey"`
	Override string        `json:"override"`
	IsGroup  bool          `json:"isGroup"`
}

func (*RepoOverride) Match

func (ro *RepoOverride) Match(repoKey types.RepoKey) (string, bool)

type ResolveOverrideRequest

type ResolveOverrideRequest struct {
	RepoKey string `protobuf:"bytes,1,opt,name=repoKey,proto3" json:"repoKey,omitempty"`
	// contains filtered or unexported fields
}

func (*ResolveOverrideRequest) Descriptor deprecated

func (*ResolveOverrideRequest) Descriptor() ([]byte, []int)

Deprecated: Use ResolveOverrideRequest.ProtoReflect.Descriptor instead.

func (*ResolveOverrideRequest) GetRepoKey

func (x *ResolveOverrideRequest) GetRepoKey() string

func (*ResolveOverrideRequest) ProtoMessage

func (*ResolveOverrideRequest) ProtoMessage()

func (*ResolveOverrideRequest) ProtoReflect

func (x *ResolveOverrideRequest) ProtoReflect() protoreflect.Message

func (*ResolveOverrideRequest) Reset

func (x *ResolveOverrideRequest) Reset()

func (*ResolveOverrideRequest) String

func (x *ResolveOverrideRequest) String() string

type ResolveOverrideResponse

type ResolveOverrideResponse struct {
	Error    *string `protobuf:"bytes,1,opt,name=error,proto3,oneof" json:"error,omitempty"`
	Artifact []byte  `protobuf:"bytes,2,opt,name=artifact,proto3,oneof" json:"artifact,omitempty"`
	// contains filtered or unexported fields
}

func (*ResolveOverrideResponse) Descriptor deprecated

func (*ResolveOverrideResponse) Descriptor() ([]byte, []int)

Deprecated: Use ResolveOverrideResponse.ProtoReflect.Descriptor instead.

func (*ResolveOverrideResponse) GetArtifact

func (x *ResolveOverrideResponse) GetArtifact() []byte

func (*ResolveOverrideResponse) GetError

func (x *ResolveOverrideResponse) GetError() string

func (*ResolveOverrideResponse) ProtoMessage

func (*ResolveOverrideResponse) ProtoMessage()

func (*ResolveOverrideResponse) ProtoReflect

func (x *ResolveOverrideResponse) ProtoReflect() protoreflect.Message

func (*ResolveOverrideResponse) Reset

func (x *ResolveOverrideResponse) Reset()

func (*ResolveOverrideResponse) String

func (x *ResolveOverrideResponse) String() string

type Resolver

type Resolver interface {
	ResolveOverride(ctx context.Context, repoKey types.RepoKey) (string, error)
}

type UnimplementedProxyServer

type UnimplementedProxyServer struct {
}

UnimplementedProxyServer must be embedded to have forward compatible implementations.

func (UnimplementedProxyServer) ProxyStream

func (UnimplementedProxyServer) ResolveOverride

type UnsafeProxyServer

type UnsafeProxyServer interface {
	// contains filtered or unexported methods
}

UnsafeProxyServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ProxyServer will result in compilation errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL