runner

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2026 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultInviteExpiryHours = 1
	MaxInviteExpiryHours     = 168 // 7 days

)

Variables

This section is empty.

Functions

This section is empty.

Types

type RegistrationServer

type RegistrationServer struct {
	RegistrationServerConfig
}

func (*RegistrationServer) CordonRunner added in v0.11.1

CordonRunner marks a runner unschedulable without disrupting its running sandboxes. The scheduler stops placing new work on the node; existing sandboxes keep running.

func (*RegistrationServer) CreateInvite

func (*RegistrationServer) DrainRunner added in v0.11.1

DrainRunner cordons a runner and evicts its sandboxes so app controllers reschedule them onto other ready nodes. It marks each scheduled sandbox STOPPED — the same action the sandbox pool takes during a crash cooldown — which makes the owning runner tear down its local container (via its node-scoped watch on the sandbox status) and lets the pool controllers recreate the capacity elsewhere. The sandbox entities themselves are left in place (STOPPED, not deleted), as are disk mounts, volumes, and leases (unlike RemoveRunner --force). It blocks until no live sandboxes remain on the node or the timeout elapses, then reports how many sandboxes were evicted.

func (*RegistrationServer) IssueWorkloadToken added in v0.10.0

IssueWorkloadToken mints a workload identity token for a sandbox on behalf of a distributed runner, which does not hold the cluster signing key. The caller is an mTLS-authenticated runner.

func (*RegistrationServer) Join

func (*RegistrationServer) ListInvites

func (*RegistrationServer) ListRunners

func (*RegistrationServer) RefreshCertificate added in v0.10.0

RefreshCertificate re-issues the calling runner's server certificate with SANs derived from its current listen address. A runner needs this when its listen IP changes but its persisted certificate (e.g. on a disk that outlives the VM) still carries the old IP. The method is public at the RPC layer but authorizes the caller here: the presented client certificate must chain to the cluster CA and be a runner certificate, and the re-issued certificate keeps that certificate's CommonName so a runner can only refresh its own identity.

func (*RegistrationServer) RemoveRunner added in v0.7.0

func (*RegistrationServer) RevokeInvite

func (*RegistrationServer) UncordonRunner added in v0.11.1

UncordonRunner clears a runner's cordon, making it eligible for scheduling again.

func (*RegistrationServer) WorkloadIssuerInfo added in v0.10.0

WorkloadIssuerInfo reports whether the coordinator has a workload identity issuer configured and, if so, its issuer URL. Distributed runners call this once at startup to decide whether to mint workload identity tokens via the coordinator.

type RegistrationServerConfig added in v0.7.0

type RegistrationServerConfig struct {
	Log             *slog.Logger
	Authority       *caauth.Authority
	EAC             *entityserver_v1alpha.EntityAccessClient
	CoordinatorAddr string
	EtcdEndpoints   []string
	EtcdPrefix      string
	NetworkBackend  string

	// Observability endpoints provided to runners at join time
	VictoriametricsAddress string
	VictorialogsAddress    string

	// WorkloadIssuer mints workload identity tokens. Distributed runners, which
	// do not hold the cluster signing key, request tokens from the coordinator
	// through this server. May be nil when no issuer is configured.
	WorkloadIssuer *workloadidentity.Issuer
}

Jump to

Keyboard shortcuts

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