gitpod/components/ws-daemon-api/go/workspace_daemon_grpc.pb.go
Gero Posmyk-Leinemann 99cc66b7cf
[ws-manager] Re-create workspace pods on rejection (#20243)
* [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)
2024-11-15 07:28:54 -05:00

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",
}