Documentation
¶
Overview ¶
Package console is a generated GoMock package.
Index ¶
- Variables
- type AppConsoleResolver
- type ExecStreamer
- type Manager
- type MockRouterServiceClient
- type MockRouterServiceClientMockRecorder
- type MockRouterService_StreamClient
- func (m *MockRouterService_StreamClient) CloseSend() error
- func (m *MockRouterService_StreamClient) Context() context.Context
- func (m *MockRouterService_StreamClient) EXPECT() *MockRouterService_StreamClientMockRecorder
- func (m *MockRouterService_StreamClient) Header() (metadata.MD, error)
- func (m *MockRouterService_StreamClient) Recv() (*grpc_v1.StreamResponse, error)
- func (m_2 *MockRouterService_StreamClient) RecvMsg(m any) error
- func (m *MockRouterService_StreamClient) Send(arg0 *grpc_v1.StreamRequest) error
- func (m_2 *MockRouterService_StreamClient) SendMsg(m any) error
- func (m *MockRouterService_StreamClient) Trailer() metadata.MD
- type MockRouterService_StreamClientMockRecorder
- func (mr *MockRouterService_StreamClientMockRecorder) CloseSend() *gomock.Call
- func (mr *MockRouterService_StreamClientMockRecorder) Context() *gomock.Call
- func (mr *MockRouterService_StreamClientMockRecorder) Header() *gomock.Call
- func (mr *MockRouterService_StreamClientMockRecorder) Recv() *gomock.Call
- func (mr *MockRouterService_StreamClientMockRecorder) RecvMsg(m any) *gomock.Call
- func (mr *MockRouterService_StreamClientMockRecorder) Send(arg0 any) *gomock.Call
- func (mr *MockRouterService_StreamClientMockRecorder) SendMsg(m any) *gomock.Call
- func (mr *MockRouterService_StreamClientMockRecorder) Trailer() *gomock.Call
- type ResolverFunc
- type Session
Constants ¶
This section is empty.
Variables ¶
var ErrAppNotReady = errors.New("may not be ready yet, please try again later or check the device logs")
ErrAppNotReady is returned by ResolveConsole when the VM application is tracked but has no active compute workload (e.g. stopped or still starting). Clients may retry.
Functions ¶
This section is empty.
Types ¶
type AppConsoleResolver ¶
AppConsoleResolver resolves an app name and console type into a ready-to-run Session, or returns an error if the combination is not supported.
type ExecStreamer ¶
type ExecStreamer interface {
ExecStream(ctx context.Context, containerName string, cmd ...string) (io.ReadWriteCloser, error)
// Exec runs a short-lived command inside the container (used to reap leftover console clients).
Exec(ctx context.Context, containerName string, cmd ...string) error
}
ExecStreamer opens an interactive exec session inside a named container, returning the process's stdin/stdout as an io.ReadWriteCloser. *client.Podman satisfies this interface in production; tests may inject a fake.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager tracks active and inactive app console sessions. It is a pure orchestrator: it calls the resolver to obtain a Session, opens the gRPC stream, and hands the stream to the Session to do the actual I/O. Created and owned by applications.manager.
func NewManager ¶
func NewManager( grpcClient grpc_v1.RouterServiceClient, deviceName string, resolver AppConsoleResolver, log *log.PrefixLogger, ) *Manager
func (*Manager) Start ¶
func (m *Manager) Start(ctx context.Context, entry v1beta1.DeviceRemoteSession)
Start is the entry point called by syncConsole for each annotation entry. It resolves the app console, opens the gRPC stream, and runs the session.
type MockRouterServiceClient ¶
type MockRouterServiceClient struct {
// contains filtered or unexported fields
}
MockRouterServiceClient is a mock of RouterServiceClient interface.
func NewMockRouterServiceClient ¶
func NewMockRouterServiceClient(ctrl *gomock.Controller) *MockRouterServiceClient
NewMockRouterServiceClient creates a new mock instance.
func (*MockRouterServiceClient) EXPECT ¶
func (m *MockRouterServiceClient) EXPECT() *MockRouterServiceClientMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockRouterServiceClient) Stream ¶
func (m *MockRouterServiceClient) Stream(ctx context.Context, opts ...grpc.CallOption) (grpc_v1.RouterService_StreamClient, error)
Stream mocks base method.
type MockRouterServiceClientMockRecorder ¶
type MockRouterServiceClientMockRecorder struct {
// contains filtered or unexported fields
}
MockRouterServiceClientMockRecorder is the mock recorder for MockRouterServiceClient.
type MockRouterService_StreamClient ¶
type MockRouterService_StreamClient struct {
// contains filtered or unexported fields
}
MockRouterService_StreamClient is a mock of RouterService_StreamClient interface.
func NewMockRouterService_StreamClient ¶
func NewMockRouterService_StreamClient(ctrl *gomock.Controller) *MockRouterService_StreamClient
NewMockRouterService_StreamClient creates a new mock instance.
func (*MockRouterService_StreamClient) CloseSend ¶
func (m *MockRouterService_StreamClient) CloseSend() error
CloseSend mocks base method.
func (*MockRouterService_StreamClient) Context ¶
func (m *MockRouterService_StreamClient) Context() context.Context
Context mocks base method.
func (*MockRouterService_StreamClient) EXPECT ¶
func (m *MockRouterService_StreamClient) EXPECT() *MockRouterService_StreamClientMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockRouterService_StreamClient) Header ¶
func (m *MockRouterService_StreamClient) Header() (metadata.MD, error)
Header mocks base method.
func (*MockRouterService_StreamClient) Recv ¶
func (m *MockRouterService_StreamClient) Recv() (*grpc_v1.StreamResponse, error)
Recv mocks base method.
func (*MockRouterService_StreamClient) RecvMsg ¶
func (m_2 *MockRouterService_StreamClient) RecvMsg(m any) error
RecvMsg mocks base method.
func (*MockRouterService_StreamClient) Send ¶
func (m *MockRouterService_StreamClient) Send(arg0 *grpc_v1.StreamRequest) error
Send mocks base method.
func (*MockRouterService_StreamClient) SendMsg ¶
func (m_2 *MockRouterService_StreamClient) SendMsg(m any) error
SendMsg mocks base method.
func (*MockRouterService_StreamClient) Trailer ¶
func (m *MockRouterService_StreamClient) Trailer() metadata.MD
Trailer mocks base method.
type MockRouterService_StreamClientMockRecorder ¶
type MockRouterService_StreamClientMockRecorder struct {
// contains filtered or unexported fields
}
MockRouterService_StreamClientMockRecorder is the mock recorder for MockRouterService_StreamClient.
func (*MockRouterService_StreamClientMockRecorder) CloseSend ¶
func (mr *MockRouterService_StreamClientMockRecorder) CloseSend() *gomock.Call
CloseSend indicates an expected call of CloseSend.
func (*MockRouterService_StreamClientMockRecorder) Context ¶
func (mr *MockRouterService_StreamClientMockRecorder) Context() *gomock.Call
Context indicates an expected call of Context.
func (*MockRouterService_StreamClientMockRecorder) Header ¶
func (mr *MockRouterService_StreamClientMockRecorder) Header() *gomock.Call
Header indicates an expected call of Header.
func (*MockRouterService_StreamClientMockRecorder) Recv ¶
func (mr *MockRouterService_StreamClientMockRecorder) Recv() *gomock.Call
Recv indicates an expected call of Recv.
func (*MockRouterService_StreamClientMockRecorder) RecvMsg ¶
func (mr *MockRouterService_StreamClientMockRecorder) RecvMsg(m any) *gomock.Call
RecvMsg indicates an expected call of RecvMsg.
func (*MockRouterService_StreamClientMockRecorder) Send ¶
func (mr *MockRouterService_StreamClientMockRecorder) Send(arg0 any) *gomock.Call
Send indicates an expected call of Send.
func (*MockRouterService_StreamClientMockRecorder) SendMsg ¶
func (mr *MockRouterService_StreamClientMockRecorder) SendMsg(m any) *gomock.Call
SendMsg indicates an expected call of SendMsg.
func (*MockRouterService_StreamClientMockRecorder) Trailer ¶
func (mr *MockRouterService_StreamClientMockRecorder) Trailer() *gomock.Call
Trailer indicates an expected call of Trailer.
type ResolverFunc ¶
ResolverFunc is a func adapter for AppConsoleResolver (like http.HandlerFunc). It allows callers to pass an unexported method as a resolver without exposing an exported method on their own type.
func (ResolverFunc) ResolveConsole ¶
func (f ResolverFunc) ResolveConsole(appName, consoleType string) (Session, error)
type Session ¶
type Session interface {
Run(ctx context.Context, streamClient grpc_v1.RouterService_StreamClient)
}
Session is the per-console-type I/O interface. Each app type (VM, container, …) provides its own implementation.
func NewVMSerialSession ¶
func NewVMSerialSession(containerName string, exec ExecStreamer, log *log.PrefixLogger) Session
NewVMSerialSession returns a Session that bridges the VM's serial socket to the gRPC stream. exec must not be nil; in production pass a *client.Podman, in tests pass a mock ExecStreamer.
func NewVMVNCSession ¶
func NewVMVNCSession(containerName string, exec ExecStreamer, log *log.PrefixLogger) Session
NewVMVNCSession returns a Session that bridges the VM's VNC socket to the gRPC stream. exec must not be nil; in production pass a *client.Podman, in tests pass a mock ExecStreamer.