service

package
v0.0.1-dev.31 Latest Latest
Warning

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

Go to latest
Published: May 9, 2026 License: MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultNamespace is the default namespace for services.
	DefaultNamespace = "default"
)

Variables

This section is empty.

Functions

func IsNotFound

func IsNotFound(err error) bool

IsNotFound returns true if the error is a "not found" error.

Types

type AdminService

type AdminService struct {
	generated.UnimplementedAdminServiceServer
	// contains filtered or unexported fields
}

AdminService implements generated.AdminServiceServer

func NewAdminService

func NewAdminService(st store.Store, logger log.Logger) *AdminService

func (*AdminService) AddRegistry

func (*AdminService) AdminBootstrap

AdminBootstrap creates the built-in root subject and returns a management token (opaque secret once)

func (*AdminService) BootstrapAuth

func (*AdminService) GetRegistry

func (*AdminService) ListRegistries

Registry admin RPCs

func (*AdminService) NetworkStatus

NetworkStatus returns the current ClusterNetwork CIDR plus VIP allocation summary. Returns Unavailable if the allocator hasn't been wired in (e.g. during startup or in tests that don't construct one).

func (*AdminService) PolicyAttachToSubject

PolicyAttachToSubject attaches a policy to a user subject (MVP: users only)

func (*AdminService) PolicyCreate

PolicyCreate creates or updates a policy

func (*AdminService) PolicyDelete

PolicyDelete deletes a policy

func (*AdminService) PolicyDetachFromSubject

PolicyDetachFromSubject detaches a policy from a user subject (MVP: users only)

func (*AdminService) PolicyGet

PolicyGet fetches a policy

func (*AdminService) PolicyList

PolicyList lists policies

func (*AdminService) PolicyUpdate

PolicyUpdate updates a policy

func (*AdminService) RemoveRegistry

func (*AdminService) SetNetworkStatusProvider

func (s *AdminService) SetNetworkStatusProvider(p NetworkStatusProvider)

SetNetworkStatusProvider plugs in the live VIP allocator. Calling NetworkStatus before this is invoked returns codes.Unavailable.

func (*AdminService) TestRegistry

func (*AdminService) TokenList

TokenList lists tokens (admin-only). Does not return secrets.

func (*AdminService) UpdateRegistry

func (*AdminService) UserCreate

UserCreate upserts a user and attaches policies (MVP)

func (*AdminService) UserList

UserList lists users (subjects)

type AuthService

type AuthService struct {
	generated.UnimplementedAuthServiceServer
	// contains filtered or unexported fields
}

AuthService implements generated.AuthServiceServer

func NewAuthService

func NewAuthService(st store.Store, logger log.Logger) *AuthService

func (*AuthService) CreateToken

func (*AuthService) RevokeToken

func (*AuthService) WhoAmI

AuthService implementation

type ConfigmapService

type ConfigmapService struct {
	generated.UnimplementedConfigmapServiceServer
	// contains filtered or unexported fields
}

func NewConfigmapService

func NewConfigmapService(st store.Store, logger log.Logger) *ConfigmapService

func (*ConfigmapService) CreateConfigmap

func (*ConfigmapService) DeleteConfigmap

func (*ConfigmapService) GetConfigmap

func (*ConfigmapService) ListConfigmaps

func (*ConfigmapService) UpdateConfigmap

type ExecService

type ExecService struct {
	generated.UnimplementedExecServiceServer
	// contains filtered or unexported fields
}

ExecService implements the gRPC ExecService.

func NewExecService

func NewExecService(logger log.Logger, orchestrator orchestrator.Orchestrator) *ExecService

NewExecService creates a new ExecService with the given runners, store, and logger.

func (*ExecService) StreamExec

StreamExec provides bidirectional streaming for exec operations.

type HealthService

type HealthService struct {
	generated.UnimplementedHealthServiceServer
	// contains filtered or unexported fields
}

HealthService implements the gRPC HealthService.

func NewHealthService

func NewHealthService(store store.Store, logger log.Logger) *HealthService

NewHealthService creates a new HealthService with the given store and logger.

func (*HealthService) DetectAndSetCapacity

func (s *HealthService) DetectAndSetCapacity()

DetectAndSetCapacity runs capacity detection and caches the result in the service.

func (*HealthService) GetHealth

GetHealth retrieves health status of platform components.

func (*HealthService) SetCapacity

func (s *HealthService) SetCapacity(cpuCores float64, memBytes int64)

SetCapacity allows the API server to inject cached node capacity for reporting.

type InstanceService

type InstanceService struct {
	generated.UnimplementedInstanceServiceServer
	// contains filtered or unexported fields
}

InstanceService implements the gRPC InstanceService.

func NewInstanceService

func NewInstanceService(store store.Store, runnerManager manager.IRunnerManager, logger log.Logger) *InstanceService

NewInstanceService creates a new InstanceService with the given store, runners, and logger.

func (*InstanceService) GetInstance

GetInstance retrieves an instance by ID.

func (*InstanceService) ListInstances

ListInstances lists instances with optional filtering.

func (*InstanceService) ProtoInstanceToInstanceModel

func (s *InstanceService) ProtoInstanceToInstanceModel(protoInstance *generated.Instance) (*types.Instance, error)

ProtoInstanceToInstanceModel converts a protobuf message to a domain model instance.

