app

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package app is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Code generated by protoc-gen-jsonshim. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var (
	WorkloadType_name = map[int32]string{
		0: "WORKLOAD_TYPE_UNSPECIFIED",
		1: "DEPLOYMENT",
		2: "DAEMONSET",
	}
	WorkloadType_value = map[string]int32{
		"WORKLOAD_TYPE_UNSPECIFIED": 0,
		"DEPLOYMENT":                1,
		"DAEMONSET":                 2,
	}
)

Enum value maps for WorkloadType.

View Source
var (
	ArchType_name = map[int32]string{
		0: "ARCH_TYPE_UNSPECIFIED",
		1: "AMD64",
		2: "ARM64",
	}
	ArchType_value = map[string]int32{
		"ARCH_TYPE_UNSPECIFIED": 0,
		"AMD64":                 1,
		"ARM64":                 2,
	}
)

Enum value maps for ArchType.

View Source
var (
	DebugToolType_name = map[int32]string{
		0: "DEBUG_TOOL_TYPE_UNSPECIFIED",
		1: "LOCAL",
		2: "REMOTE",
	}
	DebugToolType_value = map[string]int32{
		"DEBUG_TOOL_TYPE_UNSPECIFIED": 0,
		"LOCAL":                       1,
		"REMOTE":                      2,
	}
)

Enum value maps for DebugToolType.

View Source
var (
	IDEType_name = map[int32]string{
		0: "IDE_TYPE_UNSPECIFIED",
		1: "VS_CODE",
		2: "GOLAND",
		3: "CLION",
	}
	IDEType_value = map[string]int32{
		"IDE_TYPE_UNSPECIFIED": 0,
		"VS_CODE":              1,
		"GOLAND":               2,
		"CLION":                3,
	}
)

Enum value maps for IDEType.

View Source
var (
	ProgramType_name = map[int32]string{
		0: "PROGRAM_TYPE_UNSPECIFIED",
		1: "GO",
		2: "RUST",
	}
	ProgramType_value = map[string]int32{
		"PROGRAM_TYPE_UNSPECIFIED": 0,
		"GO":                       1,
		"RUST":                     2,
	}
)

Enum value maps for ProgramType.

View Source
var (
	AppMarshaler   = &jsonpb.Marshaler{}
	AppUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true}
)
View Source
var AppManagement_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "miragedebug.api.app.AppManagement",
	HandlerType: (*AppManagementServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetServerInfo",
			Handler:    _AppManagement_GetServerInfo_Handler,
		},
		{
			MethodName: "ListApps",
			Handler:    _AppManagement_ListApps_Handler,
		},
		{
			MethodName: "CreateApp",
			Handler:    _AppManagement_CreateApp_Handler,
		},
		{
			MethodName: "UpdateApp",
			Handler:    _AppManagement_UpdateApp_Handler,
		},
		{
			MethodName: "DeleteApp",
			Handler:    _AppManagement_DeleteApp_Handler,
		},
		{
			MethodName: "GetApp",
			Handler:    _AppManagement_GetApp_Handler,
		},
		{
			MethodName: "GetAppStatus",
			Handler:    _AppManagement_GetAppStatus_Handler,
		},
		{
			MethodName: "InitAppRemote",
			Handler:    _AppManagement_InitAppRemote_Handler,
		},
		{
			MethodName: "StartDebugging",
			Handler:    _AppManagement_StartDebugging_Handler,
		},
		{
			MethodName: "RollbackApp",
			Handler:    _AppManagement_RollbackApp_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "app/app.proto",
}

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

View Source
var File_app_app_proto protoreflect.FileDescriptor

Functions

func RegisterAppManagementHandler

func RegisterAppManagementHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterAppManagementHandler registers the http handlers for service AppManagement to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterAppManagementHandlerClient

func RegisterAppManagementHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AppManagementClient) error

RegisterAppManagementHandlerClient registers the http handlers for service AppManagement to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AppManagementClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AppManagementClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "AppManagementClient" to call the correct interceptors.

func RegisterAppManagementHandlerFromEndpoint

func RegisterAppManagementHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterAppManagementHandlerFromEndpoint is same as RegisterAppManagementHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterAppManagementHandlerServer

func RegisterAppManagementHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AppManagementServer) error

