Versions in this module Expand all Collapse all v0 v0.1.3 Jul 16, 2026 v0.1.2 Jul 15, 2026 v0.1.1 Jul 13, 2026 v0.1.0 Jul 13, 2026 Changes in this version + func SocketPath(dataDir string) string + type Config struct + Artifacts *artifacts.Extractor + DataDir string + ExternalURL string + JobTimeout time.Duration + Labels []string + LinuxDispatcher *DispatchClient + Log *slog.Logger + LogRetention time.Duration + MacOSModeForRepo func(repo string) string + MacOSVMConfig *vm.MacOSVMConfig + MaxConcurrent int + MaxMacOSVMs int + MaxNativeMac int + NativeMacMaxProcs int + NativeMacStrict bool + NativeMacUser string + OrphanSweep OrphanSweepConfig + PollInterval time.Duration + PrivateKeyPath string + Providers []providers.Provider + ReconcileInterval time.Duration + Retry RetryConfig + RunnerDir string + RunnerImageForRepo func(repo, os string) string + Runtime *runtime.Runtime + ShutdownTimeout time.Duration + TLSCert string + TLSKey string + Tunnel tunnel.Provider + TunnelMaxRetries int + WebhookPort int + WebhookSecret string + type DispatchClient struct + func NewDispatchClient(addr string) (*DispatchClient, error) + func (d *DispatchClient) Close() error + func (d *DispatchClient) ConsumeContainerStats(ctx context.Context, intervalSeconds uint32, runtimeLabel string, ...) error + func (d *DispatchClient) Create(ctx context.Context, id, image, jitConfig, provider, repo string) error + func (d *DispatchClient) Destroy(ctx context.Context, id string) error + func (d *DispatchClient) Wait(ctx context.Context, id string) (uint32, error) + type DispatchServer struct + func NewDispatchServer(rt *runtime.Runtime, log *slog.Logger, defaultInterval time.Duration, ...) *DispatchServer + func StartDispatchServer(cfg DispatchServerConfig) (*DispatchServer, func()) + func (s *DispatchServer) CreateJob(ctx context.Context, req *apiv1.CreateJobRequest) (*apiv1.CreateJobResponse, error) + func (s *DispatchServer) DestroyJob(ctx context.Context, req *apiv1.DestroyJobRequest) (*apiv1.DestroyJobResponse, error) + func (s *DispatchServer) RegisterSampler(id, repo string, sampler metrics.Sampler) + func (s *DispatchServer) StreamContainerStats(req *apiv1.StreamContainerStatsRequest, ...) error + func (s *DispatchServer) UnregisterSampler(id string) + func (s *DispatchServer) WaitJob(ctx context.Context, req *apiv1.WaitJobRequest) (*apiv1.WaitJobResponse, error) + type DispatchServerConfig struct + LinuxCPULimit uint64 + LinuxMemLimitBytes uint64 + Log *slog.Logger + Port int + Runtime *runtime.Runtime + StatsInterval time.Duration + type OrphanSweepConfig struct + Enabled bool + Grace time.Duration + type RetryConfig struct + Enabled bool + Jitter float64 + MaxAge time.Duration + Now func() time.Time + RateHint func() (remaining int64, reset time.Time, updated time.Time) + Schedule []time.Duration + type Scheduler struct + func New(cfg Config) *Scheduler + func (s *Scheduler) Run(ctx context.Context) error + func (s *Scheduler) SetMacOSVMConfig(cfg *vm.MacOSVMConfig) + func (s *Scheduler) StartVMSSHServer() (func(), error) + type VMSSHInfo struct + IP string + PrivateKey []byte + User string