gateway

package
v0.1.46 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2026 License: AGPL-3.0, AGPL-3.0-or-later Imports: 41 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Gateway

type Gateway struct {
	Config      types.AppConfig
	RedisClient *common.RedisClient
	BackendRepo *repository.PostgresBackend
	// contains filtered or unexported fields
}

func NewGateway

func NewGateway() (*Gateway, error)

func (*Gateway) GRPCAddr

func (g *Gateway) GRPCAddr() string

GRPCAddr returns the gateway's gRPC address

func (*Gateway) GRPCServer

func (g *Gateway) GRPCServer() *grpc.Server

GRPCServer returns the gRPC server for registering services

func (*Gateway) Scheduler

func (g *Gateway) Scheduler() *scheduler.Scheduler

Scheduler returns the scheduler instance

func (*Gateway) Shutdown

func (g *Gateway) Shutdown()

Shutdown gracefully shuts down the gateway (exported for external use)

func (*Gateway) SourceRegistry

func (g *Gateway) SourceRegistry() *sources.Registry

SourceRegistry returns the source registry for registering providers

func (*Gateway) Start

func (g *Gateway) Start() error

func (*Gateway) StartAsync

func (g *Gateway) StartAsync() error

Start is the gateway entry point StartAsync starts the gateway servers without blocking. Use this when embedding the gateway in another process (e.g., CLI).

func (*Gateway) ToolRegistry

func (g *Gateway) ToolRegistry() *tools.Registry

ToolRegistry returns the tool registry for registering providers

type GatewayClient

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

GatewayClient is a gRPC client for communicating with the gateway

func NewGatewayClient

func NewGatewayClient(addr string, authToken string) (*GatewayClient, error)

NewGatewayClient creates a new gateway gRPC client

func (*GatewayClient) AllocateIP added in v0.1.23

func (c *GatewayClient) AllocateIP(ctx context.Context, sandboxID, workerID string) (*types.IPAllocation, error)

AllocateIP requests an IP allocation for a sandbox from the gateway

func (*GatewayClient) Close

func (c *GatewayClient) Close() error

Close closes the gRPC connection

func (*GatewayClient) Deregister

func (c *GatewayClient) Deregister(ctx context.Context, workerId string) error

Deregister removes the worker from the gateway

func (*GatewayClient) GetWorker

func (c *GatewayClient) GetWorker(ctx context.Context, workerId string) (*types.Worker, error)

GetWorker retrieves worker information

func (*GatewayClient) Heartbeat

func (c *GatewayClient) Heartbeat(ctx context.Context, workerId string) error

Heartbeat sends a heartbeat for the worker

func (*GatewayClient) RegisterWorker

RegisterWorker registers a worker with the gateway

func (*GatewayClient) ReleaseIP added in v0.1.23

func (c *GatewayClient) ReleaseIP(ctx context.Context, sandboxID string) error

ReleaseIP releases an IP allocation for a sandbox

func (*GatewayClient) SetTaskResult

func (c *GatewayClient) SetTaskResult(ctx context.Context, taskID string, exitCode int, errorMsg string) error

SetTaskResult reports the result of a task to the gateway

func (*GatewayClient) SetTaskStarted added in v0.1.28

func (c *GatewayClient) SetTaskStarted(ctx context.Context, taskID string) error

SetTaskStarted marks a task as running in Postgres.

func (*GatewayClient) UpdateStatus

func (c *GatewayClient) UpdateStatus(ctx context.Context, workerId string, workerStatus types.WorkerStatus) error

UpdateStatus updates the worker's status

type RegisterWorkerRequest

type RegisterWorkerRequest struct {
	Hostname string
	PoolName string
	Cpu      int64
	Memory   int64
	Version  string
}

RegisterWorkerRequest is the request for registering a worker

type RegisterWorkerResponse

type RegisterWorkerResponse struct {
	WorkerID string
}

RegisterWorkerResponse is the response from registering a worker

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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