RegisterAppManagementHandlerServer registers the http handlers for service AppManagement to "mux". UnaryRPC :call AppManagementServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterAppManagementHandlerFromEndpoint instead.

func RegisterAppManagementServer

func RegisterAppManagementServer(s grpc.ServiceRegistrar, srv AppManagementServer)

func ToSystemArch

func ToSystemArch(arch ArchType) string

Types

type App

type App struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// ProgramType is the type of program to debug.
	// Such as go, java, python
	ProgramType ProgramType `protobuf:"varint,2,opt,name=programType,proto3,enum=miragedebug.api.app.ProgramType" json:"programType,omitempty"`
	// RemoteRuntime is the runtime to debug.
	RemoteRuntime *RemoteRuntime `protobuf:"bytes,3,opt,name=remoteRuntime,proto3" json:"remoteRuntime,omitempty"`
	// RemoteConfig is the config to debug.
	RemoteConfig *RemoteConfig `protobuf:"bytes,4,opt,name=remoteConfig,proto3" json:"remoteConfig,omitempty"`
	// LocalConfig is the config to debug.
	LocalConfig *LocalConfig `protobuf:"bytes,5,opt,name=localConfig,proto3" json:"localConfig,omitempty"`
	// contains filtered or unexported fields
}

func (*App) DeepCopy

func (in *App) DeepCopy() *App

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new App. Required by controller-gen.

func (*App) DeepCopyInterface

func (in *App) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new App. Required by controller-gen.

func (*App) DeepCopyInto

func (in *App) DeepCopyInto(out *App)

DeepCopyInto supports using App within kubernetes types, where deepcopy-gen is used.

func (*App) Descriptor deprecated

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

Deprecated: Use App.ProtoReflect.Descriptor instead.

func (*App) GetLocalConfig

func (x *App) GetLocalConfig() *LocalConfig

func (*App) GetName

func (x *App) GetName() string

func (*App) GetProgramType

func (x *App) GetProgramType() ProgramType

func (*App) GetRemoteConfig

func (x *App) GetRemoteConfig() *RemoteConfig

func (*App) GetRemoteRuntime

func (x *App) GetRemoteRuntime() *RemoteRuntime

func (*App) MarshalJSON

func (this *App) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for App

func (*App) ProtoMessage

func (*App) ProtoMessage()

func (*App) ProtoReflect

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

func (*App) Reset

func (x *App) Reset()

func (*App) String

func (x *App) String() string

func (*App) UnmarshalJSON

func (this *App) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for App

type AppList

type AppList struct {
	Apps []*App `protobuf:"bytes,1,rep,name=apps,proto3" json:"apps,omitempty"`
	// contains filtered or unexported fields
}

func (*AppList) DeepCopy

func (in *AppList) DeepCopy() *AppList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppList. Required by controller-gen.

func (*AppList) DeepCopyInterface

func (in *AppList) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new AppList. Required by controller-gen.

func (*AppList) DeepCopyInto

func (in *AppList) DeepCopyInto(out *AppList)

DeepCopyInto supports using AppList within kubernetes types, where deepcopy-gen is used.

func (*AppList) Descriptor deprecated

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

Deprecated: Use AppList.ProtoReflect.Descriptor instead.

func (*AppList) GetApps

func (x *AppList) GetApps() []*App

func (*AppList) MarshalJSON

func (this *AppList) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for AppList

func (*AppList) ProtoMessage

func (*AppList) ProtoMessage()

func (*AppList) ProtoReflect

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

func (*AppList) Reset

func (x *AppList) Reset()

func (*AppList) String

func (x *AppList) String() string

func (*AppList) UnmarshalJSON

func (this *AppList) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for AppList

type AppManagementClient

