mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
* [ws-manager] Re-create workspace pods (incl. test) * [gpctl] Fix "workspaces list" * [ws-daemon, ws-manager] Review comments, logging cleanups and ordering fix * [dev/rejector] Add the tool we use to test PodRejection under "dev" * [bridge] Log nested status shape (and properly scrubbing it)
698 lines
30 KiB
Go
698 lines
30 KiB
Go
// Copyright (c) 2024 Gitpod GmbH. All rights reserved.
|
|
// Licensed under the GNU Affero General Public License (AGPL).
|
|
// See License.AGPL.txt in the project root for license information.
|
|
|
|
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
|
// versions:
|
|
// - protoc-gen-go-grpc v1.2.0
|
|
// - protoc v3.20.1
|
|
// source: workspace_daemon.proto
|
|
|
|
package api
|
|
|
|
import (
|
|
context "context"
|
|
grpc "google.golang.org/grpc"
|
|
codes "google.golang.org/grpc/codes"
|
|
status "google.golang.org/grpc/status"
|
|
)
|
|
|
|
// This is a compile-time assertion to ensure that this generated file
|
|
// is compatible with the grpc package it is being compiled against.
|
|
// Requires gRPC-Go v1.32.0 or later.
|
|
const _ = grpc.SupportPackageIsVersion7
|
|
|
|
// InWorkspaceServiceClient is the client API for InWorkspaceService 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 InWorkspaceServiceClient interface {
|
|
// PrepareForUserNS prepares a workspace container for wrapping it in a user namespace.
|
|
// A container that called this function MUST call Teardown.
|
|
//
|
|
// This call will make the workspace container's rootfs shared, and mount the workspace
|
|
// container's rootfs as a shiftfs mark under `/.workspace/mark` if the workspace has
|
|
// the daemon hostPath mount. Can only be used once per workspace.
|
|
PrepareForUserNS(ctx context.Context, in *PrepareForUserNSRequest, opts ...grpc.CallOption) (*PrepareForUserNSResponse, error)
|
|
// WriteIDMapping writes a new user/group ID mapping to /proc/<pid>/uid_map (gid_map respectively). This is used
|
|
// for user namespaces and is available four times every 10 seconds.
|
|
WriteIDMapping(ctx context.Context, in *WriteIDMappingRequest, opts ...grpc.CallOption) (*WriteIDMappingResponse, error)
|
|
// EvacuateCGroup empties the workspace pod cgroup and produces a new substructure.
|
|
// In combincation with introducing a new cgroup namespace, we can create a situation
|
|
// where the subcontroller are enabled and the ring2-visible cgroup is of type "domain".
|
|
EvacuateCGroup(ctx context.Context, in *EvacuateCGroupRequest, opts ...grpc.CallOption) (*EvacuateCGroupResponse, error)
|
|
// MountProc mounts a masked proc in the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
MountProc(ctx context.Context, in *MountProcRequest, opts ...grpc.CallOption) (*MountProcResponse, error)
|
|
// UmountProc unmounts a masked proc from the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
UmountProc(ctx context.Context, in *UmountProcRequest, opts ...grpc.CallOption) (*UmountProcResponse, error)
|
|
// MountSysfs mounts a masked sysfs in the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
MountSysfs(ctx context.Context, in *MountProcRequest, opts ...grpc.CallOption) (*MountProcResponse, error)
|
|
// UmountSysfs unmounts a masked sysfs from the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
UmountSysfs(ctx context.Context, in *UmountProcRequest, opts ...grpc.CallOption) (*UmountProcResponse, error)
|
|
// MountNfs mounts a nfs share into the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
MountNfs(ctx context.Context, in *MountNfsRequest, opts ...grpc.CallOption) (*MountNfsResponse, error)
|
|
// UmountNfs unmounts a nfs share from the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
UmountNfs(ctx context.Context, in *UmountNfsRequest, opts ...grpc.CallOption) (*UmountNfsResponse, error)
|
|
// Teardown prepares workspace content backups and unmounts shiftfs mounts. The canary is supposed to be triggered
|
|
// when the workspace is about to shut down, e.g. using the PreStop hook of a Kubernetes container.
|
|
Teardown(ctx context.Context, in *TeardownRequest, opts ...grpc.CallOption) (*TeardownResponse, error)
|
|
// WipingTeardown undoes everything PrepareForUserNS does, especially unmounts shiftfs mounts
|
|
WipingTeardown(ctx context.Context, in *WipingTeardownRequest, opts ...grpc.CallOption) (*WipingTeardownResponse, error)
|
|
// Set up a pair of veths that interconnect the specified PID and the workspace container's network namespace.
|
|
SetupPairVeths(ctx context.Context, in *SetupPairVethsRequest, opts ...grpc.CallOption) (*SetupPairVethsResponse, error)
|
|
// Get information about the workspace
|
|
WorkspaceInfo(ctx context.Context, in *WorkspaceInfoRequest, opts ...grpc.CallOption) (*WorkspaceInfoResponse, error)
|
|
}
|
|
|
|
type inWorkspaceServiceClient struct {
|
|
cc grpc.ClientConnInterface
|
|
}
|
|
|
|
func NewInWorkspaceServiceClient(cc grpc.ClientConnInterface) InWorkspaceServiceClient {
|
|
return &inWorkspaceServiceClient{cc}
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) PrepareForUserNS(ctx context.Context, in *PrepareForUserNSRequest, opts ...grpc.CallOption) (*PrepareForUserNSResponse, error) {
|
|
out := new(PrepareForUserNSResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/PrepareForUserNS", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) WriteIDMapping(ctx context.Context, in *WriteIDMappingRequest, opts ...grpc.CallOption) (*WriteIDMappingResponse, error) {
|
|
out := new(WriteIDMappingResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/WriteIDMapping", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) EvacuateCGroup(ctx context.Context, in *EvacuateCGroupRequest, opts ...grpc.CallOption) (*EvacuateCGroupResponse, error) {
|
|
out := new(EvacuateCGroupResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/EvacuateCGroup", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) MountProc(ctx context.Context, in *MountProcRequest, opts ...grpc.CallOption) (*MountProcResponse, error) {
|
|
out := new(MountProcResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/MountProc", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) UmountProc(ctx context.Context, in *UmountProcRequest, opts ...grpc.CallOption) (*UmountProcResponse, error) {
|
|
out := new(UmountProcResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/UmountProc", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) MountSysfs(ctx context.Context, in *MountProcRequest, opts ...grpc.CallOption) (*MountProcResponse, error) {
|
|
out := new(MountProcResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/MountSysfs", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) UmountSysfs(ctx context.Context, in *UmountProcRequest, opts ...grpc.CallOption) (*UmountProcResponse, error) {
|
|
out := new(UmountProcResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/UmountSysfs", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) MountNfs(ctx context.Context, in *MountNfsRequest, opts ...grpc.CallOption) (*MountNfsResponse, error) {
|
|
out := new(MountNfsResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/MountNfs", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) UmountNfs(ctx context.Context, in *UmountNfsRequest, opts ...grpc.CallOption) (*UmountNfsResponse, error) {
|
|
out := new(UmountNfsResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/UmountNfs", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) Teardown(ctx context.Context, in *TeardownRequest, opts ...grpc.CallOption) (*TeardownResponse, error) {
|
|
out := new(TeardownResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/Teardown", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) WipingTeardown(ctx context.Context, in *WipingTeardownRequest, opts ...grpc.CallOption) (*WipingTeardownResponse, error) {
|
|
out := new(WipingTeardownResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/WipingTeardown", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) SetupPairVeths(ctx context.Context, in *SetupPairVethsRequest, opts ...grpc.CallOption) (*SetupPairVethsResponse, error) {
|
|
out := new(SetupPairVethsResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/SetupPairVeths", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *inWorkspaceServiceClient) WorkspaceInfo(ctx context.Context, in *WorkspaceInfoRequest, opts ...grpc.CallOption) (*WorkspaceInfoResponse, error) {
|
|
out := new(WorkspaceInfoResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.InWorkspaceService/WorkspaceInfo", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
// InWorkspaceServiceServer is the server API for InWorkspaceService service.
|
|
// All implementations must embed UnimplementedInWorkspaceServiceServer
|
|
// for forward compatibility
|
|
type InWorkspaceServiceServer interface {
|
|
// PrepareForUserNS prepares a workspace container for wrapping it in a user namespace.
|
|
// A container that called this function MUST call Teardown.
|
|
//
|
|
// This call will make the workspace container's rootfs shared, and mount the workspace
|
|
// container's rootfs as a shiftfs mark under `/.workspace/mark` if the workspace has
|
|
// the daemon hostPath mount. Can only be used once per workspace.
|
|
PrepareForUserNS(context.Context, *PrepareForUserNSRequest) (*PrepareForUserNSResponse, error)
|
|
// WriteIDMapping writes a new user/group ID mapping to /proc/<pid>/uid_map (gid_map respectively). This is used
|
|
// for user namespaces and is available four times every 10 seconds.
|
|
WriteIDMapping(context.Context, *WriteIDMappingRequest) (*WriteIDMappingResponse, error)
|
|
// EvacuateCGroup empties the workspace pod cgroup and produces a new substructure.
|
|
// In combincation with introducing a new cgroup namespace, we can create a situation
|
|
// where the subcontroller are enabled and the ring2-visible cgroup is of type "domain".
|
|
EvacuateCGroup(context.Context, *EvacuateCGroupRequest) (*EvacuateCGroupResponse, error)
|
|
// MountProc mounts a masked proc in the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
MountProc(context.Context, *MountProcRequest) (*MountProcResponse, error)
|
|
// UmountProc unmounts a masked proc from the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
UmountProc(context.Context, *UmountProcRequest) (*UmountProcResponse, error)
|
|
// MountSysfs mounts a masked sysfs in the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
MountSysfs(context.Context, *MountProcRequest) (*MountProcResponse, error)
|
|
// UmountSysfs unmounts a masked sysfs from the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
UmountSysfs(context.Context, *UmountProcRequest) (*UmountProcResponse, error)
|
|
// MountNfs mounts a nfs share into the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
MountNfs(context.Context, *MountNfsRequest) (*MountNfsResponse, error)
|
|
// UmountNfs unmounts a nfs share from the container's rootfs.
|
|
// The PID must be in the PID namespace of the workspace container.
|
|
// The path is relative to the mount namespace of the PID.
|
|
UmountNfs(context.Context, *UmountNfsRequest) (*UmountNfsResponse, error)
|
|
// Teardown prepares workspace content backups and unmounts shiftfs mounts. The canary is supposed to be triggered
|
|
// when the workspace is about to shut down, e.g. using the PreStop hook of a Kubernetes container.
|
|
Teardown(context.Context, *TeardownRequest) (*TeardownResponse, error)
|
|
// WipingTeardown undoes everything PrepareForUserNS does, especially unmounts shiftfs mounts
|
|
WipingTeardown(context.Context, *WipingTeardownRequest) (*WipingTeardownResponse, error)
|
|
// Set up a pair of veths that interconnect the specified PID and the workspace container's network namespace.
|
|
SetupPairVeths(context.Context, *SetupPairVethsRequest) (*SetupPairVethsResponse, error)
|
|
// Get information about the workspace
|
|
WorkspaceInfo(context.Context, *WorkspaceInfoRequest) (*WorkspaceInfoResponse, error)
|
|
mustEmbedUnimplementedInWorkspaceServiceServer()
|
|
}
|
|
|
|
// UnimplementedInWorkspaceServiceServer must be embedded to have forward compatible implementations.
|
|
type UnimplementedInWorkspaceServiceServer struct {
|
|
}
|
|
|
|
func (UnimplementedInWorkspaceServiceServer) PrepareForUserNS(context.Context, *PrepareForUserNSRequest) (*PrepareForUserNSResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method PrepareForUserNS not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) WriteIDMapping(context.Context, *WriteIDMappingRequest) (*WriteIDMappingResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method WriteIDMapping not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) EvacuateCGroup(context.Context, *EvacuateCGroupRequest) (*EvacuateCGroupResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method EvacuateCGroup not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) MountProc(context.Context, *MountProcRequest) (*MountProcResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method MountProc not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) UmountProc(context.Context, *UmountProcRequest) (*UmountProcResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method UmountProc not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) MountSysfs(context.Context, *MountProcRequest) (*MountProcResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method MountSysfs not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) UmountSysfs(context.Context, *UmountProcRequest) (*UmountProcResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method UmountSysfs not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) MountNfs(context.Context, *MountNfsRequest) (*MountNfsResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method MountNfs not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) UmountNfs(context.Context, *UmountNfsRequest) (*UmountNfsResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method UmountNfs not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) Teardown(context.Context, *TeardownRequest) (*TeardownResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Teardown not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) WipingTeardown(context.Context, *WipingTeardownRequest) (*WipingTeardownResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method WipingTeardown not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) SetupPairVeths(context.Context, *SetupPairVethsRequest) (*SetupPairVethsResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method SetupPairVeths not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) WorkspaceInfo(context.Context, *WorkspaceInfoRequest) (*WorkspaceInfoResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method WorkspaceInfo not implemented")
|
|
}
|
|
func (UnimplementedInWorkspaceServiceServer) mustEmbedUnimplementedInWorkspaceServiceServer() {}
|
|
|
|
// UnsafeInWorkspaceServiceServer may be embedded to opt out of forward compatibility for this service.
|
|
// Use of this interface is not recommended, as added methods to InWorkspaceServiceServer will
|
|
// result in compilation errors.
|
|
type UnsafeInWorkspaceServiceServer interface {
|
|
mustEmbedUnimplementedInWorkspaceServiceServer()
|
|
}
|
|
|
|
func RegisterInWorkspaceServiceServer(s grpc.ServiceRegistrar, srv InWorkspaceServiceServer) {
|
|
s.RegisterService(&InWorkspaceService_ServiceDesc, srv)
|
|
}
|
|
|
|
func _InWorkspaceService_PrepareForUserNS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(PrepareForUserNSRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).PrepareForUserNS(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/PrepareForUserNS",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).PrepareForUserNS(ctx, req.(*PrepareForUserNSRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_WriteIDMapping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(WriteIDMappingRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).WriteIDMapping(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/WriteIDMapping",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).WriteIDMapping(ctx, req.(*WriteIDMappingRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_EvacuateCGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(EvacuateCGroupRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).EvacuateCGroup(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/EvacuateCGroup",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).EvacuateCGroup(ctx, req.(*EvacuateCGroupRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_MountProc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(MountProcRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).MountProc(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/MountProc",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).MountProc(ctx, req.(*MountProcRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_UmountProc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(UmountProcRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).UmountProc(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/UmountProc",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).UmountProc(ctx, req.(*UmountProcRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_MountSysfs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(MountProcRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).MountSysfs(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/MountSysfs",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).MountSysfs(ctx, req.(*MountProcRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_UmountSysfs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(UmountProcRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).UmountSysfs(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/UmountSysfs",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).UmountSysfs(ctx, req.(*UmountProcRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_MountNfs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(MountNfsRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).MountNfs(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/MountNfs",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).MountNfs(ctx, req.(*MountNfsRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_UmountNfs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(UmountNfsRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).UmountNfs(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/UmountNfs",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).UmountNfs(ctx, req.(*UmountNfsRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_Teardown_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(TeardownRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).Teardown(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/Teardown",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).Teardown(ctx, req.(*TeardownRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_WipingTeardown_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(WipingTeardownRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).WipingTeardown(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/WipingTeardown",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).WipingTeardown(ctx, req.(*WipingTeardownRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_SetupPairVeths_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(SetupPairVethsRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).SetupPairVeths(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/SetupPairVeths",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).SetupPairVeths(ctx, req.(*SetupPairVethsRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _InWorkspaceService_WorkspaceInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(WorkspaceInfoRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(InWorkspaceServiceServer).WorkspaceInfo(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.InWorkspaceService/WorkspaceInfo",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(InWorkspaceServiceServer).WorkspaceInfo(ctx, req.(*WorkspaceInfoRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
// InWorkspaceService_ServiceDesc is the grpc.ServiceDesc for InWorkspaceService service.
|
|
// It's only intended for direct use with grpc.RegisterService,
|
|
// and not to be introspected or modified (even as a copy)
|
|
var InWorkspaceService_ServiceDesc = grpc.ServiceDesc{
|
|
ServiceName: "iws.InWorkspaceService",
|
|
HandlerType: (*InWorkspaceServiceServer)(nil),
|
|
Methods: []grpc.MethodDesc{
|
|
{
|
|
MethodName: "PrepareForUserNS",
|
|
Handler: _InWorkspaceService_PrepareForUserNS_Handler,
|
|
},
|
|
{
|
|
MethodName: "WriteIDMapping",
|
|
Handler: _InWorkspaceService_WriteIDMapping_Handler,
|
|
},
|
|
{
|
|
MethodName: "EvacuateCGroup",
|
|
Handler: _InWorkspaceService_EvacuateCGroup_Handler,
|
|
},
|
|
{
|
|
MethodName: "MountProc",
|
|
Handler: _InWorkspaceService_MountProc_Handler,
|
|
},
|
|
{
|
|
MethodName: "UmountProc",
|
|
Handler: _InWorkspaceService_UmountProc_Handler,
|
|
},
|
|
{
|
|
MethodName: "MountSysfs",
|
|
Handler: _InWorkspaceService_MountSysfs_Handler,
|
|
},
|
|
{
|
|
MethodName: "UmountSysfs",
|
|
Handler: _InWorkspaceService_UmountSysfs_Handler,
|
|
},
|
|
{
|
|
MethodName: "MountNfs",
|
|
Handler: _InWorkspaceService_MountNfs_Handler,
|
|
},
|
|
{
|
|
MethodName: "UmountNfs",
|
|
Handler: _InWorkspaceService_UmountNfs_Handler,
|
|
},
|
|
{
|
|
MethodName: "Teardown",
|
|
Handler: _InWorkspaceService_Teardown_Handler,
|
|
},
|
|
{
|
|
MethodName: "WipingTeardown",
|
|
Handler: _InWorkspaceService_WipingTeardown_Handler,
|
|
},
|
|
{
|
|
MethodName: "SetupPairVeths",
|
|
Handler: _InWorkspaceService_SetupPairVeths_Handler,
|
|
},
|
|
{
|
|
MethodName: "WorkspaceInfo",
|
|
Handler: _InWorkspaceService_WorkspaceInfo_Handler,
|
|
},
|
|
},
|
|
Streams: []grpc.StreamDesc{},
|
|
Metadata: "workspace_daemon.proto",
|
|
}
|
|
|
|
// WorkspaceInfoServiceClient is the client API for WorkspaceInfoService 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 WorkspaceInfoServiceClient interface {
|
|
// Get information about the workspace
|
|
WorkspaceInfo(ctx context.Context, in *WorkspaceInfoRequest, opts ...grpc.CallOption) (*WorkspaceInfoResponse, error)
|
|
}
|
|
|
|
type workspaceInfoServiceClient struct {
|
|
cc grpc.ClientConnInterface
|
|
}
|
|
|
|
func NewWorkspaceInfoServiceClient(cc grpc.ClientConnInterface) WorkspaceInfoServiceClient {
|
|
return &workspaceInfoServiceClient{cc}
|
|
}
|
|
|
|
func (c *workspaceInfoServiceClient) WorkspaceInfo(ctx context.Context, in *WorkspaceInfoRequest, opts ...grpc.CallOption) (*WorkspaceInfoResponse, error) {
|
|
out := new(WorkspaceInfoResponse)
|
|
err := c.cc.Invoke(ctx, "/iws.WorkspaceInfoService/WorkspaceInfo", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
// WorkspaceInfoServiceServer is the server API for WorkspaceInfoService service.
|
|
// All implementations must embed UnimplementedWorkspaceInfoServiceServer
|
|
// for forward compatibility
|
|
type WorkspaceInfoServiceServer interface {
|
|
// Get information about the workspace
|
|
WorkspaceInfo(context.Context, *WorkspaceInfoRequest) (*WorkspaceInfoResponse, error)
|
|
mustEmbedUnimplementedWorkspaceInfoServiceServer()
|
|
}
|
|
|
|
// UnimplementedWorkspaceInfoServiceServer must be embedded to have forward compatible implementations.
|
|
type UnimplementedWorkspaceInfoServiceServer struct {
|
|
}
|
|
|
|
func (UnimplementedWorkspaceInfoServiceServer) WorkspaceInfo(context.Context, *WorkspaceInfoRequest) (*WorkspaceInfoResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method WorkspaceInfo not implemented")
|
|
}
|
|
func (UnimplementedWorkspaceInfoServiceServer) mustEmbedUnimplementedWorkspaceInfoServiceServer() {}
|
|
|
|
// UnsafeWorkspaceInfoServiceServer may be embedded to opt out of forward compatibility for this service.
|
|
// Use of this interface is not recommended, as added methods to WorkspaceInfoServiceServer will
|
|
// result in compilation errors.
|
|
type UnsafeWorkspaceInfoServiceServer interface {
|
|
mustEmbedUnimplementedWorkspaceInfoServiceServer()
|
|
}
|
|
|
|
func RegisterWorkspaceInfoServiceServer(s grpc.ServiceRegistrar, srv WorkspaceInfoServiceServer) {
|
|
s.RegisterService(&WorkspaceInfoService_ServiceDesc, srv)
|
|
}
|
|
|
|
func _WorkspaceInfoService_WorkspaceInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(WorkspaceInfoRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(WorkspaceInfoServiceServer).WorkspaceInfo(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/iws.WorkspaceInfoService/WorkspaceInfo",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(WorkspaceInfoServiceServer).WorkspaceInfo(ctx, req.(*WorkspaceInfoRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
// WorkspaceInfoService_ServiceDesc is the grpc.ServiceDesc for WorkspaceInfoService service.
|
|
// It's only intended for direct use with grpc.RegisterService,
|
|
// and not to be introspected or modified (even as a copy)
|
|
var WorkspaceInfoService_ServiceDesc = grpc.ServiceDesc{
|
|
ServiceName: "iws.WorkspaceInfoService",
|
|
HandlerType: (*WorkspaceInfoServiceServer)(nil),
|
|
Methods: []grpc.MethodDesc{
|
|
{
|
|
MethodName: "WorkspaceInfo",
|
|
Handler: _WorkspaceInfoService_WorkspaceInfo_Handler,
|
|
},
|
|
},
|
|
Streams: []grpc.StreamDesc{},
|
|
Metadata: "workspace_daemon.proto",
|
|
}
|