Versions in this module Expand all Collapse all v0 v0.10.0 Sep 11, 2026 v0.9.3 Sep 6, 2026 v0.9.2 Sep 5, 2026 v0.9.1 Sep 5, 2026 v0.9.0 Sep 5, 2026 v0.8.0 Sep 5, 2026 Changes in this version type Client + func (c *Client) RecordCacheObservation(ctx context.Context, leaseID string, epoch int64, obs alloc.CacheObservation) error v0.7.0 Sep 5, 2026 v0.6.1 Sep 4, 2026 v0.6.0 Sep 4, 2026 v0.5.0 Sep 3, 2026 Changes in this version + var ErrDenied = errors.New("nodeclient: an operator denied this node") + var ErrEnrollUnavailable = errors.New("nodeclient: the control plane cannot take this enrollment right now") + var ErrNotApproved = errors.New("nodeclient: this node is waiting to be approved") + var ErrRefused = errors.New("nodeclient: the control plane refused this node") + var ErrSuperseded = errors.New("nodeclient: another process is registered as this node") + var ErrUnauthenticated = errors.New("nodeclient: this node did not prove who it is") + var ErrUnregistered = errors.New("nodeclient: the control plane does not know this node") + func Enroll(ctx context.Context, base, name, joinToken string, caPEM, csrPEM []byte) ([]byte, []byte, error) + func ExecuteForTest(ctx context.Context, compute Compute, cmd nodeapi.Command) nodeapi.CommandResult + func FetchCA(ctx context.Context, base, wantFingerprint string) ([]byte, string, error) + func Run(ctx context.Context, c *Client, compute Compute, opts LoopOptions) error + type Client struct + func New(opts Options) (*Client, error) + func (c *Client) ActionsCacheAllowed(ctx context.Context, owner, repository string) (bool, error) + func (c *Client) Advance(ctx context.Context, leaseID string, epoch int64, to alloc.Phase) error + func (c *Client) BaseForTest() string + func (c *Client) Bind(ctx context.Context, leaseID string, epoch int64, nodeName string) error + func (c *Client) Describe(ctx context.Context, name, group string) (*node.Set, []string, error) + func (c *Client) EnsureRunnerRemoved(ctx context.Context, leaseID string) error + func (c *Client) Heartbeat(ctx context.Context, leaseID string, epoch int64) error + func (c *Client) Incarnation() string + func (c *Client) JITConfig(ctx context.Context, scaleSetID int, runnerName, workFolder string) (node.Registration, error) + func (c *Client) LaunchedLeaseIDs(ctx context.Context, nodeName string) (map[string]bool, error) + func (c *Client) Lease(ctx context.Context, leaseID string) (*alloc.Lease, error) + func (c *Client) LeaseTTL() time.Duration + func (c *Client) MarkFailure(ctx context.Context, leaseID string, epoch int64, reason string) error + func (c *Client) Poll(ctx context.Context) (nodeapi.Command, bool, error) + func (c *Client) PollWindow() time.Duration + func (c *Client) QuarantinedLeaseIDs(ctx context.Context, nodeName string) (map[string]bool, error) + func (c *Client) Reconcile(ctx context.Context, nodeName string, running []string) (int, error) + func (c *Client) RecoverRunner(ctx context.Context, leaseID, _ string, _ int64, runnerName string) (node.RunnerRecovery, error) + func (c *Client) Register(ctx context.Context, reg Registration) error + func (c *Client) Release(ctx context.Context, leaseID string, epoch int64, outcome alloc.Phase) error + func (c *Client) RemoveRunner(ctx context.Context, leaseID string, runnerID int64, runnerName string) error + func (c *Client) Renew(ctx context.Context, name string) ([]byte, []byte, []byte, error) + func (c *Client) Report(ctx context.Context, res nodeapi.CommandResult) error + func (c *Client) Resize(ctx context.Context, leaseID string, epoch int64, instanceType string, ...) error + func (c *Client) ValidateTrustedRunnerGroup(ctx context.Context, group string, workflows []string) error + func (c *Client) WireVersion() int + func (c *Client) Withdraw(ctx context.Context) error + type Compute interface + AssumeCustody func(ctx context.Context, lease *alloc.Lease, requestID int64) error + Destroy func(ctx context.Context, requestID int64) error + Holding func() bool + Instances func(ctx context.Context) ([]string, error) + KeepAlive func(ctx context.Context) + Launch func(ctx context.Context, lease *alloc.Lease, tier *nodeapi.TierSpec, ...) error + Recover func(ctx context.Context) error + Superseded func() + Sweep func(ctx context.Context) error + Tend func(ctx context.Context) error + type LoopOptions struct + Backoff time.Duration + CodeBuildFleet string + CodeBuildJITParameterPath string + CodeBuildRegion string + Deployment string + DrainTimeout time.Duration + EC2Shapes []config.RemoteShape + GuestOS []config.GuestOS + Hurry <-chan struct{} + Identity *wirecert.Rotating + Log *slog.Logger + Memory config.ByteSize + Provider config.ProviderKind + Site string + SweepEvery time.Duration + VCPU int + type Options struct + Base string + HTTP *http.Client + Node string + RequestTimeout time.Duration + TLS *tls.Config + type Registration struct + CodeBuildFleet string + CodeBuildJITParameterPath string + CodeBuildRegion string + Deployment string + EC2Shapes []config.RemoteShape + GuestOS []config.GuestOS + Instances []string + InventoryKnown bool + Memory config.ByteSize + Provider config.ProviderKind + Site string + VCPU int