type AppManagementClient interface {
	GetServerInfo(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ServerInfo, error)
	ListApps(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*AppList, error)
	CreateApp(ctx context.Context, in *App, opts ...grpc.CallOption) (*App, error)
	UpdateApp(ctx context.Context, in *App, opts ...grpc.CallOption) (*App, error)
	DeleteApp(ctx context.Context, in *SingleAppRequest, opts ...grpc.CallOption) (*App, error)
	GetApp(ctx context.Context, in *SingleAppRequest, opts ...grpc.CallOption) (*App, error)
	GetAppStatus(ctx context.Context, in *SingleAppRequest, opts ...grpc.CallOption) (*Status, error)
	// InitAppRemote will do the following things:
	//  1. config the workload to ready for debug.
	//     a. change command and args.
	//     b. change the replica to 1 and other things.
	//  2. installing debug tool in container.
	//  3. port-forward the remote debugging port.
	InitAppRemote(ctx context.Context, in *SingleAppRequest, opts ...grpc.CallOption) (*Status, error)
	// StartDebugging will do the following things:
	// 1. copy the local binary to container.
	// 2. start debug tool in container.
	StartDebugging(ctx context.Context, in *SingleAppRequest, opts ...grpc.CallOption) (*Empty, error)
	// RollbackApp will rollback the app to the initial config.
	RollbackApp(ctx context.Context, in *SingleAppRequest, opts ...grpc.CallOption) (*Status, error)
}

AppManagementClient is the client API for AppManagement 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.

type AppManagementServer

type AppManagementServer interface {
	GetServerInfo(context.Context, *Empty) (*ServerInfo, error)
	ListApps(context.Context, *Empty) (*AppList, error)
	CreateApp(context.Context, *App) (*App, error)
	UpdateApp(context.Context, *App) (*App, error)
	DeleteApp(context.Context, *SingleAppRequest) (*App, error)
	GetApp(context.Context, *SingleAppRequest) (*App, error)
	GetAppStatus(context.Context, *SingleAppRequest) (*Status, error)
	// InitAppRemote will do the following things:
	//  1. config the workload to ready for debug.
	//     a. change command and args.
	//     b. change the replica to 1 and other things.
	//  2. installing debug tool in container.
	//  3. port-forward the remote debugging port.
	InitAppRemote(context.Context, *SingleAppRequest) (*Status, error)
	// StartDebugging will do the following things:
	// 1. copy the local binary to container.
	// 2. start debug tool in container.
	StartDebugging(context.Context, *SingleAppRequest) (*Empty, error)
	// RollbackApp will rollback the app to the initial config.
	RollbackApp(context.Context, *SingleAppRequest) (*Status, error)
	// contains filtered or unexported methods
}

AppManagementServer is the server API for AppManagement service. All implementations must embed UnimplementedAppManagementServer for forward compatibility

type ArchType

type ArchType int32
const (
	ArchType_ARCH_TYPE_UNSPECIFIED ArchType = 0
	ArchType_AMD64                 ArchType = 1
	ArchType_ARM64                 ArchType = 2
)

func (ArchType) Descriptor

func (ArchType) Descriptor() protoreflect.EnumDescriptor

func (ArchType) Enum

func (x ArchType) Enum() *ArchType

func (ArchType) EnumDescriptor deprecated

func (ArchType) EnumDescriptor() ([]byte, []int)

Deprecated: Use ArchType.Descriptor instead.

func (ArchType) Number

func (x ArchType) Number() protoreflect.EnumNumber

func (ArchType) String

func (x ArchType) String() string

func (ArchType) Type

type DebugToolBuilder

type DebugToolBuilder struct {

	// Type is the type of debug tool.
	// Such as local, remote
	Type DebugToolType `protobuf:"varint,1,opt,name=type,proto3,enum=miragedebug.api.app.DebugToolType" json:"type,omitempty"`
	// BuildCommands is the commands to build debug tool.
	// If Type is local, we will run these commands locally,
	// And copy LocalDest to container of RemoteConfig.DebugToolPath.
	// Else, use kubectl exec run commands in container.
	BuildCommands []string `protobuf:"bytes,2,rep,name=buildCommands,proto3" json:"buildCommands,omitempty"`
	// If Type is local, specify local debugger tool file path.
	LocalDest string `protobuf:"bytes,3,opt,name=localDest,proto3" json:"localDest,omitempty"`
	// contains filtered or unexported fields
}

DebugToolBuilder is the interface to build debug tool.

func (*DebugToolBuilder) DeepCopy

func (in *DebugToolBuilder) DeepCopy() *DebugToolBuilder

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DebugToolBuilder. Required by controller-gen.

func (*DebugToolBuilder) DeepCopyInterface

func (in *DebugToolBuilder) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new DebugToolBuilder. Required by controller-gen.

func (*DebugToolBuilder) DeepCopyInto

func (in *DebugToolBuilder) DeepCopyInto(out *DebugToolBuilder)