func (*InstanceService) RestartInstance

RestartInstance restarts an instance.

func (*InstanceService) StartInstance

StartInstance starts an instance.

func (*InstanceService) StopInstance

StopInstance stops an instance.

type LogService

type LogService struct {
	generated.UnimplementedLogServiceServer
	// contains filtered or unexported fields
}

LogService implements the gRPC LogService.

func NewLogService

func NewLogService(store store.Store, logger log.Logger, orchestrator orchestrator.Orchestrator) *LogService

NewLogService creates a new LogService with the given runners, store, and logger.

func (*LogService) StreamLogs

func (s *LogService) StreamLogs(stream generated.LogService_StreamLogsServer) error

StreamLogs provides bidirectional streaming for logs.

type MockExecServiceStream

type MockExecServiceStream struct {
	mock.Mock
	grpc.ServerStream
	// contains filtered or unexported fields
}

MockExecServiceStream is a mock implementation of the generated.ExecService_StreamExecServer interface

func NewMockExecServiceStream

func NewMockExecServiceStream(ctx context.Context) *MockExecServiceStream

NewMockExecServiceStream creates a new MockExecServiceStream with the given context

func (*MockExecServiceStream) Context

func (m *MockExecServiceStream) Context() context.Context

Context returns the context

func (*MockExecServiceStream) Recv

Recv mocks the Recv method

func (*MockExecServiceStream) Send

Send mocks the Send method

type NamespaceService

type NamespaceService struct {
	generated.UnimplementedNamespaceServiceServer
	// contains filtered or unexported fields
}

NamespaceService implements the gRPC NamespaceService.

func NewNamespaceService

func NewNamespaceService(store store.Store, logger log.Logger) *NamespaceService

NewNamespaceService creates a new NamespaceService with the given store and logger.

func (*NamespaceService) CreateNamespace

CreateNamespace creates a new namespace.

func (*NamespaceService) DeleteNamespace

DeleteNamespace removes a namespace.

func (*NamespaceService) GetNamespace

GetNamespace retrieves a namespace by name.

func (*NamespaceService) ListNamespaces

ListNamespaces lists namespaces with optional filtering.

func (*NamespaceService) WatchNamespaces

WatchNamespaces watches namespaces for changes.

type NetworkStatusProvider

type NetworkStatusProvider interface {
	Status() (cn types.ClusterNetwork, pendingReleases int)
}

NetworkStatusProvider is the minimal surface AdminService needs to answer NetworkStatus RPCs. The vip allocator implements it. The indirection keeps AdminService independent of the networking package so existing admin tests don't grow a transitive dep.

type ResourceTarget

type ResourceTarget struct {
	Type     types.ResourceType
	Resource interface{}
}

func (ResourceTarget) GetInstance

func (r ResourceTarget) GetInstance() (*types.Instance, error)

func (ResourceTarget) GetService

func (r ResourceTarget) GetService() (*types.Service, error)

type SecretService

type SecretService struct {
	generated.UnimplementedSecretServiceServer
	// contains filtered or unexported fields
}

func NewSecretService

func NewSecretService(coreStore store.Store, logger log.Logger) *SecretService

func (*SecretService) CreateSecret

func (*SecretService) DeleteSecret

func (*SecretService) GetSecret

func (*SecretService) ListSecrets

func (*SecretService) UpdateSecret

type ServiceService

type ServiceService struct {
	generated.UnimplementedServiceServiceServer
	// contains filtered or unexported fields
}

ServiceService implements the gRPC ServiceService.

func NewServiceService

func NewServiceService(store store.Store, orchestrator orchestrator.Orchestrator, runnerManager *manager.RunnerManager, logger log.Logger) *ServiceService

NewServiceService creates a new ServiceService with the given orchestrator and logger.

func (*ServiceService) CreateService

CreateService creates a new service.

func (*ServiceService) DeleteService

DeleteService removes a service.

func (*ServiceService) GetDeletionStatus

GetDeletionStatus gets the status of a deletion operation.

func (*ServiceService) GetService

GetService retrieves a service by name.

func (*ServiceService) ListDeletionOperations

ListDeletionOperations lists deletion operations with optional filtering.

func (*ServiceService) ListServices

ListServices lists services with optional filtering.

func (*ServiceService) ScaleService

ScaleService changes the scale of a service.

func (*ServiceService) SetVIPAllocator

func (s *ServiceService) SetVIPAllocator(a VIPAllocator)

SetVIPAllocator wires in the cluster VIP allocator. Calling this is optional; when unset, services are created without a VIP (matching pre-RUNE-040 behavior). runed wires the live allocator in main.go.

func (*ServiceService) UpdateService

UpdateService updates an existing service.

func (*ServiceService) WatchScaling

WatchScaling watches a service for scaling status changes and streams updates to the client.

func (*ServiceService) WatchServices

WatchServices watches services for changes.

type VIPAllocator

type VIPAllocator interface {
	Allocate(ctx context.Context, serviceID string) (net.IP, error)
}

VIPAllocator is the minimal surface ServiceService needs to allocate a stable cluster VIP for each new service. Implemented by pkg/networking/vip.Allocator. The interface keeps service.go free of a dependency on the networking package and lets tests inject a fake.

Jump to

Keyboard shortcuts

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