DeepCopyInto supports using DebugToolBuilder within kubernetes types, where deepcopy-gen is used.

func (*DebugToolBuilder) Descriptor deprecated

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

Deprecated: Use DebugToolBuilder.ProtoReflect.Descriptor instead.

func (*DebugToolBuilder) GetBuildCommands

func (x *DebugToolBuilder) GetBuildCommands() []string

func (*DebugToolBuilder) GetLocalDest

func (x *DebugToolBuilder) GetLocalDest() string

func (*DebugToolBuilder) GetType

func (x *DebugToolBuilder) GetType() DebugToolType

func (*DebugToolBuilder) MarshalJSON

func (this *DebugToolBuilder) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for DebugToolBuilder

func (*DebugToolBuilder) ProtoMessage

func (*DebugToolBuilder) ProtoMessage()

func (*DebugToolBuilder) ProtoReflect

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

func (*DebugToolBuilder) Reset

func (x *DebugToolBuilder) Reset()

func (*DebugToolBuilder) String

func (x *DebugToolBuilder) String() string

func (*DebugToolBuilder) UnmarshalJSON

func (this *DebugToolBuilder) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for DebugToolBuilder

type DebugToolType

type DebugToolType int32
const (
	DebugToolType_DEBUG_TOOL_TYPE_UNSPECIFIED DebugToolType = 0
	DebugToolType_LOCAL                       DebugToolType = 1
	DebugToolType_REMOTE                      DebugToolType = 2
)

func (DebugToolType) Descriptor

func (DebugToolType) Enum

func (x DebugToolType) Enum() *DebugToolType

func (DebugToolType) EnumDescriptor deprecated

func (DebugToolType) EnumDescriptor() ([]byte, []int)

Deprecated: Use DebugToolType.Descriptor instead.

func (DebugToolType) Number

func (DebugToolType) String

func (x DebugToolType) String() string

func (DebugToolType) Type

type Empty

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

func (*Empty) DeepCopy

func (in *Empty) DeepCopy() *Empty

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Empty. Required by controller-gen.

func (*Empty) DeepCopyInterface

func (in *Empty) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Empty. Required by controller-gen.

func (*Empty) DeepCopyInto

func (in *Empty) DeepCopyInto(out *Empty)

DeepCopyInto supports using Empty within kubernetes types, where deepcopy-gen is used.

func (*Empty) Descriptor deprecated

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

Deprecated: Use Empty.ProtoReflect.Descriptor instead.

func (*Empty) MarshalJSON

func (this *Empty) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for Empty

func (*Empty) ProtoMessage

func (*Empty) ProtoMessage()

func (*Empty) ProtoReflect

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

func (*Empty) Reset

func (x *Empty) Reset()

func (*Empty) String

func (x *Empty) String() string

func (*Empty) UnmarshalJSON

func (this *Empty) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for Empty

type IDEType

type IDEType int32
const (
	IDEType_IDE_TYPE_UNSPECIFIED IDEType = 0
	IDEType_VS_CODE              IDEType = 1
	IDEType_GOLAND               IDEType = 2
	IDEType_CLION                IDEType = 3
)

func (IDEType) Descriptor

func (IDEType) Descriptor() protoreflect.EnumDescriptor

func (IDEType) Enum

func (x IDEType) Enum() *IDEType

func (IDEType) EnumDescriptor deprecated

func (IDEType) EnumDescriptor() ([]byte, []int)

Deprecated: Use IDEType.Descriptor instead.

func (IDEType) Number

func (x IDEType) Number() protoreflect.EnumNumber

func (IDEType) String

func (x IDEType) String() string

func (IDEType) Type

func (IDEType) Type() protoreflect.EnumType

type LocalConfig

type LocalConfig struct {

	// IDEType is the type of IDE to use.
	// Such as "vscode", "goland" etc.
	IdeType IDEType `protobuf:"varint,1,opt,name=ideType,proto3,enum=miragedebug.api.app.IDEType" json:"ideType,omitempty"`
	// DebugToolBuilder defines the builder of DebugTool
	DebugToolBuilder *DebugToolBuilder `protobuf:"bytes,2,opt,name=debugToolBuilder,proto3" json:"debugToolBuilder,omitempty"`
	// WorkingDir is the location of the application in local.
	// Such as /Users/kebeliu/workspace/miragedebug
	WorkingDir string `protobuf:"bytes,3,opt,name=workingDir,proto3" json:"workingDir,omitempty"`
	// AppEntryPath is the entry path of the application in local.
	// Such as ./cmd/main.go or ./cmd/
	AppEntryPath string `protobuf:"bytes,4,opt,name=appEntryPath,proto3" json:"appEntryPath,omitempty"`
	// AppArgs is the running args of the application.
	// Such as "--config=config.yaml --debug",
	AppArgs string `protobuf:"bytes,5,opt,name=appArgs,proto3" json:"appArgs,omitempty"`
	// CustomBuildCommand is the custom build command to run in local.
	// Such as "go build -o /tmp/miragedebug"
	// empty means no custom build command.
	CustomBuildCommand string `protobuf:"bytes,6,opt,name=customBuildCommand,proto3" json:"customBuildCommand,omitempty"`
	// BuildOutput is the output of the build command.
	// Such as /tmp/miragedebug
	BuildOutput string `protobuf:"bytes,7,opt,name=buildOutput,proto3" json:"buildOutput,omitempty"`
	// Metadata is the metadata of the IDE or language, such as GO version.
	Metadata map[string]string `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*LocalConfig) DeepCopy

func (in *LocalConfig) DeepCopy() *LocalConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalConfig. Required by controller-gen.

func (*LocalConfig) DeepCopyInterface

func (in *LocalConfig) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LocalConfig. Required by controller-gen.

func (*LocalConfig) DeepCopyInto

func (in *LocalConfig) DeepCopyInto(out *LocalConfig)

DeepCopyInto supports using LocalConfig within kubernetes types, where deepcopy-gen is used.

func (*LocalConfig) Descriptor deprecated

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

Deprecated: Use LocalConfig.ProtoReflect.Descriptor instead.

func (*LocalConfig) GetAppArgs

func (x *LocalConfig) GetAppArgs() string

func (*LocalConfig) GetAppEntryPath

func (x *LocalConfig) GetAppEntryPath() string

func (*LocalConfig) GetBuildOutput

func (x *LocalConfig) GetBuildOutput() string

func (*LocalConfig) GetCustomBuildCommand

func (x *LocalConfig) GetCustomBuildCommand() string

func (*LocalConfig) GetDebugToolBuilder

func (x *LocalConfig) GetDebugToolBuilder() *DebugToolBuilder

func (*LocalConfig) GetIdeType

func (x *LocalConfig) GetIdeType() IDEType

func (*LocalConfig) GetMetadata

func (x *LocalConfig) GetMetadata() map[string]string

func (*LocalConfig) GetWorkingDir

func (x *LocalConfig) GetWorkingDir() string

func (*LocalConfig) MarshalJSON

func (this *LocalConfig) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for LocalConfig

func (*LocalConfig) ProtoMessage

func (*LocalConfig) ProtoMessage()

func (*LocalConfig) ProtoReflect

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

func (*LocalConfig) Reset

func (x *LocalConfig) Reset()

func (*LocalConfig) String

func (x *LocalConfig) String() string

func (*LocalConfig) UnmarshalJSON

func (this *LocalConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for LocalConfig

type ProgramType

type ProgramType int32
const (
	ProgramType_PROGRAM_TYPE_UNSPECIFIED ProgramType = 0
	ProgramType_GO                       ProgramType = 1
	ProgramType_RUST                     ProgramType = 2
)

func (ProgramType) Descriptor

func (ProgramType) Enum

func (x ProgramType) Enum() *ProgramType

func (ProgramType) EnumDescriptor deprecated

func (ProgramType) EnumDescriptor() ([]byte, []int)

Deprecated: Use ProgramType.Descriptor instead.

func (ProgramType) Number

func (x ProgramType) Number() protoreflect.EnumNumber

func (ProgramType) String

func (x ProgramType) String() string

func (ProgramType) Type

type RemoteConfig

type RemoteConfig struct {

	// DebugToolPath is the path of the debug tool in container.
	// Such as dlv, gdb etc.
	// empty means no debug tool installed.
	DebugToolPath string `protobuf:"bytes,1,opt,name=debugToolPath,proto3" json:"debugToolPath,omitempty"`
	// RemoteAppLocation is the location of the application in container.
	// Such as /tmp
	RemoteAppLocation string `protobuf:"bytes,2,opt,name=remoteAppLocation,proto3" json:"remoteAppLocation,omitempty"`
	// RemoteDebuggingPort is the port to use for remote debugging.
	// This is the port that the IDE will connect to.
	// This port will be both listened on the host(local) and the container,
	// make sure your local and program in the container will not listen on this
	// port.
	RemoteDebuggingPort int32 `protobuf:"varint,3,opt,name=remoteDebuggingPort,proto3" json:"remoteDebuggingPort,omitempty"`
	// CustomDebugCommand is the custom debug command to run in container.
	// Such as "dlv debug --headless --listen=:2345 --api-version=2"
	// empty means no custom debug command.
	CustomDebugCommand string `protobuf:"bytes,4,opt,name=customDebugCommand,proto3" json:"customDebugCommand,omitempty"`
	// InitialConfig is the initial config of the workload spec.
	// This is used to restore the original config after debugging.
	InitialConfig string `protobuf:"bytes,5,opt,name=initialConfig,proto3" json:"initialConfig,omitempty"`
	// NoModifyConfig indicates whether to modify the config of the workload.
	// If true, we will not modify the config of the workload.
	NoModifyConfig bool `protobuf:"varint,6,opt,name=noModifyConfig,proto3" json:"noModifyConfig,omitempty"`
	// contains filtered or unexported fields
}

func (*RemoteConfig) DeepCopy

func (in *RemoteConfig) DeepCopy() *RemoteConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteConfig. Required by controller-gen.

func (*RemoteConfig) DeepCopyInterface

func (in *RemoteConfig) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new RemoteConfig. Required by controller-gen.

func (*RemoteConfig) DeepCopyInto

func (in *RemoteConfig) DeepCopyInto(out *RemoteConfig)

DeepCopyInto supports using RemoteConfig within kubernetes types, where deepcopy-gen is used.

func (*RemoteConfig) Descriptor deprecated

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

Deprecated: Use RemoteConfig.ProtoReflect.Descriptor instead.

func (*RemoteConfig) GetCustomDebugCommand

func (x *RemoteConfig) GetCustomDebugCommand() string

func (*RemoteConfig) GetDebugToolPath

func (x *RemoteConfig) GetDebugToolPath() string

func (*RemoteConfig) GetInitialConfig

func (x *RemoteConfig) GetInitialConfig() string

func (*RemoteConfig) GetNoModifyConfig

func (x *RemoteConfig) GetNoModifyConfig() bool

func (*RemoteConfig) GetRemoteAppLocation

func (x *RemoteConfig) GetRemoteAppLocation() string

func (*RemoteConfig) GetRemoteDebuggingPort

func (x *RemoteConfig) GetRemoteDebuggingPort() int32

func (*RemoteConfig) MarshalJSON

func (this *RemoteConfig) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for RemoteConfig

func (*RemoteConfig) ProtoMessage

func (*RemoteConfig) ProtoMessage()

func (*RemoteConfig) ProtoReflect

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

func (*RemoteConfig) Reset

func (x *RemoteConfig) Reset()

func (*RemoteConfig) String

func (x *RemoteConfig) String() string

func (*RemoteConfig) UnmarshalJSON

func (this *RemoteConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for RemoteConfig

type RemoteRuntime

type RemoteRuntime struct {

	// Namespace is the namespace of the pod.
	Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// WorkloadType is the type of workload.
	// Such as deployment, statefulset etc.
	WorkloadType WorkloadType `protobuf:"varint,2,opt,name=workloadType,proto3,enum=miragedebug.api.app.WorkloadType" json:"workloadType,omitempty"`
	// WorkloadName is the name of the workload.
	WorkloadName string `protobuf:"bytes,3,opt,name=workloadName,proto3" json:"workloadName,omitempty"`
	// ContainerName is the name of the container to debug.
	// We will select the first container or default container if not specified.
	ContainerName string `protobuf:"bytes,4,opt,name=containerName,proto3" json:"containerName,omitempty"`
	// TargetArch is the architecture of the application in the container.
	// This is used to determine the correct binary to build.
	// If your OS is amd64, but want to debug container in arm64,
	// this should be set to "arm64".
	TargetArch ArchType `protobuf:"varint,5,opt,name=targetArch,proto3,enum=miragedebug.api.app.ArchType" json:"targetArch,omitempty"`
	// contains filtered or unexported fields
}

func (*RemoteRuntime) DeepCopy

func (in *RemoteRuntime) DeepCopy() *RemoteRuntime

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteRuntime. Required by controller-gen.

func (*RemoteRuntime) DeepCopyInterface

func (in *RemoteRuntime) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new RemoteRuntime. Required by controller-gen.

func (*RemoteRuntime) DeepCopyInto

func (in *RemoteRuntime) DeepCopyInto(out *RemoteRuntime)

DeepCopyInto supports using RemoteRuntime within kubernetes types, where deepcopy-gen is used.

func (*RemoteRuntime) Descriptor deprecated

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

Deprecated: Use RemoteRuntime.ProtoReflect.Descriptor instead.

func (*RemoteRuntime) GetContainerName

func (x *RemoteRuntime) GetContainerName() string

func (*RemoteRuntime) GetNamespace

func (x *RemoteRuntime) GetNamespace() string

func (*RemoteRuntime) GetTargetArch

func (x *RemoteRuntime) GetTargetArch() ArchType

func (*RemoteRuntime) GetWorkloadName

func (x *RemoteRuntime) GetWorkloadName() string

func (*RemoteRuntime) GetWorkloadType

func (x *RemoteRuntime) GetWorkloadType() WorkloadType

func (*RemoteRuntime) MarshalJSON

func (this *RemoteRuntime) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for RemoteRuntime

func (*RemoteRuntime) ProtoMessage

func (*RemoteRuntime) ProtoMessage()

func (*RemoteRuntime) ProtoReflect

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

func (*RemoteRuntime) Reset

func (x *RemoteRuntime) Reset()

func (*RemoteRuntime) String

func (x *RemoteRuntime) String() string

func (*RemoteRuntime) UnmarshalJSON

func (this *RemoteRuntime) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for RemoteRuntime

type ServerInfo added in v0.0.7

type ServerInfo struct {
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	Pid     int32  `protobuf:"varint,2,opt,name=pid,proto3" json:"pid,omitempty"`
	// contains filtered or unexported fields
}

func (*ServerInfo) DeepCopy added in v0.0.7

func (in *ServerInfo) DeepCopy() *ServerInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerInfo. Required by controller-gen.

func (*ServerInfo) DeepCopyInterface added in v0.0.7

func (in *ServerInfo) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ServerInfo. Required by controller-gen.

func (*ServerInfo) DeepCopyInto added in v0.0.7

func (in *ServerInfo) DeepCopyInto(out *ServerInfo)

DeepCopyInto supports using ServerInfo within kubernetes types, where deepcopy-gen is used.

func (*ServerInfo) Descriptor deprecated added in v0.0.7

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

Deprecated: Use ServerInfo.ProtoReflect.Descriptor instead.

func (*ServerInfo) GetPid added in v0.0.7

func (x *ServerInfo) GetPid() int32

func (*ServerInfo) GetVersion added in v0.0.7

func (x *ServerInfo) GetVersion() string

func (*ServerInfo) MarshalJSON added in v0.0.7

func (this *ServerInfo) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for ServerInfo

func (*ServerInfo) ProtoMessage added in v0.0.7

func (*ServerInfo) ProtoMessage()

func (*ServerInfo) ProtoReflect added in v0.0.7

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

func (*ServerInfo) Reset added in v0.0.7

func (x *ServerInfo) Reset()

func (*ServerInfo) String added in v0.0.7

func (x *ServerInfo) String() string

func (*ServerInfo) UnmarshalJSON added in v0.0.7

func (this *ServerInfo) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for ServerInfo

type SingleAppRequest

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

func (*SingleAppRequest) DeepCopy

func (in *SingleAppRequest) DeepCopy() *SingleAppRequest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SingleAppRequest. Required by controller-gen.

func (*SingleAppRequest) DeepCopyInterface

func (in *SingleAppRequest) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new SingleAppRequest. Required by controller-gen.

func (*SingleAppRequest) DeepCopyInto

func (in *SingleAppRequest) DeepCopyInto(out *SingleAppRequest)

DeepCopyInto supports using SingleAppRequest within kubernetes types, where deepcopy-gen is used.

func (*SingleAppRequest) Descriptor deprecated

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

Deprecated: Use SingleAppRequest.ProtoReflect.Descriptor instead.

func (*SingleAppRequest) GetName

func (x *SingleAppRequest) GetName() string

func (*SingleAppRequest) MarshalJSON

func (this *SingleAppRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for SingleAppRequest

func (*SingleAppRequest) ProtoMessage

func (*SingleAppRequest) ProtoMessage()

func (*SingleAppRequest) ProtoReflect

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

func (*SingleAppRequest) Reset

func (x *SingleAppRequest) Reset()

func (*SingleAppRequest) String

func (x *SingleAppRequest) String() string

func (*SingleAppRequest) UnmarshalJSON

func (this *SingleAppRequest) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for SingleAppRequest

type Status

type Status struct {

	// AppName is the name of the app.
	AppName string `protobuf:"bytes,1,opt,name=appName,proto3" json:"appName,omitempty"`
	// Configured indicates whether the app is configured(change command and
	// args).
	Configured bool `protobuf:"varint,2,opt,name=configured,proto3" json:"configured,omitempty"`
	// Connected indicates whether the port-forward is connected.
	Connected bool `protobuf:"varint,3,opt,name=connected,proto3" json:"connected,omitempty"`
	// Debugging indicates whether the app is debugging.
	Debugging bool `protobuf:"varint,4,opt,name=debugging,proto3" json:"debugging,omitempty"`
	// Error indicates the error message.
	Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`
	// DebugToolPath is the path of the debug tool execute binary in container.
	// Such as /tmp/dlv-amd64
	DebugToolPath string `protobuf:"bytes,6,opt,name=debugToolPath,proto3" json:"debugToolPath,omitempty"`
	// contains filtered or unexported fields
}

func (*Status) DeepCopy

func (in *Status) DeepCopy() *Status

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status. Required by controller-gen.

func (*Status) DeepCopyInterface

func (in *Status) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Status. Required by controller-gen.

func (*Status) DeepCopyInto

func (in *Status) DeepCopyInto(out *Status)

DeepCopyInto supports using Status within kubernetes types, where deepcopy-gen is used.

func (*Status) Descriptor deprecated

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

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetAppName

func (x *Status) GetAppName() string

func (*Status) GetConfigured

func (x *Status) GetConfigured() bool

func (*Status) GetConnected

func (x *Status) GetConnected() bool

func (*Status) GetDebugToolPath

func (x *Status) GetDebugToolPath() string

func (*Status) GetDebugging

func (x *Status) GetDebugging() bool

func (*Status) GetError

func (x *Status) GetError() string

func (*Status) MarshalJSON

func (this *Status) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for Status

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

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

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

func (*Status) UnmarshalJSON

func (this *Status) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for Status

type UnimplementedAppManagementServer

type UnimplementedAppManagementServer struct {
}

UnimplementedAppManagementServer must be embedded to have forward compatible implementations.

func (UnimplementedAppManagementServer) CreateApp

func (UnimplementedAppManagementServer) DeleteApp added in v0.0.4

func (UnimplementedAppManagementServer) GetApp

func (UnimplementedAppManagementServer) GetAppStatus

func (UnimplementedAppManagementServer) GetServerInfo added in v0.0.7

func (UnimplementedAppManagementServer) InitAppRemote

func (UnimplementedAppManagementServer) ListApps

func (UnimplementedAppManagementServer) RollbackApp

func (UnimplementedAppManagementServer) StartDebugging

func (UnimplementedAppManagementServer) UpdateApp added in v0.0.4

type UnsafeAppManagementServer

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

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

type WorkloadType

type WorkloadType int32
const (
	WorkloadType_WORKLOAD_TYPE_UNSPECIFIED WorkloadType = 0
	WorkloadType_DEPLOYMENT                WorkloadType = 1
	WorkloadType_DAEMONSET                 WorkloadType = 2
)

func (WorkloadType) Descriptor

func (WorkloadType) Enum

func (x WorkloadType) Enum() *WorkloadType

func (WorkloadType) EnumDescriptor deprecated

func (WorkloadType) EnumDescriptor() ([]byte, []int)

Deprecated: Use WorkloadType.Descriptor instead.

func (WorkloadType) Number

func (WorkloadType) String

func (x WorkloadType) String() string

func (WorkloadType) Type

Jump to

Keyboard shortcuts

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