Documentation
¶
Index ¶
- Constants
- Variables
- func AWSFixedAttemptAttestationLabels(attempt AWSLaunchAttempt) map[string]string
- func AWSInstanceTypeVCPUs(serverType string) int
- func AWSLaunchCandidates(cfg Config) []string
- func AcquireAttempts(keep bool) int
- func AllocateClaimLeaseSlug(leaseID, requested string) (string, error)
- func AllocateClaimLeaseSlugContext(ctx context.Context, leaseID, requested string) (string, error)
- func AllocateDirectLeaseSlug(leaseID, requested string, servers []Server) (string, error)
- func AllocateDirectLeaseSlugContext(ctx context.Context, leaseID, requested string, servers []Server) (string, error)
- func AppendDirectPondTailscaleTag(cfg *Config)
- func AppendExternalDesktopRoutingArgs(args []string, cfg Config) []string
- func AppleContainerImageExplicit(cfg Config) bool
- func AppleVMCPUsExplicit(cfg Config) bool
- func AppleVMDiskExplicit(cfg Config) bool
- func AppleVMImageExplicit(cfg Config) bool
- func AppleVMMemoryExplicit(cfg Config) bool
- func ApplyAppleVMImage(cfg *Config, image string)
- func ApplyAppleVMImageSHA256(cfg *Config, checksum string)
- func ApplyConfigShowSSHDefaults(cfg *Config, user string)
- func ApplyExternalDesktopEnvironmentOverrides(cfg *Config)
- func ApplyFailureClassification(report *TimingReport, classification FailureClassification)
- func ApplyLeaseDuration(target *time.Duration, value string) error
- func ApplyLinuxConnectionDefaults(cfg *Config, defaultSSHUser, defaultSSHPort string)
- func ApplyLocalContainerImage(cfg *Config, value string)
- func ApplyLocalContainerRuntime(cfg *Config, value string)
- func ApplyLocalContainerWorkRoot(cfg *Config, value string)
- func ApplyParallelsHostRefConfig(cfg *Config, hostRef string)
- func ApplyParallelsTemplateConfig(cfg *Config, name string) error
- func ApplyProviderConfigFlags[Values interface{ ... }, ProviderConfig, Applied any](cfg *Config, fs *flag.FlagSet, values any, dst *ProviderConfig, ...) (bool, error)
- func ApplyTargetChildEnvironmentBoundary(cfg Config, target *SSHTarget)
- func AsExitError(err error, target *ExitError) bool
- func AuthorizeCheckpointRelease(claim LeaseClaim, checkpointID string) error
- func AzureServerHost(server Server, network string) string
- func AzureVMSizeCandidatesForConfig(cfg Config) []string
- func AzureVMSizeCandidatesForProfiles(cfg Config, profiles []ProviderClassProfile) []string
- func AzureVMSizeVCPUCount(vmSize string) (int, bool)
- func BindFixedClaim(claim *LeaseClaim, binding FixedResourceBinding, persist func() error) error
- func Blank(value, fallback string) string
- func BootstrapAWSWindowsDesktop(ctx context.Context, cfg Config, target *SSHTarget, publicKey string, ...) error
- func BootstrapManagedWindowsDesktop(ctx context.Context, cfg Config, target *SSHTarget, publicKey string, ...) error
- func BootstrapWaitTimeout(cfg Config) time.Duration
- func CacheVolumeStickyDiskSpecs(volumes []CacheVolumeConfig) []string
- func CanonicalProviderClasses() []string
- func CapacityMarketExplicit(cfg Config) bool
- func CaptureLocalFailureBundle(nameSeed string, meta FailureCaptureMetadata) (string, int, error)
- func CheckCheckpointReadinessLifetime(ctx context.Context, server Server) error
- func CheckFixedAttemptActive(claim LeaseClaim, identityKey string, cleanupKeys ...string) error
- func CheckLeaseClaimRepositoryOwner(leaseID string, existing leaseClaim, repoRoot string, reclaim bool, ...) error
- func CheckSyncPreflight(manifest SyncManifest, cfg Config, force bool, stderr io.Writer) error
- func ClaimLeaseForRepoProvider(leaseID, slug, provider, repoRoot string, idleTimeout time.Duration, ...) error
- func ClaimLeaseForRepoProviderPond(leaseID, slug, provider, pond, repoRoot string, idleTimeout time.Duration, ...) error
- func ClaimLeaseForRepoProviderScope(leaseID, slug, provider, providerScope, repoRoot string, ...) error
- func ClaimLeaseForRepoProviderScopePond(leaseID, slug, provider, providerScope, pond, repoRoot string, ...) error
- func ClaimLeaseForRepoProviderScopePondCacheVolumes(leaseID, slug, provider, providerScope, pond, repoRoot string, ...) error
- func ClaimLeaseForRepoProviderScopePondEndpoint(leaseID, slug, provider, providerScope, pond, repoRoot string, ...) error
- func ClaimLeaseForRepoProviderScopePondEndpointIfUnchanged(leaseID, slug, provider, providerScope, pond, repoRoot string, ...) (leaseClaim, error)
- func ClaimLeaseForRepoProviderScopePondEndpointReservationIfUnchanged(leaseID, slug, provider, providerScope, pond, repoRoot string, ...) (leaseClaim, error)
- func ClaimLeaseForRepoProviderScopePondIfUnchanged(leaseID, slug, provider, providerScope, pond, repoRoot string, ...) (leaseClaim, error)
- func ClaimLeaseForRepoProviderScopePondWithLabels(leaseID, slug, provider, providerScope, pond, repoRoot string, ...) (leaseClaim, error)
- func ClaimLeaseTargetForConfig(leaseID, slug string, cfg Config, server Server, target SSHTarget, ...) error
- func ClaimLeaseTargetForConfigIfUnchanged(leaseID, slug string, cfg Config, server Server, target SSHTarget, ...) (leaseClaim, error)
- func ClaimLeaseTargetForConfigScopeIfUnchanged(leaseID, slug string, cfg Config, providerScope string, server Server, ...) (leaseClaim, error)
- func ClaimLeaseTargetForRepoConfig(leaseID, slug string, cfg Config, server Server, target SSHTarget, ...) error
- func ClaimLeaseTargetForRepoConfigIfUnchanged(leaseID, slug string, cfg Config, server Server, target SSHTarget, ...) (leaseClaim, error)
- func ClaimLeaseTargetForRepoConfigScopeIfUnchanged(leaseID, slug string, cfg Config, providerScope string, server Server, ...) (leaseClaim, error)
- func ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurable(leaseID, slug string, cfg Config, providerScope string, server Server, ...) (leaseClaim, error)
- func ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurableAfter(leaseID, slug string, cfg Config, providerScope string, server Server, ...) (leaseClaim, error)
- func ClaimLeaseTargetForRepoConfigScopeReplacingEndpointIfUnchanged(leaseID, slug string, cfg Config, providerScope string, server Server, ...) (leaseClaim, error)
- func ClaimLeaseTargetForRepoConfigWithIdleTimeoutOverrideIfUnchanged(leaseID, slug string, cfg Config, server Server, target SSHTarget, ...) (leaseClaim, error)
- func ClaimRepositoryMatches(stored, root string, legacyRoot ...string) bool
- func ClaimScopeURL(value string) string
- func ClassFlagWasExplicit(cfg Config) bool
- func ClassWasExplicit(cfg Config) bool
- func CleanupLeaseClaimIfUnchangedAfter(leaseID string, expected leaseClaim, expectedExists bool, action func() error) error
- func CleanupLeaseClaimIfUnchangedAfterContext(ctx context.Context, leaseID string, expected LeaseClaim, expectedExists bool, ...) error
- func ClearLeaseClaimTailscale(leaseID string) error
- func ClockNow(clock Clock) time.Time
- func CloneDefaultTransport() (*http.Transport, error)
- func CloudInitUserData(cfg Config, publicKey string) string
- func CompileRunArtifactGlob(glob string) (*regexp.Regexp, error)
- func ConfigShowSecretState(value string) string
- func ConfigShowURL(value string) string
- func ControllerOwnsLeaseLifecycle() bool
- func CrabboxStateDir() (string, error)
- func CreateSyncArchive(ctx context.Context, repo Repo, manifest SyncManifest, tempPattern string) (*os.File, error)
- func DefaultContainerImageDigest(image string) (digest string, known bool)
- func DelegatedRunArtifactFileScript(requiredGlobs, artifactGlobs []string, maxFiles int, maxBytes int64) string
- func DeleteClaimedEvidence[T any](ctx context.Context, kind FixedLeaseKind, claim LeaseClaim, ...) error
- func DeleteFixedResource[T any](ctx context.Context, kind FixedLeaseKind, expected LeaseClaim, ...) error
- func DeleteOnReleaseExplicit(cfg Config, provider string) bool
- func DialServeRelay(ctx context.Context, coordinator *CoordinatorClient, ...) (net.Conn, error)
- func DigitalOceanImageWasExplicit(cfg Config) bool
- func DirectLeaseLabels(cfg Config, leaseID, slug, provider, market string, keep bool, now time.Time) map[string]string
- func DoctorChecksStatus(checks []DoctorCheck) string
- func DurationMinutesCeil(duration time.Duration) int
- func EffectiveHostingerWorkRoot(cfg Config) string
- func EffectiveMaxTTL(cfg Config) time.Duration
- func EffectiveNvidiaBrevWorkRoot(cfg Config) string
- func EffectiveSealosDevboxWorkRoot(cfg Config) string
- func EffectiveVastWorkRoot(cfg Config) string
- func EnsureAWSSSHCIDRs(ctx context.Context, cfg *Config)
- func EnsureCrabboxClaimNamespaceDurable() error
- func EnsureTestboxKey(leaseID string) (string, string, error)
- func EnsureTestboxKeyForConfig(cfg Config, leaseID string) (string, string, error)
- func EnsureTestboxKeyForConfigContext(ctx context.Context, cfg Config, leaseID string) (string, string, error)
- func ExistingLeaseKnownHostsPath(leaseID string) (string, error)
- func ExitCodeForError(err error, fallback int) int
- func ExpandUserPath(path string) string
- func ExplicitWindowsModeValue(cfg Config) string
- func ExtendedLeaseLabels(labels map[string]string, cfg Config, req LeaseExtendRequest, now time.Time) (map[string]string, error)
- func ExternalDesktopChildEnvironmentDenylist(cfg Config) []string
- func ExternalRoutingArchitecture(cfg ExternalConfig) string
- func ExternalRoutingDigest(cfg ExternalConfig) string
- func ExternalRoutingGeneration(cfg ExternalConfig) string
- func ExternalRoutingLoaded(cfg ExternalConfig) bool
- func ExternalRoutingPath(leaseID string) (string, error)
- func ExternalRoutingTarget(cfg ExternalConfig) (string, string)
- func FixedAWSCreateIntentFingerprint(cfg Config, req FixedAWSCreateIntentRequest) (string, error)
- func FixedCreateTime(claim LeaseClaim) time.Time
- func FixedIdentityLabels(provider, leaseID, slug, fingerprint string, native map[string]string) map[string]string
- func FixedIntentFingerprint(domain string, intent any) (string, error)
- func FixedMachine0CreateIntentFingerprint(cfg Config, req FixedMachine0CreateIntentRequest) (string, error)
- func FixedPristineRecord(claim LeaseClaim, kind FixedLeaseKind, scopePrefix string) bool
- func FixedSHA256(value string) bool
- func FixedUncertainCustody(leaseID string) error
- func FlagWasSet(fs *flag.FlagSet, name string) bool
- func ForgetAbsentLeaseClaim(ctx context.Context, verifier AbsenceVerifier, claim LeaseClaim) (bool, error)
- func FormatFailureClassificationFields(classification FailureClassification) string
- func GCPMachineTypeCandidatesForConfig(cfg Config) []string
- func GitCheckoutHasHiddenOmissions(root string) (bool, error)
- func GitHubCodespacesRetentionExplicit(cfg Config) bool
- func GnomeDesktopThemeScript() string
- func GzipCloudInit(cloudConfig string) ([]byte, error)
- func HandleDelegatedRunFailure(w io.Writer, req RunRequest, provider, leaseID, slug string, ...)
- func HasAzureCleanupBinding(labels map[string]string) bool
- func HasDelegatedRunDownloadRequests(req RunRequest) bool
- func HetznerServerTypeCandidatesForConfig(cfg Config) []string
- func IdleForString(value string, now time.Time) string
- func ImageRequirementsIntent(cfg Config) (string, error)
- func IncusServerTypeForConfig(cfg Config) string
- func InspectFixedCandidate[T any](ctx context.Context, kind FixedLeaseKind, claim LeaseClaim, ...) (T, bool, error)
- func IsAWSCleanupKeyOwnershipError(err error) bool
- func IsArchitectureExplicit(cfg Config) bool
- func IsAzureCleanupSkipError(err error) bool
- func IsBootstrapWaitError(err error) bool
- func IsBoxdWorkRootExplicit(cfg *Config) bool
- func IsCanonicalGCPServer(server Server) bool
- func IsCanonicalLeaseID(value string) bool
- func IsCanonicalProviderClass(class string) bool
- func IsCrabboxProxmoxLease(server Server) bool
- func IsDefaultWorkRoot(value string) bool
- func IsExternalDesktopPasswordEnvExplicit(cfg *Config) bool
- func IsExternalDesktopTargetExplicit(cfg *Config) bool
- func IsExternalDesktopUsernameExplicit(cfg *Config) bool
- func IsExternalDesktopWindowsModeExplicit(cfg *Config) bool
- func IsGCPNotFound(err error) bool
- func IsHetznerNotFound(err error) bool
- func IsHostingerUserExplicit(cfg *Config) bool
- func IsHostingerWorkRootExplicit(cfg *Config) bool
- func IsNvidiaBrevTargetExplicit(cfg *Config) bool
- func IsNvidiaBrevWorkRootExplicit(cfg *Config) bool
- func IsPlainLocalCommandExit(result LocalCommandResult, err error) bool
- func IsProxmoxDeleteRequestError(err error) bool
- func IsProxmoxDeleteTaskError(err error) bool
- func IsProxmoxNotFound(err error) bool
- func IsRunExecutionMetadataEnvName(name string) bool
- func IsSSHKeyExplicit(cfg *Config) bool
- func IsSSHPortExplicit(cfg *Config) bool
- func IsSSHUserExplicit(cfg *Config) bool
- func IsSealosDevboxWorkRootExplicit(cfg *Config) bool
- func IsShellEnvAssignment(word string) bool
- func IsTargetExplicit(cfg *Config) bool
- func IsTartCPUsExplicit(cfg *Config) bool
- func IsTartDiskExplicit(cfg *Config) bool
- func IsTartMemoryExplicit(cfg *Config) bool
- func IsVastWorkRootExplicit(cfg *Config) bool
- func IsWSLSFTPUnavailable(err error) bool
- func IsWindowsModeExplicit(cfg Config) bool
- func IsWorkRootExplicit(cfg *Config) bool
- func IsloDiskGBExplicit(cfg Config) bool
- func IsloImageExplicit(cfg Config) bool
- func IsloMemoryMBExplicit(cfg Config) bool
- func IsloVCPUsExplicit(cfg Config) bool
- func JSONHasDuplicateKeys(dec *json.Decoder) (bool, error)
- func LambdaImageFamilyWasExplicit(cfg Config) bool
- func LambdaImageWasExplicit(cfg Config) bool
- func LeaseClaimMatchesIdentifier(claim leaseClaim, identifier string) bool
- func LeaseLabelDuration(value string) (time.Duration, bool)
- func LeaseLabelDurationDisplay(secondsValue, fallbackValue string) string
- func LeaseLabelTime(t time.Time) string
- func LeaseLabelTimeDisplay(value string) string
- func LeaseProviderName(leaseID, slug string) string
- func LinodeImageWasExplicit(cfg Config) bool
- func LinodeTypeWasExplicit(cfg Config) bool
- func LinuxAptQuiesce() string
- func LinuxAptWait() string
- func ListLeaseClaims() ([]leaseClaim, error)
- func ListLeaseClaimsContext(ctx context.Context) ([]leaseClaim, error)
- func ListLeaseClaimsWithPrefix(prefix string) ([]leaseClaim, error)
- func ListLeaseClaimsWithPrefixContext(ctx context.Context, prefix string) ([]leaseClaim, error)
- func LiteralPOSIXPath(value string) string
- func LocalContainerRuntimeExplicit(cfg Config) bool
- func LocalContainerWorkRootExplicit(cfg Config) bool
- func LocalProcessBootIdentity() (string, error)
- func LocalProcessBootIdentityRequired() bool
- func LocalProcessCommand(pid int) (string, bool)
- func LocalProcessStartIdentity(pid int) (string, error)
- func LocalRunArtifactPath(repoRoot, runID, leaseID, name string) string
- func LooksLikeInlineSSHPublicKey(value string) bool
- func LookupExternalDesktopPassword(cfg Config, name string) (string, bool)
- func LookupFixedResource[T any](ctx context.Context, kind FixedLeaseKind, claim LeaseClaim, ...) (T, error)
- func ManagedWindowsDesktopBootstrapPowerShell(user string) string
- func ManagedWindowsDesktopTerminalBootstrapPowerShell() string
- func MarkAppleContainerImageExplicit(cfg *Config)
- func MarkAppleVMCPUsExplicit(cfg *Config)
- func MarkAppleVMDiskExplicit(cfg *Config)
- func MarkAppleVMImageExplicit(cfg *Config)
- func MarkAppleVMImageSHA256Explicit(cfg *Config)
- func MarkAppleVMMemoryExplicit(cfg *Config)
- func MarkArchitectureExplicit(cfg *Config)
- func MarkBoxdWorkRootExplicit(cfg *Config)
- func MarkCapacityMarketExplicit(cfg *Config)
- func MarkClassExplicit(cfg *Config)
- func MarkDeleteOnReleaseExplicit(cfg *Config, provider string)
- func MarkExternalDesktopPasswordEnvExplicit(cfg *Config)
- func MarkExternalDesktopUsernameExplicit(cfg *Config)
- func MarkExternalProviderOutputFlagExplicit(cfg *Config)
- func MarkExternalRoutingCredentialSources(cfg *Config)
- func MarkExternalRoutingFileExplicit(cfg *Config)
- func MarkExternalRoutingTargetRestored(cfg *Config, targetRestored, windowsModeRestored bool)
- func MarkFlagDeprecated(fs *flag.FlagSet, name, replacement string)
- func MarkGitHubCodespacesRetentionExplicit(cfg *Config)
- func MarkHostingerUserExplicit(cfg *Config)
- func MarkHostingerWorkRootExplicit(cfg *Config)
- func MarkIsloConfigExplicit(cfg *Config, applied IsloConfigApplied)
- func MarkIsloDiskGBExplicit(cfg *Config)
- func MarkIsloImageExplicit(cfg *Config)
- func MarkIsloMemoryMBExplicit(cfg *Config)
- func MarkIsloVCPUsExplicit(cfg *Config)
- func MarkLocalContainerImageExplicit(cfg *Config)
- func MarkLocalContainerRuntimeExplicit(cfg *Config)
- func MarkLocalContainerWorkRootExplicit(cfg *Config)
- func MarkMultipassImageExplicit(cfg *Config)
- func MarkNvidiaBrevTargetExplicit(cfg *Config)
- func MarkNvidiaBrevWorkRootExplicit(cfg *Config)
- func MarkPhalaInstanceTypeExplicit(cfg *Config)
- func MarkSSHKeyExplicit(cfg *Config)
- func MarkSSHPortExplicit(cfg *Config)
- func MarkSSHUserExplicit(cfg *Config)
- func MarkScalewayConfigApplied(cfg *Config, applied ScalewayConfigApplied)
- func MarkSealosDevboxWorkRootExplicit(cfg *Config)
- func MarkTargetExplicit(cfg *Config)
- func MarkTartCPUsExplicit(cfg *Config)
- func MarkTartDiskExplicit(cfg *Config)
- func MarkTartImageExplicit(cfg *Config)
- func MarkTartMemoryExplicit(cfg *Config)
- func MarkTencentCloudConfigApplied(cfg *Config, applied TencentCloudConfigApplied)
- func MarkVastWorkRootExplicit(cfg *Config)
- func MarkWorkRootExplicit(cfg *Config)
- func MutateFixedRetention(ctx context.Context, kind FixedLeaseKind, expected LeaseClaim, ...) error
- func NewAWSCleanupKeyOwnershipError(message string) error
- func NewCappedFailureBundleStream(file *os.File) io.WriteCloser
- func NewLeaseID() string
- func NewLeaseSlug(leaseID string) string
- func NoProviderFlags() any
- func NormalizeArchitecture(value string) (string, error)
- func NormalizeAzureBackend(backend string) (string, error)
- func NormalizeAzureDiskSKU(value string) (string, error)
- func NormalizeAzureOSDiskMode(value string) (string, error)
- func NormalizeAzureSnapshotSKU(value string) (string, error)
- func NormalizeCheckpointStrategy(strategy string) string
- func NormalizeLeaseSlug(value string) string
- func NormalizeList(values []string) []string
- func NormalizeManagedStateTransferRoot(root string) (string, error)
- func NormalizePondName(value string) string
- func NormalizeTargetConfig(cfg *Config)
- func NormalizeTargetOS(value string) string
- func NormalizeVastInstanceType(value string) string
- func NormalizeWindowsMode(value string) string
- func NormalizedDesktopEnv(value string) string
- func OSImageDefaultAppleVMImage(value string) (string, error)
- func OSImageDefaultAppleVMSHA256(value string) (string, error)
- func OSImageWasExplicit(cfg Config) bool
- func OVHImageWasExplicit(cfg Config) bool
- func OptionalStoredTestboxKeyPath(leaseID string) (string, error)
- func ParallelsGuestToolsUnavailable(err error) bool
- func ParallelsHostRefForConfig(cfg Config) string
- func ParallelsLabelsFromName(name string) map[string]string
- func ParallelsLeaseVMName(leaseID, slug string) string
- func ParallelsStartupContext(ctx context.Context, cfg Config) (context.Context, context.CancelFunc)
- func ParseServerID(s string) (int64, bool)
- func PersistExternalRouting(leaseID string, cfg ExternalConfig) (string, error)
- func PersistValidatedExternalRouting(leaseID string, cfg ExternalConfig) (string, error)
- func PhalaInstanceTypeOverridesClass(cfg Config) bool
- func PhalaInstanceTypeWasExplicit(cfg Config) bool
- func PowerShellQuote(s string) string
- func PowershellCommand(script string) string
- func PreflightLeaseSSHStorage() error
- func PrepareFixedSSHKey(cfg *Config, leaseID string, policy FixedKeyPolicy) (string, error)
- func PrepareNativeImageSource(ctx context.Context, target SSHTarget) error
- func PrepareStoredTestboxKeyPath(leaseID string) (string, error)
- func PreserveExternalDesktopChildEnvironmentBoundary(cfg *Config)
- func PrimaryRunClassificationCause(err error) error
- func PrintEnvForwardingSummary(w io.Writer, provider, behavior string, allow []string, env map[string]string)
- func ProbeSSHReady(ctx context.Context, target *SSHTarget, timeout time.Duration) bool
- func ProviderClaimScope(provider string, cfg Config) string
- func ProviderClassCandidatesForProfiles(profiles []ProviderClassProfile, cfg Config) ([]string, bool)
- func ProviderClassPrimaryTypeForProfiles(profiles []ProviderClassProfile, cfg Config, legacyFallback string) string
- func ProviderKeyForLease(leaseID string) string
- func ProviderNameMatches(name string, provider Provider) bool
- func ProviderNameMatchesExact(name string, provider Provider) bool
- func ProviderSelectionIsAuthoritativeRoute(cfg Config) bool
- func ProvisionServerCandidates(ctx context.Context, original Config, candidates []ProvisioningCandidate, ...) (Server, Config, error)
- func PruneArchiveSyncManifestCommand(workdir, token string, allowMassDeletions bool) string
- func PublicKeyFor(privatePath string) (string, error)
- func ReadFixedAttempt[T any](intent *FixedCreateIntent, format FixedAttemptFormat) (*T, error)
- func ReadLeaseClaim(leaseID string) (leaseClaim, error)
- func ReadLeaseClaimWithPresence(leaseID string) (leaseClaim, bool, error)
- func ReconcileFixedReadiness(p FixedReadinessRecovery) (bool, error)
- func RecordFixedWitness(claim *LeaseClaim, key, value string, persist func() error) error
- func RecordProviderFlagInputs(cfg *Config, accepted bool, providers ...string)
- func RecordProviderFlagIntents(cfg *Config, applied bool, providers ...string)
- func RedactDiagnosticSecrets(value string, secrets ...string) string
- func RedactKnownFailureBody(text string) (string, bool)
- func RefreshAuthorizedForkReleaseClaim(server *Server, leaseID string) error
- func RefreshGuestLeaseExpiry(ctx context.Context, target SSHTarget, fields GuestLeaseExpiryFields) error
- func RegisterProvider(provider Provider)
- func RegisteredProviderNames() []string
- func RejectDelegatedSyncOptionsForSpec(spec ProviderSpec, req RunRequest) error
- func RemoteJoin(cfg Config, parts ...string) string
- func RemoveExternalRouting(leaseID string)
- func RemoveExternalRoutingIfUnchanged(leaseID string, expected ExternalConfig) error
- func RemoveLeaseClaim(leaseID string)
- func RemoveLeaseClaimIfUnchanged(leaseID string, expected leaseClaim) error
- func RemoveLeaseClaimIfUnchangedAfter(leaseID string, expected leaseClaim, action func() error) error
- func RemoveStoredTestboxConnectionArtifacts(leaseID string) error
- func RemoveStoredTestboxConnectionArtifactsContext(ctx context.Context, leaseID string) error
- func RemoveStoredTestboxKey(leaseID string)
- func RenderTailscaleHostname(template, leaseID, slug, provider string) string
- func ReplaceLeaseClaimEndpointIfUnchangedAction(leaseID string, expected leaseClaim, ...) (leaseClaim, Server, SSHTarget, error)
- func ReplaceLeaseClaimEndpointIfUnchangedWithProviderMetadata(leaseID string, expected leaseClaim, server Server, target SSHTarget) (leaseClaim, error)
- func ReplaceLeaseClaimIfUnchanged(leaseID string, current, replacement leaseClaim) error
- func ReplaceLeaseClaimIfUnchangedDurableAfter(leaseID string, current, replacement leaseClaim, action func() error) (leaseClaim, error)
- func ReplaceLeaseClaimIfUnchangedDurableReturning(leaseID string, current, replacement leaseClaim) (leaseClaim, error)
- func ReplaceLeaseClaimIfUnchangedDurableReturningContext(ctx context.Context, leaseID string, current, replacement leaseClaim) (leaseClaim, error)
- func ReserveParallelsHostCapacity(ctx context.Context, cfg Config, runner CommandRunner, source string) (func(), error)
- func ResolveInheritedWorkRoot(providerRoot, genericRoot, fallback string) string
- func ResolveLeaseClaim(identifier string) (leaseClaim, bool, error)
- func ResolveLeaseClaimAfterActionIfUnchanged(leaseID string, expected leaseClaim, action func() error, ...) (leaseClaim, bool, bool, error)
- func ResolveLeaseClaimContext(ctx context.Context, identifier string) (leaseClaim, bool, error)
- func ResolveLeaseClaimForProvider(identifier, provider string) (leaseClaim, bool, error)
- func ResolveLeaseClaimForProviderCloudID(cloudID, provider string) (leaseClaim, bool, error)
- func ResolveLeaseClaimForProviderCloudIDScope(cloudID, provider, providerScope string) (leaseClaim, bool, error)
- func ResolveLeaseClaimForProviderCloudIDScopeContext(ctx context.Context, cloudID, provider, providerScope string) (leaseClaim, bool, error)
- func ResolveLeaseClaimForProviderContext(ctx context.Context, identifier, provider string) (leaseClaim, bool, error)
- func ResolveLeaseClaimForProviderScopeWithExact(identifier, provider, providerScope string) (leaseClaim, bool, bool, error)
- func ResolveLeaseClaimForProviderScopeWithExactContext(ctx context.Context, identifier, provider, providerScope string) (leaseClaim, bool, bool, error)
- func ResolveLeaseClaimForProviderWithExact(identifier, provider string) (leaseClaim, bool, bool, error)
- func ResolveLeaseClaimForProviderWithExactContext(ctx context.Context, identifier, provider string) (leaseClaim, bool, bool, error)
- func ResolveParallelsVM(ctx context.Context, cfg Config, runner CommandRunner, id string) (Config, ParallelsVM, error)
- func RestoreLeaseClaimIfUnchanged(leaseID string, current, previous leaseClaim, previousExists bool) error
- func RoutingSafeURL(value string) string
- func Run(ctx context.Context, args []string) error
- func RunEgressClient(ctx context.Context, args []string, stdin io.Reader, stdout, stderr io.Writer) error
- func RunSSHOutput(ctx context.Context, target SSHTarget, remote string) (string, error)
- func RunSSHOutputBounded(ctx context.Context, target SSHTarget, remote string, maxBytes int) (string, error)
- func RunSSHOutputBoundedWithExecutionTimeout(ctx context.Context, target SSHTarget, remote string, maxBytes int, ...) (string, error)
- func RunSSHQuiet(ctx context.Context, target SSHTarget, remote string) error
- func SameHTTPOrigin(a, b *url.URL) bool
- func ScalewayImageWasExplicit(cfg Config) bool
- func ScalewayRegionWasExplicit(cfg Config) bool
- func ScalewayTypeWasExplicit(cfg Config) bool
- func ScalewayZoneWasExplicit(cfg Config) bool
- func SecureCreatedLeaseSSHFile(file *os.File) error
- func SelectFixedCandidate[T any](kind FixedLeaseKind, leaseID string, items []T, match func(T) bool) (T, bool, error)
- func SelectProofLogExcerpt(log string) string
- func ServerProviderKey(server Server) string
- func ServerSlug(server Server) string
- func ServerTypeForProviderClass(provider, class string) string
- func SessionDiskExecutionDeadline(claim LeaseClaim, now time.Time) (time.Time, error)
- func SessionDiskWindowDeadline(claim LeaseClaim, now time.Time) (time.Time, error)
- func SetExternalRoutingArchitecture(cfg *ExternalConfig, architecture string)
- func SetExternalRoutingTarget(cfg *ExternalConfig, targetOS, windowsMode string)
- func SetGCPProjectExplicit(cfg *Config, project string)
- func SetLeaseClaimResourceIdentity(claim *LeaseClaim, cloudID string, numericID int64, immutableID string, ...)
- func SetOSImageExplicit(cfg *Config)
- func SetOVHImageExplicit(cfg *Config)
- func SetScalewayImageExplicit(cfg *Config)
- func SetScalewayRegionExplicit(cfg *Config)
- func SetScalewayTypeExplicit(cfg *Config)
- func SetScalewayZoneExplicit(cfg *Config)
- func SetServerLeaseClaimSnapshot(server *Server, claim LeaseClaim, exists bool)
- func SetTencentCloudImageExplicit(cfg *Config)
- func SetTencentCloudRegionExplicit(cfg *Config)
- func SetTencentCloudTypeExplicit(cfg *Config)
- func SetTencentCloudZoneExplicit(cfg *Config)
- func ShellQuote(s string) string
- func ShellScriptFromArgv(command []string) string
- func ShellWords(words []string) []string
- func ShouldCleanupServer(server Server, now time.Time) (bool, string)
- func ShouldUseCoordinator(cfg Config, spec ProviderSpec) bool
- func SleepContext(ctx context.Context, delay time.Duration) error
- func SlugWithCollisionSuffix(base, seed string) string
- func StaticLease(cfg Config) (Server, SSHTarget, string, error)
- func StoredTestboxKeyPath(leaseID string) (string, error)
- func SummarizeJSON(data []byte) string
- func TencentCloudImageWasExplicit(cfg Config) bool
- func TencentCloudRegionWasExplicit(cfg Config) bool
- func TencentCloudTypeWasExplicit(cfg Config) bool
- func TencentCloudZoneWasExplicit(cfg Config) bool
- func TestboxKeyPath(leaseID string) (string, error)
- func TouchDirectLeaseLabels(labels map[string]string, cfg Config, state string, now time.Time) map[string]string
- func TouchDirectLeaseLabelsWithIdleTimeoutOverride(labels map[string]string, cfg Config, state string, now time.Time, ...) map[string]string
- func TrackLocalCommandCancellation(ctx context.Context, cmd *exec.Cmd) func(error) error
- func UpdateLeaseClaimCacheVolumes(leaseID string, specs []string) error
- func UpdateLeaseClaimEndpoint(leaseID string, server Server, target SSHTarget) error
- func UpdateLeaseClaimEndpointIfUnchanged(leaseID string, expected leaseClaim, server Server, target SSHTarget) (leaseClaim, error)
- func UpdateLeaseClaimEndpointIfUnchangedAction(leaseID string, expected leaseClaim, ...) (leaseClaim, Server, SSHTarget, error)
- func UpdateLeaseClaimEndpointIfUnchangedAfter(leaseID string, expected leaseClaim, server Server, target SSHTarget, ...) (leaseClaim, error)
- func UpdateLeaseClaimEndpointIfUnchangedWithProviderMetadata(leaseID string, expected leaseClaim, server Server, target SSHTarget) (leaseClaim, error)
- func UpdateLeaseClaimLabelsAndLastUsedIfUnchanged(leaseID string, expected leaseClaim, labels map[string]string, ...) (leaseClaim, error)
- func UpdateLeaseClaimLabelsIfUnchanged(leaseID string, expected leaseClaim, labels map[string]string) (leaseClaim, error)
- func UpdateLeaseClaimLabelsIfUnchangedAfter(leaseID string, expected leaseClaim, labels map[string]string, ...) (leaseClaim, error)
- func UpdateLeaseClaimTailscale(leaseID, ipv4, fqdn string) error
- func UpdateLeaseClaimTailscaleSettings(leaseID, hostname string, tags []string, loginURL, exitNode string, ...) error
- func UpdateLeaseClaimTouchIfUnchanged(ctx context.Context, leaseID string, expected leaseClaim, ...) (leaseClaim, error)
- func UpdateLeaseClaimTouchIfUnchangedAction(ctx context.Context, leaseID string, expected LeaseClaim, lastUsed time.Time, ...) (LeaseClaim, Server, SSHTarget, error)
- func UseLeaseKnownHosts(target *SSHTarget, leaseID string) error
- func UseStoredTestboxKey(target *SSHTarget, leaseID string) error
- func ValidCrabboxProviderKey(name string) bool
- func ValidShellEnvName(name string) bool
- func ValidateAWSFixedAttemptAttestation(labels map[string]string, attempt AWSLaunchAttempt) error
- func ValidateAzureOwnedVM(expected, live Server) error
- func ValidateAzureSSHCIDRsForAcquire(ctx context.Context, cfg Config) error
- func ValidateAzureVMUserAssignedIdentity(server Server, id string) error
- func ValidateCacheVolumesForProvider(cfg Config) error
- func ValidateCheckpointCaptureClaim(claim LeaseClaim, id string, capture *NativeCheckpointCapture) error
- func ValidateExternalDesktopPasswordEnvironmentName(name string) error
- func ValidateExternalProviderSSHOutput(cfg Config) error
- func ValidateFixedClaim(c LeaseClaim, r FixedClaimRules) error
- func ValidateFixedLocalClaimUniqueness(kind FixedLeaseKind, claim LeaseClaim, providers ...string) error
- func ValidateLeaseTargetProviderIdentity(lease LeaseTarget, expected ProviderIdentityExpectation) error
- func ValidateLocalCommandProcessGroupJoin(ctx context.Context) error
- func ValidateManagedStateTransferScope(scope string, roots ...string) error
- func ValidateNativeCredentialDestination(cfg Config, provider string) error
- func ValidateProviderCredentialDestination(cfg Config) error
- func ValidateProviderIdentityExpectation(i ProviderIdentityExpectation) error
- func ValidateRequiredRunArtifactGlobs(globs []string) error
- func ValidateRetentionLifecycleRequest(claim LeaseClaim, req RetentionLifecycleRequest, action string) error
- func ValidateRunArtifactGlobs(globs []string) error
- func ValidateRunSessionFeatureSpec(spec ProviderSpec) error
- func ValidateRunSessionForSpec(spec ProviderSpec, result RunResult) error
- func ValidateSessionDiskRetentionClaim(claim LeaseClaim) error
- func VerifyClaimResourceAbsence(ctx context.Context, verifier AbsenceVerifier, claim LeaseClaim) (bool, error)
- func VerifyLeaseClaimUnchanged(leaseID string, expected leaseClaim) error
- func Version() string
- func WaitForManagedWindowsLoopbackVNC(ctx context.Context, target *SSHTarget, stderr io.Writer, ...) error
- func WaitForSSH(ctx context.Context, target *SSHTarget, stderr io.Writer) error
- func WaitForSSHReady(ctx context.Context, target *SSHTarget, stderr io.Writer, phase string, ...) error
- func WindowsBootstrapPowerShell(cfg Config, publicKey string) string
- func WindowsBrowserProbePowerShell() string
- func WindowsNodeBaselinePowerShell() string
- func WithCheckpointReadinessLifetime(ctx context.Context, server Server) context.Context
- func WithDurableLeaseClaimLock(leaseID string, action func(*leaseClaim, bool, func() error) error) error
- func WithDurableLeaseClaimLockContext(ctx context.Context, leaseID string, ...) error
- func WithLeaseClaimUnchanged(leaseID string, expected leaseClaim, action func() error) error
- func WithLeaseClaimUnchangedContext(ctx context.Context, leaseID string, expected LeaseClaim, action func() error) error
- func WithLeaseClaimUnchangedShared(ctx context.Context, leaseID string, expected LeaseClaim, action func() error) error
- func WriteFixedAttempt(intent *FixedCreateIntent, key string, value any, persist func() error) error
- func WritePreparedLeaseSSHKeyFile(path string, data []byte) error
- func WriteTimingJSON(w io.Writer, report TimingReport) error
- func XfceDesktopSessionScript() string
- func XfceDesktopThemeScript() string
- func XfceSessionEnvironmentScript() string
- type AWSAcquireStateError
- type AWSClient
- func (c *AWSClient) CallerAccountID(ctx context.Context) (string, error)
- func (c *AWSClient) CapacityDoctorChecks(ctx context.Context, cfg Config) []DoctorCheck
- func (c *AWSClient) CheckAcquireState(ctx context.Context, id string) error
- func (c *AWSClient) CreateImageCheckpoint(ctx context.Context, instanceID, name string, noReboot bool) (CoordinatorImage, error)
- func (c *AWSClient) CreateServerWithFallback(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool, ...) (Server, Config, error)
- func (c *AWSClient) CreateServerWithFallbackControl(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool, ...) (Server, Config, error)
- func (c *AWSClient) DeleteCleanupSSHKeyID(ctx context.Context, keyPairID string) error
- func (c *AWSClient) DeleteImageCheckpoint(ctx context.Context, imageID string, fallbackSnapshotIDs []string, ...) error
- func (c *AWSClient) DeleteServer(ctx context.Context, id string) error
- func (c *AWSClient) EnsureSSHKey(ctx context.Context, name, publicKey string) error
- func (c *AWSClient) GetImageCheckpoint(ctx context.Context, imageID string) (CoordinatorImage, error)
- func (c *AWSClient) GetServer(ctx context.Context, id string) (Server, error)
- func (c *AWSClient) GuardAccount(ctx context.Context, expectedAccountID string) error
- func (c *AWSClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
- func (c *AWSClient) ResolveCleanupSSHKeyID(ctx context.Context, name string) (string, error)
- func (c *AWSClient) SetTags(ctx context.Context, id string, labels map[string]string) error
- func (c *AWSClient) SpotPlacementScores(ctx context.Context, cfg Config) ([]types.SpotPlacementScore, error)
- func (c *AWSClient) ValidateImageCheckpointSource(ctx context.Context, instanceID string) (string, error)
- func (c *AWSClient) WaitForServerIP(ctx context.Context, id string) (Server, error)
- type AWSFixedCreateControl
- type AWSLambdaMicroVMConfig
- type AWSLambdaMicroVMConfigApplied
- type AWSLambdaMicroVMConfigFlagValues
- type AWSLambdaMicroVMConfigVisitedFlags
- type AWSLaunchAttempt
- type AbsenceEvidence
- type AbsenceVerifier
- type AbsenceVerifierFunc
- type AccessConfig
- type AcquireRequest
- type ActionsConfig
- type ActionsRunnerBinding
- type ActionsWorkflowConfig
- type ActionsWorkspaceBinding
- type AgentSandboxConfig
- type AgentSandboxConfigApplied
- type AgentSandboxConfigFlagValues
- type AgentSandboxConfigVisitedFlags
- type AnthropicSRTConfig
- type AnthropicSRTConfigApplied
- type AnthropicSRTConfigFlagValues
- type App
- type AppleContainerConfig
- type AppleContainerConfigApplied
- type AppleContainerConfigFlagValues
- type AppleMachineConfigFlagValues
- type AppleVMConfig
- type AppleVMConfigApplied
- type ArchiveWorkspace
- type ArtifactChangeResult
- type AsciiBoxConfig
- type AzureClient
- func (c *AzureClient) CreateFixedServer(ctx context.Context, cfg Config, publicKey, leaseID, slug string, ...) (Server, error)
- func (c *AzureClient) CreateOSDiskSnapshot(ctx context.Context, vmName, snapshotName, sku string) (image NativeCheckpointImage, err error)
- func (c *AzureClient) CreateServerWithFallback(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool, ...) (Server, Config, error)
- func (c *AzureClient) DeleteCleanupServer(ctx context.Context, expected Server, now time.Time) error
- func (c *AzureClient) DeleteOSDiskSnapshot(ctx context.Context, snapshotID, expectedUniqueID string) error
- func (c *AzureClient) DeleteOwnedServer(ctx context.Context, expected Server) error
- func (c *AzureClient) DeleteServer(ctx context.Context, name string) error
- func (c *AzureClient) EnsureSharedInfra(ctx context.Context) error
- func (c *AzureClient) GetOSDiskSnapshot(ctx context.Context, snapshotID string) (NativeCheckpointImage, error)
- func (c *AzureClient) GetServer(ctx context.Context, name string) (Server, error)
- func (c *AzureClient) LeaseClaimScope() string
- func (c *AzureClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
- func (c *AzureClient) PrepareCleanupRecoveryServer(ctx context.Context, expected Server, now time.Time) (Server, error)
- func (c *AzureClient) PrepareCleanupServer(ctx context.Context, expected Server, now time.Time) (Server, error)
- func (c *AzureClient) PrepareOwnedServer(ctx context.Context, expected Server) (Server, error)
- func (c *AzureClient) ResourceClients() AzureResourceClients
- func (c *AzureClient) SetTags(ctx context.Context, name string, labels map[string]string) error
- func (c *AzureClient) WaitForServerIP(ctx context.Context, name string) (Server, error)
- type AzureConfig
- type AzureDynamicSessionsConfig
- type AzureDynamicSessionsConfigApplied
- type AzureDynamicSessionsConfigFlagValues
- type AzureDynamicSessionsConfigVisitedFlags
- type AzureFixedCompanions
- type AzureResourceClients
- type AzureSandboxConfig
- type AzureSandboxConfigApplied
- type AzureSandboxConfigFlagValues
- type AzureVMCreateError
- type Backend
- type BenchmarkRecordContext
- type BenchmarkTimingRecord
- type BlacksmithConfig
- type BlacksmithConfigApplied
- type BlacksmithConfigFlagValues
- type BlaxelConfig
- type BlaxelConfigApplied
- type BlaxelConfigFlagValues
- type BoxdConfig
- type BoxdConfigApplied
- type BoxdConfigFlagValues
- type BoxdConfigVisitedFlags
- type BridgePeer
- type BridgePeerProbeResult
- type BridgePeerTarget
- type BridgeProvider
- type BrokerMode
- type CacheConfig
- type CacheVolumeConfig
- type CapacityConfig
- type CapacityHint
- type CheckpointCaptureBinding
- type CheckpointForkWorkdirValidator
- type CheckpointLeaseIDBackend
- type CheckpointSourceRequest
- type CheckpointSourceVerifier
- type ClassSpec
- type CleanupBackend
- type CleanupRequest
- type Clock
- type CloudRunSandboxConfig
- type CloudRunSandboxConfigApplied
- type CloudRunSandboxConfigFlagValues
- type CloudflareConfig
- type CloudflareConfigApplied
- type CloudflareConfigFlagValues
- type CloudflareConfigVisitedFlags
- type CloudflareDynamicWorkersConfig
- type CloudflareSandboxConfig
- type CloudflareSandboxConfigApplied
- type CloudflareSandboxConfigFlagValues
- type CodeSandboxConfig
- type CodeSandboxConfigApplied
- type CodeSandboxConfigFlagValues
- type CoderConfig
- type CoderConfigApplied
- type CoderConfigFlagValues
- type CoderConfigVisitedFlags
- type CommandIntent
- type CommandPhaseTracker
- type CommandRouting
- type CommandRoutingPurpose
- type CommandRoutingRequest
- type CommandRunner
- type Config
- func BaseConfig() Config
- func LoadConfig() (Config, error)
- func ParallelsCandidateConfigs(cfg Config) []Config
- func ReserveParallelsFleetCapacity(ctx context.Context, cfg Config, runner CommandRunner, source string) (Config, func(), error)
- func SelectParallelsFleetConfig(ctx context.Context, cfg Config, runner CommandRunner, source string) (Config, error)
- func WithGuestLeaseExpiry(cfg Config, labels map[string]string) Config
- type ConfirmedAbsentLocalCleanupRequest
- type ConfirmedAbsentLocalStateCleaner
- type ConfirmedAbsentTerminalReceiptRetainer
- type ControllerProviderContract
- type CoordinatorAWSIdentity
- type CoordinatorAWSPolicyTarget
- type CoordinatorAcquireValidator
- type CoordinatorAcquisitionFallback
- type CoordinatorArchitecturePolicy
- type CoordinatorArtifactUploadGrant
- type CoordinatorArtifactUploadInput
- type CoordinatorArtifactUploadRequest
- type CoordinatorArtifactUploadResponse
- type CoordinatorCanceledCreateAttestation
- type CoordinatorCanceledCreateResult
- type CoordinatorCapacityAdmission
- type CoordinatorCapacityDimension
- type CoordinatorCapacityResponse
- type CoordinatorCatalogImageRetirement
- type CoordinatorClient
- func (c *CoordinatorClient) ActiveAdminLeases(ctx context.Context) ([]CoordinatorLease, bool, error)
- func (c *CoordinatorClient) AdminAWSIdentity(ctx context.Context, region string) (CoordinatorAWSIdentity, error)
- func (c *CoordinatorClient) AdminAllocateMacHost(ctx context.Context, region, serverType, availabilityZone string) ([]CoordinatorMacHost, error)
- func (c *CoordinatorClient) AdminDeleteLease(ctx context.Context, id string) (CoordinatorLease, error)
- func (c *CoordinatorClient) AdminDryRunAllocateMacHost(ctx context.Context, region, serverType, availabilityZone string) ([]CoordinatorMacHostAllocationDryRun, error)
- func (c *CoordinatorClient) AdminExtendLifetime(ctx context.Context, id, owner, reason, expiresAt string) (CoordinatorLease, error)
- func (c *CoordinatorClient) AdminHostReservation(ctx context.Context, region, hostID string, clear, force bool) (json.RawMessage, error)
- func (c *CoordinatorClient) AdminLeaseAudit(ctx context.Context, state, provider, owner, org string, limit int) ([]CoordinatorLeaseCloudAudit, error)
- func (c *CoordinatorClient) AdminLeases(ctx context.Context, state, owner, org string, limit int) ([]CoordinatorLease, error)
- func (c *CoordinatorClient) AdminLifetimeReadback(ctx context.Context, id string) (CoordinatorLifetimeReadback, error)
- func (c *CoordinatorClient) AdminMacHostOfferings(ctx context.Context, region, serverType string) ([]CoordinatorMacHostOffering, error)
- func (c *CoordinatorClient) AdminMacHostQuotas(ctx context.Context, region, serverType string) ([]CoordinatorMacHostQuota, error)
- func (c *CoordinatorClient) AdminMacHosts(ctx context.Context, region, serverType, state string) ([]CoordinatorMacHost, error)
- func (c *CoordinatorClient) AdminReleaseLease(ctx context.Context, id string, deleteServer bool) (CoordinatorLease, error)
- func (c *CoordinatorClient) AdminReleaseLeaseForProvider(ctx context.Context, id string, deleteServer bool, expectedProvider string) (CoordinatorLease, error)
- func (c *CoordinatorClient) AdminReleaseMacHost(ctx context.Context, region, hostID string) ([]string, error)
- func (c *CoordinatorClient) AdminRetainedReconcile(ctx context.Context) (CoordinatorRetainedReconcile, error)
- func (c *CoordinatorClient) AgentRequest(ctx context.Context, method, path string, body, out any) error
- func (c *CoordinatorClient) AppendRunEvent(ctx context.Context, runID string, input CoordinatorRunEventInput) (CoordinatorRunEvent, error)
- func (c *CoordinatorClient) AppendRunTelemetry(ctx context.Context, runID string, telemetry *LeaseTelemetry) (CoordinatorRun, error)
- func (c *CoordinatorClient) BeginCheckpointUse(ctx context.Context, id string) (coordinatorCheckpointUseClaim, error)
- func (c *CoordinatorClient) BorrowReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
- func (c *CoordinatorClient) BorrowTypedReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
- func (c *CoordinatorClient) CancelLeaseCreate(ctx context.Context, id, createAttemptID string) (CoordinatorCanceledCreateResult, error)
- func (c *CoordinatorClient) Capacity(ctx context.Context) (CoordinatorCapacityResponse, error)
- func (c *CoordinatorClient) CheckTypedReadyPoolSupport(ctx context.Context, key string) error
- func (c *CoordinatorClient) Checkpoint(ctx context.Context, id string) (coordinatorCheckpoint, error)
- func (c *CoordinatorClient) CheckpointImage(ctx context.Context, id string) (CoordinatorImage, error)
- func (c *CoordinatorClient) Checkpoints(ctx context.Context) ([]coordinatorCheckpoint, error)
- func (c *CoordinatorClient) CompleteLegacyRuntimeAdapterDelete(ctx context.Context, id, adapterID, workspaceID string) (CoordinatorLease, error)
- func (c *CoordinatorClient) CompleteLegacyRuntimeAdapterDeleteForProvider(ctx context.Context, id, expectedProvider, adapterID, workspaceID string) (CoordinatorLease, error)
- func (c *CoordinatorClient) CompleteRuntimeAdapterDelete(ctx context.Context, id, adapterID, workspaceID, registrationID string) (CoordinatorLease, error)
- func (c *CoordinatorClient) CompleteRuntimeAdapterDeleteForProvider(ctx context.Context, ...) (CoordinatorLease, error)
- func (c *CoordinatorClient) CreateAdapterTicket(ctx context.Context, adapterID string, desktopTimeout time.Duration) (coordinatorAdapterTicket, error)
- func (c *CoordinatorClient) CreateArtifactUploads(ctx context.Context, input CoordinatorArtifactUploadRequest) (CoordinatorArtifactUploadResponse, error)
- func (c *CoordinatorClient) CreateCheckpoint(ctx context.Context, record checkpointRecord, name, strategy string, ...) (coordinatorCheckpoint, CoordinatorImage, error)
- func (c *CoordinatorClient) CreateCodeTicket(ctx context.Context, leaseID string) (coordinatorCodeTicket, error)
- func (c *CoordinatorClient) CreateEgressTicket(ctx context.Context, leaseID, role, sessionID, profile string, allow []string) (CoordinatorEgressTicket, error)
- func (c *CoordinatorClient) CreateImage(ctx context.Context, leaseID, name string, noReboot bool, strategies ...string) (CoordinatorImage, error)
- func (c *CoordinatorClient) CreateLease(ctx context.Context, cfg Config, publicKey string, keep bool, ...) (CoordinatorLease, error)
- func (c *CoordinatorClient) CreateLeaseWithAttempt(ctx context.Context, cfg Config, publicKey string, keep bool, ...) (CoordinatorLease, error)
- func (c *CoordinatorClient) CreateRun(ctx context.Context, runID, leaseID string, cfg Config, command []string, ...) (CoordinatorRun, error)
- func (c *CoordinatorClient) CreateWebVNCCredentialHandoff(ctx context.Context, leaseID, username, password string) (CoordinatorWebVNCCredentialHandoff, error)
- func (c *CoordinatorClient) CreateWebVNCTicket(ctx context.Context, leaseID string) (CoordinatorWebVNCTicket, error)
- func (c *CoordinatorClient) CreateWebVNCViewerBootstrap(ctx context.Context, leaseID, credentialHandoffTicket string, takeControl bool) (CoordinatorWebVNCViewerBootstrap, error)
- func (c *CoordinatorClient) CurrentLeases(ctx context.Context, provider string) ([]CoordinatorLease, bool, error)
- func (c *CoordinatorClient) DeleteCheckpoint(ctx context.Context, id string) error
- func (c *CoordinatorClient) DeleteImage(ctx context.Context, imageID string, refs ...CoordinatorImageRef) error
- func (c *CoordinatorClient) DeleteLeaseShare(ctx context.Context, id, user string, org bool) (CoordinatorShare, error)
- func (c *CoordinatorClient) EgressStatus(ctx context.Context, leaseID string) (CoordinatorEgressStatus, error)
- func (c *CoordinatorClient) EnsureLease(ctx context.Context, cfg Config, publicKey string, keep bool, ...) (CoordinatorLease, error)
- func (c *CoordinatorClient) ExtendLease(ctx context.Context, id, expectedProvider string, req LeaseExtendRequest) (CoordinatorLease, error)
- func (c *CoordinatorClient) FailRunAdmission(ctx context.Context, runID, leaseID string, cfg Config, command []string, ...) (CoordinatorRun, error)
- func (c *CoordinatorClient) FastSnapshotRestoreStatus(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorImage, error)
- func (c *CoordinatorClient) FinishRun(ctx context.Context, runID string, exitCode int, sync, command time.Duration, ...) (CoordinatorRun, error)
- func (c *CoordinatorClient) GenerateReadyPoolIdentity(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolIdentityV1, error)
- func (c *CoordinatorClient) GetLease(ctx context.Context, id string) (CoordinatorLease, error)
- func (c *CoordinatorClient) GetLeaseWithAuthoritativeProviderMetadata(ctx context.Context, id string) (CoordinatorLease, error)
- func (c *CoordinatorClient) Health(ctx context.Context) error
- func (c *CoordinatorClient) HeartbeatReadyPoolBorrow(ctx context.Context, key, leaseID, borrowToken string) (CoordinatorReadyPoolResponse, error)
- func (c *CoordinatorClient) HeartbeatTypedReadyPoolBorrow(ctx context.Context, key, leaseID, borrowToken string) (CoordinatorReadyPoolResponse, error)
- func (c *CoordinatorClient) Image(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorImage, error)
- func (c *CoordinatorClient) LeaseShare(ctx context.Context, id string) (CoordinatorShare, error)
- func (c *CoordinatorClient) Leases(ctx context.Context, state string, limit int) ([]CoordinatorLease, error)
- func (c *CoordinatorClient) MarketplaceQuote(ctx context.Context, input CoordinatorMarketplaceQuoteRequest) (CoordinatorMarketplaceQuoteResponse, error)
- func (c *CoordinatorClient) MarketplaceStatus(ctx context.Context) (CoordinatorMarketplaceStatusResponse, error)
- func (c *CoordinatorClient) PollGitHubLogin(ctx context.Context, loginID, pollSecret, browserConfirmation string) (CoordinatorGitHubLoginPoll, error)
- func (c *CoordinatorClient) Pool(ctx context.Context, cfg Config) ([]CoordinatorMachine, error)
- func (c *CoordinatorClient) PromoteImage(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorImage, error)
- func (c *CoordinatorClient) PromoteImageCAS(ctx context.Context, imageID string, expected CoordinatorImageDefaultState, ...) (CoordinatorImagePromotionResult, error)
- func (c *CoordinatorClient) ProviderReadiness(ctx context.Context, cfg Config) (CoordinatorProviderReadiness, error)
- func (c *CoordinatorClient) ReadyPool(ctx context.Context, key string) ([]CoordinatorReadyPoolEntry, error)
- func (c *CoordinatorClient) ReadyPools(ctx context.Context) ([]CoordinatorReadyPoolEntry, error)
- func (c *CoordinatorClient) ReconcileReadyPool(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolReconcileResponse, error)
- func (c *CoordinatorClient) ReconcileTypedReadyPool(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolReconcileResponse, error)
- func (c *CoordinatorClient) RegisterLease(ctx context.Context, leaseID string, input CoordinatorLeaseRegistration) (CoordinatorLease, error)
- func (c *CoordinatorClient) RegisterReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
- func (c *CoordinatorClient) RegisterTypedReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
- func (c *CoordinatorClient) ReleaseLease(ctx context.Context, id string, deleteServer bool) (CoordinatorLease, error)
- func (c *CoordinatorClient) ReleaseLeaseForProvider(ctx context.Context, id string, deleteServer bool, expectedProvider string) (CoordinatorLease, error)
- func (c *CoordinatorClient) ReleaseReadyPoolFillClaim(ctx context.Context, key, claimToken string) error
- func (c *CoordinatorClient) ReleaseTypedReadyPoolFillClaim(ctx context.Context, key, claimToken string) error
- func (c *CoordinatorClient) ResetWebVNC(ctx context.Context, leaseID string) (CoordinatorWebVNCReset, error)
- func (c *CoordinatorClient) RetireCatalogImage(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorCatalogImageRetirement, error)
- func (c *CoordinatorClient) RetirePromotedImage(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorCatalogImageRetirement, error)
- func (c *CoordinatorClient) ReturnReadyPoolLease(ctx context.Context, key, leaseID, result, reason, borrowToken string) (CoordinatorReadyPoolResponse, error)
- func (c *CoordinatorClient) ReturnTypedReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
- func (c *CoordinatorClient) Run(ctx context.Context, runID string) (CoordinatorRun, error)
- func (c *CoordinatorClient) RunEvents(ctx context.Context, runID string, after, limit int) ([]CoordinatorRunEvent, error)
- func (c *CoordinatorClient) RunLogs(ctx context.Context, runID string) (string, error)
- func (c *CoordinatorClient) RunReceipt(ctx context.Context, runID string) (terminalRunReceipt, error)
- func (c *CoordinatorClient) Runs(ctx context.Context, leaseID, owner, org, state string, limit int) ([]CoordinatorRun, error)
- func (c *CoordinatorClient) StartGitHubLogin(ctx context.Context, pollSecretHash, provider, loopbackRedirectURI string) (CoordinatorGitHubLoginStart, error)
- func (c *CoordinatorClient) SyncExternalRunners(ctx context.Context, provider string, runners []CoordinatorExternalRunner, ...) (CoordinatorExternalRunnerSyncResponse, error)
- func (c *CoordinatorClient) TouchLease(ctx context.Context, id string) (CoordinatorLease, error)
- func (c *CoordinatorClient) TouchLeaseForProvider(ctx context.Context, id, expectedProvider string) (CoordinatorLease, error)
- func (c *CoordinatorClient) TouchLeaseWithTelemetry(ctx context.Context, id string, telemetry *LeaseTelemetry) (CoordinatorLease, error)
- func (c *CoordinatorClient) TouchLeaseWithTelemetryForProvider(ctx context.Context, id, expectedProvider string, telemetry *LeaseTelemetry) (CoordinatorLease, error)
- func (c *CoordinatorClient) TypedReadyPool(ctx context.Context, key string) ([]CoordinatorReadyPoolEntry, error)
- func (c *CoordinatorClient) UpdateCheckpointRetention(ctx context.Context, id string, retention coordinatorCheckpointRetention) (coordinatorCheckpoint, error)
- func (c *CoordinatorClient) UpdateLeaseIdleTimeout(ctx context.Context, id string, idleTimeout time.Duration) (CoordinatorLease, error)
- func (c *CoordinatorClient) UpdateLeaseIdleTimeoutForProvider(ctx context.Context, id, expectedProvider string, idleTimeout time.Duration) (CoordinatorLease, error)
- func (c *CoordinatorClient) UpdateLeaseIdleTimeoutWithTelemetry(ctx context.Context, id string, idleTimeout time.Duration, ...) (CoordinatorLease, error)
- func (c *CoordinatorClient) UpdateLeaseIdleTimeoutWithTelemetryForProvider(ctx context.Context, id, expectedProvider string, idleTimeout time.Duration, ...) (CoordinatorLease, error)
- func (c *CoordinatorClient) UpdateLeaseShare(ctx context.Context, id string, share CoordinatorShare) (CoordinatorShare, error)
- func (c *CoordinatorClient) UpdateLeaseTailscale(ctx context.Context, id string, meta TailscaleMetadata) (CoordinatorLease, error)
- func (c *CoordinatorClient) UpdateLeaseTailscaleForProvider(ctx context.Context, id, expectedProvider string, meta TailscaleMetadata) (CoordinatorLease, error)
- func (c *CoordinatorClient) Usage(ctx context.Context, scope, owner, org, month string) (CoordinatorUsageResponse, error)
- func (c *CoordinatorClient) WebVNCStatus(ctx context.Context, leaseID string) (CoordinatorWebVNCStatus, error)
- func (c *CoordinatorClient) Whoami(ctx context.Context) (CoordinatorWhoami, error)
- type CoordinatorCostLimits
- type CoordinatorCreateRetirement
- type CoordinatorEgressStatus
- type CoordinatorEgressTicket
- type CoordinatorExternalRunner
- type CoordinatorExternalRunnerSyncResponse
- type CoordinatorFastSnapshotRestore
- type CoordinatorGitHubLoginPoll
- type CoordinatorGitHubLoginStart
- type CoordinatorHTTPError
- type CoordinatorID
- type CoordinatorImage
- type CoordinatorImageDefaultAliasState
- type CoordinatorImageDefaultState
- type CoordinatorImagePromotionResult
- type CoordinatorImageRef
- type CoordinatorLease
- type CoordinatorLeaseCloudAudit
- type CoordinatorLeaseImage
- type CoordinatorLeasePolicy
- type CoordinatorLeaseRegistration
- type CoordinatorLifetimeReadback
- type CoordinatorMacHost
- type CoordinatorMacHostAllocationDryRun
- type CoordinatorMacHostOffering
- type CoordinatorMacHostQuota
- type CoordinatorMachine
- type CoordinatorMarketplaceFeatures
- type CoordinatorMarketplaceQuote
- type CoordinatorMarketplaceQuoteCandidate
- type CoordinatorMarketplaceQuoteRequest
- type CoordinatorMarketplaceQuoteResponse
- type CoordinatorMarketplaceRouteTier
- type CoordinatorMarketplaceRouteTierMember
- type CoordinatorMarketplaceSettlement
- type CoordinatorMarketplaceStatus
- type CoordinatorMarketplaceStatusResponse
- type CoordinatorMode
- type CoordinatorOrgCapacity
- type CoordinatorPoolGrant
- type CoordinatorProviderReadiness
- type CoordinatorProvisioningPhase
- type CoordinatorProvisioningTiming
- type CoordinatorReadyPoolCapacityCounts
- type CoordinatorReadyPoolCounters
- type CoordinatorReadyPoolEntry
- type CoordinatorReadyPoolFillClaim
- type CoordinatorReadyPoolIdentityV1
- type CoordinatorReadyPoolImageIdentity
- type CoordinatorReadyPoolReconcileResponse
- type CoordinatorReadyPoolResponse
- type CoordinatorRetainedReconcile
- type CoordinatorRootIdentityEvidence
- type CoordinatorRun
- type CoordinatorRunEvent
- type CoordinatorRunEventInput
- type CoordinatorRunEventResponse
- type CoordinatorRunEventsResponse
- type CoordinatorRunLeaseOwner
- type CoordinatorRunResponse
- type CoordinatorRunsResponse
- type CoordinatorShare
- type CoordinatorShareRole
- type CoordinatorUsageGroup
- type CoordinatorUsageResponse
- type CoordinatorUsageSummary
- type CoordinatorWebVNCCredentialHandoff
- type CoordinatorWebVNCEvent
- type CoordinatorWebVNCReset
- type CoordinatorWebVNCStatus
- type CoordinatorWebVNCTicket
- type CoordinatorWebVNCViewerBootstrap
- type CoordinatorWhoami
- type CopyBackend
- type CopyRequest
- type CreationEvent
- type CreationRejection
- type CrownestConfig
- type CrownestConfigApplied
- type CrownestConfigFlagValues
- type CuaConfig
- type CuaConfigApplied
- type CuaConfigFlagValues
- type CubeSandboxConfig
- type CubeSandboxConfigApplied
- type CubeSandboxConfigFlagValues
- type CubeSandboxConfigVisitedFlags
- type DaytonaConfig
- type DaytonaConfigApplied
- type DaytonaConfigFlagValues
- type DaytonaConfigVisitedFlags
- type DelegatedArchivePreparationRequest
- type DelegatedCheckpointBackend
- type DelegatedCheckpointFork
- type DelegatedCheckpointForkRequest
- type DelegatedFixedReleaseBackend
- type DelegatedFixedWarmupBackend
- type DelegatedRunBackend
- type DelegatedRunDownloadBackend
- type DelegatedRunDownloadRequest
- type DesktopCredentialProvider
- type DesktopCredentialResolver
- type DesktopCredentials
- type DesktopLeaseCapabilityProvider
- type DigitalOceanConfig
- type DigitalOceanConfigApplied
- type DockerSandboxConfig
- type DockerSandboxConfigApplied
- type DockerSandboxConfigFlagValues
- type DoctorBackend
- type DoctorCheck
- type DoctorProfileConfig
- type DoctorProvider
- type DoctorRequest
- type DoctorResult
- type E2BConfig
- type E2BConfigApplied
- type E2BConfigFlagValues
- type E2BConfigVisitedFlags
- type ExclusiveOneShotAcquireBackend
- type ExeDevConfig
- type ExeDevConfigApplied
- type ExeDevConfigFlagValues
- type ExeDevConfigVisitedFlags
- type ExecLeaseClaimResolver
- type ExitError
- type ExternalCapabilitiesConfig
- type ExternalConfig
- type ExternalConnectionConfig
- type ExternalDesktopConfig
- type ExternalLifecycleConfig
- type ExternalLifecycleOperation
- type ExternalSSHConnectionConfig
- type FailedLeaseHoldBackend
- type FailedLeaseHoldFinalizerBackend
- type FailureCaptureMetadata
- type FailureClassification
- type FastAPICloudConfig
- type FastAPICloudConfigApplied
- type FastAPICloudConfigFlagValues
- type FastAPICloudConfigVisitedFlags
- type Feature
- type FeatureSet
- type FirecrackerConfig
- type FirecrackerConfigApplied
- type FirecrackerConfigFlagValues
- type FirecrackerConfigVisitedFlags
- type FixedAWSCreateIntentRequest
- type FixedAcquireOptions
- type FixedAcquisitionReceipt
- type FixedAdmission
- type FixedAllocationResult
- type FixedAttemptFormat
- type FixedAttemptPlan
- type FixedClaimRules
- type FixedCreateIntent
- type FixedCreateRejected
- type FixedDirectLabels
- type FixedIntentField
- type FixedIntentFields
- type FixedKeyPolicy
- type FixedKeyedRetry
- type FixedKeyedSubmission
- type FixedLeaseBinding
- type FixedLeaseJournal
- type FixedLeaseKind
- func (k FixedLeaseKind) FinalizeAfterCleanup(claim LeaseClaim, action func() error) error
- func (k FixedLeaseKind) IsFixedClaim(claim LeaseClaim) bool
- func (k FixedLeaseKind) ReadTerminal(leaseID string) (bool, error)
- func (k FixedLeaseKind) ResolveTerminal(claim LeaseClaim, releaseOnly bool) (LeaseTarget, bool, error)
- func (k FixedLeaseKind) RetainClaimAfterRelease(leaseID string, previous LeaseClaim, providerEvidence bool, ...) (bool, error)
- func (k FixedLeaseKind) RetainMatchingFingerprint(leaseID string, previous LeaseClaim, fingerprint string) (bool, error)
- func (k FixedLeaseKind) TerminalClaim(claim LeaseClaim, now time.Time) LeaseClaim
- func (k FixedLeaseKind) ValidateTerminalClaim(claim, previous LeaseClaim, leaseID string, extra func(LeaseClaim) error) error
- type FixedLeaseOperations
- type FixedMachine0CreateIntentRequest
- type FixedObservation
- type FixedObserveMode
- type FixedReadinessRecovery
- type FixedReleasePolicy
- type FixedResolveOptions
- type FixedResourceBinding
- type FixedStopRequest
- type FixedTransaction
- func (tx *FixedTransaction) Admit() error
- func (tx *FixedTransaction) Bind(b FixedResourceBinding) error
- func (tx *FixedTransaction) CanSettleCreateRejection(kind FixedLeaseKind) bool
- func (tx *FixedTransaction) CreateLabels() map[string]string
- func (tx *FixedTransaction) FailedAttemptSet() map[string]bool
- func (tx *FixedTransaction) Observe(binding FixedResourceBinding) error
- func (tx *FixedTransaction) PersistDeletionEvidence() error
- func (tx *FixedTransaction) Record(phase string) error
- func (tx *FixedTransaction) RejectAttempt(kind FixedLeaseKind, token string, terminal bool) error
- type FixedWarmupRequest
- type FreestyleConfig
- type FreestyleConfigApplied
- type FreestyleConfigFlagValues
- type FreshPRSpec
- type GCPClient
- func (c *GCPClient) CreateServerWithFallback(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool, ...) (Server, Config, error)
- func (c *GCPClient) DeleteServer(ctx context.Context, name string) error
- func (c *GCPClient) EnsureFirewall(ctx context.Context) error
- func (c *GCPClient) GetServer(ctx context.Context, name string) (Server, error)
- func (c *GCPClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
- func (c *GCPClient) ListCrabboxServersComplete(ctx context.Context) ([]Server, error)
- func (c *GCPClient) SetLabels(ctx context.Context, name string, labels map[string]string) error
- type GCPConfig
- type GitHubCodespacesConfig
- type GitHubCodespacesConfigApplied
- type GitHubCodespacesConfigFlagValues
- type GitHubCodespacesConfigVisitedFlags
- type GitHubRepo
- type GuestLeaseExpiryFields
- type HetznerClient
- func (c *HetznerClient) CreateServer(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool) (Server, error)
- func (c *HetznerClient) CreateServerSnapshot(ctx context.Context, serverID int64, description string, ...) (HetznerImage, error)
- func (c *HetznerClient) CreateServerWithFallback(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool, ...) (Server, Config, error)
- func (c *HetznerClient) DeleteImage(ctx context.Context, imageID int64) error
- func (c *HetznerClient) DeleteSSHKey(ctx context.Context, name string) error
- func (c *HetznerClient) DeleteServer(ctx context.Context, id int64) error
- func (c *HetznerClient) EnsureSSHKey(ctx context.Context, name, publicKey string) (SSHKey, bool, error)
- func (c *HetznerClient) GetImage(ctx context.Context, imageID int64) (HetznerImage, error)
- func (c *HetznerClient) GetServer(ctx context.Context, id int64) (Server, error)
- func (c *HetznerClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
- func (c *HetznerClient) SetLabels(ctx context.Context, id int64, labels map[string]string) error
- type HetznerHTTPError
- type HetznerImage
- type HostingerConfig
- type HostingerConfigApplied
- type HostingerConfigFlagValues
- type HostingerConfigVisitedFlags
- type HyperVConfig
- type HyperVConfigApplied
- type HyperVConfigFlagValues
- type IdempotentLeaseIDBackend
- type ImageEvidence
- type IncusConfig
- type IncusConfigApplied
- type IncusConfigFlagValues
- type IncusConfigVisitedFlags
- type IsloConfig
- type IsloConfigApplied
- type IsloConfigFlagValues
- type IsloConfigVisitedFlags
- type JSONListBackend
- type JUnitCollection
- type JobActionsConfig
- type JobConfig
- type JobHydrateConfig
- type KubeVirtConfig
- type KubeVirtConfigApplied
- type KubeVirtConfigFlagValues
- type KubeVirtConfigVisitedFlags
- type LambdaConfig
- type LambdaConfigApplied
- type LambdaFilesystemMount
- type LeaseClaim
- func AcquireFixedIntent(opts FixedAcquireOptions, ...) (LeaseClaim, error)
- func ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurableAfterContext(ctx context.Context, leaseID, slug string, cfg Config, providerScope string, ...) (LeaseClaim, error)
- func CloneLeaseClaim(claim LeaseClaim) LeaseClaim
- func CompareAndBindFixedClaim(claim LeaseClaim, bind func(*LeaseClaim, func() error) error) (LeaseClaim, error)
- func PublishFixedRecoveryClaimIfAbsent(ctx context.Context, kind FixedLeaseKind, claim LeaseClaim) (LeaseClaim, error)
- func ReclaimFixedLease(ctx context.Context, claim LeaseClaim, cfg Config, repoRoot string, ...) (LeaseClaim, error)
- func ServerLeaseClaimSnapshot(server Server) (LeaseClaim, bool, bool)
- type LeaseClaimEndpointPreparer
- type LeaseExtendRequest
- type LeaseExtendResult
- type LeaseExtensionBackend
- type LeaseHeartbeatBackend
- type LeaseHeartbeatRequest
- type LeaseHeartbeatResult
- type LeaseHeldResource
- type LeaseLifetimeCompute
- type LeaseLifetimeExtension
- type LeaseLifetimePolicy
- type LeaseLifetimeReadiness
- type LeaseLifetimeRequest
- type LeaseNetworkDiagnostics
- type LeaseOptions
- type LeaseRecoveryHold
- type LeaseTarget
- func AcquireFixedLease(opts FixedAcquireOptions, ...) (LeaseTarget, error)
- func AcquireFixedResource[T any](ctx context.Context, opts FixedAcquireOptions, ops FixedLeaseOperations[T]) (LeaseTarget, error)
- func CompleteFixedAcquisition(lease LeaseTarget, err error, req AcquireRequest) (LeaseTarget, error)
- func ResolveFixedLeaseTarget(ctx context.Context, opts FixedResolveOptions, ...) (LeaseTarget, error)
- type LeaseTelemetry
- type LeaseTouchBackend
- type LeaseView
- type LinodeConfig
- type LinodeConfigApplied
- type ListPage
- type ListRequest
- type LocalCommandRequest
- type LocalCommandResult
- type LocalContainerConfig
- type LocalContainerConfigApplied
- type LocalContainerConfigFlagValues
- type LocalContainerConfigVisitedFlags
- type LumeConfig
- type LumeConfigApplied
- type LumeConfigFlagValues
- type MXCConfig
- type MXCConfigApplied
- type MXCConfigFlagValues
- type Machine0Config
- type Machine0ConfigApplied
- type Machine0ConfigFlagValues
- type Machine0ConfigVisitedFlags
- type MissingLeaseClaimError
- type ModalConfig
- type ModalConfigApplied
- type ModalConfigFlagValues
- type MorphConfig
- type MorphConfigApplied
- type MorphConfigFlagValues
- type MorphConfigVisitedFlags
- type MultipassConfig
- type MultipassConfigApplied
- type MultipassConfigFlagValues
- type MultipassConfigVisitedFlags
- type NamespaceConfig
- type NamespaceConfigApplied
- type NamespaceConfigFlagValues
- type NamespaceConfigVisitedFlags
- type NamespaceInstanceConfig
- type NamespaceInstanceConfigApplied
- type NamespaceInstanceConfigFlagValues
- type NamespaceInstanceConfigVisitedFlags
- type NativeCheckpointAbandonProvider
- type NativeCheckpointCapability
- type NativeCheckpointCapture
- type NativeCheckpointCreateRequest
- type NativeCheckpointCreateResult
- type NativeCheckpointForkFlagProvider
- type NativeCheckpointForkLifecycleProvider
- type NativeCheckpointForkLifecycleRequest
- type NativeCheckpointForkProvider
- type NativeCheckpointForkRecord
- type NativeCheckpointForkRequest
- type NativeCheckpointImage
- type NativeCheckpointLifecycleProvider
- type NativeCheckpointNotSubmittedError
- type NativeCheckpointProvider
- type NativeCheckpointRequest
- type NativeCheckpointResourceRequest
- type NativeCheckpointRestoreProvider
- type NativeCheckpointRestoreRequest
- type NativeCheckpointRestoreResult
- type NativeCheckpointSourcePolicyProvider
- type NativeCheckpointVerifyResult
- type NativeCheckpointWorkdirRequest
- type NebiusConfig
- type NebiusConfigApplied
- type NebiusConfigFlagValues
- type NetworkMode
- type NomadConfig
- type NomadConfigApplied
- type NomadConfigFlagValues
- type NomadConfigVisitedFlags
- type NvidiaBrevConfig
- type NvidiaBrevConfigApplied
- type NvidiaBrevConfigFlagValues
- type NvidiaBrevConfigVisitedFlags
- type OVHConfig
- type OVHConfigApplied
- type OVHConfigFlagValues
- type OVHConfigVisitedFlags
- type OpenComputerConfig
- type OpenComputerConfigApplied
- type OpenComputerConfigFlagValues
- type OpenSandboxConfig
- type OpenSandboxConfigApplied
- type OpenSandboxConfigFlagValues
- type OrdinaryStopAbsenceRecovery
- type OrgoConfig
- type OrgoConfigApplied
- type OrgoConfigFlagValues
- type OrgoConfigVisitedFlags
- type ParallelsClient
- func (c *ParallelsClient) BootstrapMacOSOverSSH(ctx context.Context, ip string, cfg Config, publicKey string) error
- func (c *ParallelsClient) Clone(ctx context.Context, source, snapshotID, leaseID, slug string, keep bool) (Server, error)
- func (c *ParallelsClient) CreateSnapshot(ctx context.Context, vmID, name, description string) (ParallelsSnapshot, error)
- func (c *ParallelsClient) Delete(ctx context.Context, id string) error
- func (c *ParallelsClient) DeleteSnapshot(ctx context.Context, vmID, snapshotID string, children bool) error
- func (c *ParallelsClient) EnsureGuestReady(ctx context.Context, vmID string, cfg Config) error
- func (c *ParallelsClient) EnsureHostDir(ctx context.Context, dir string) error
- func (c *ParallelsClient) GetVM(ctx context.Context, id string) (ParallelsVM, error)
- func (c *ParallelsClient) InstallSSHKey(ctx context.Context, vmID string, cfg Config, publicKey string) error
- func (c *ParallelsClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
- func (c *ParallelsClient) ListVMs(ctx context.Context) ([]ParallelsVM, error)
- func (c *ParallelsClient) ListVMsDetailed(ctx context.Context) ([]ParallelsVM, error)
- func (c *ParallelsClient) POSIXGuestText(ctx context.Context, id, path string) (string, error)
- func (c *ParallelsClient) RemoveHostDirIfEmpty(ctx context.Context, dir string)
- func (c *ParallelsClient) ResolveCloneMode(ctx context.Context) error
- func (c *ParallelsClient) ServerIdentity(ctx context.Context) (ParallelsServerIdentity, error)
- func (c *ParallelsClient) SetLeaseLabels(leaseID string, labels map[string]string)
- func (c *ParallelsClient) Snapshot(ctx context.Context, vmID, nameOrID string) (ParallelsSnapshot, error)
- func (c *ParallelsClient) SnapshotID(ctx context.Context, vmID, nameOrID string) (string, error)
- func (c *ParallelsClient) Snapshots(ctx context.Context, id string) ([]ParallelsSnapshot, error)
- func (c *ParallelsClient) Start(ctx context.Context, id string) error
- func (c *ParallelsClient) Stop(ctx context.Context, id string) error
- func (c *ParallelsClient) SubmitClone(ctx context.Context, source, snapshotID, leaseID, slug string, keep bool, ...) error
- func (c *ParallelsClient) SwitchSnapshot(ctx context.Context, vmID, snapshotID string, skipResume bool) error
- func (c *ParallelsClient) ValidateMacOSBootstrapKey(ctx context.Context) error
- func (c *ParallelsClient) Version(ctx context.Context) (string, error)
- func (c *ParallelsClient) WaitForGuestExec(ctx context.Context, id string, cfg Config, timeout time.Duration) error
- func (c *ParallelsClient) WaitForIP(ctx context.Context, id string, timeout time.Duration, ...) (_ ParallelsVM, err error)
- func (c *ParallelsClient) WindowsGuestText(ctx context.Context, id, path string) (string, error)
- type ParallelsConfig
- type ParallelsHostConfig
- type ParallelsIPWaitPurpose
- type ParallelsServerIdentity
- type ParallelsSnapshot
- type ParallelsTemplateConfig
- type ParallelsVM
- type PausableBackend
- type PauseRequest
- type PendingGuestExtension
- type PhalaConfig
- type PhalaConfigApplied
- type PhalaConfigFlagValues
- type PhalaConfigVisitedFlags
- type PhaseMarkerWriter
- type PondReachabilityMatrix
- type PortsBackend
- type PortsRequest
- type PreparedArchive
- type PresetConfig
- type ProfileConfig
- type ProofTemplateConfig
- type Provider
- type ProviderAgentCommander
- type ProviderArchitectureCapability
- type ProviderAuthentication
- type ProviderAuthenticationMethod
- type ProviderAuthenticationRoute
- type ProviderBackendCapabilitySource
- type ProviderCapabilities
- type ProviderClaimScoper
- type ProviderClassArchitecture
- type ProviderClassCatalog
- type ProviderClassDisposition
- type ProviderClassMachine
- type ProviderClassProfile
- type ProviderClassProfileProvider
- type ProviderClassSpecProvider
- type ProviderCleanupAction
- type ProviderCleanupConfirmation
- type ProviderCleanupEvidence
- type ProviderCommandRouter
- type ProviderConfigArchitectureDescriber
- type ProviderConfigDefaulter
- type ProviderConfigDefaultsPhase
- type ProviderConfigDefaultsTargetFinalization
- type ProviderConfigShowField
- type ProviderConfigShowNormalizer
- type ProviderConfigShowProjector
- type ProviderConfigShowSection
- type ProviderConfigValidator
- type ProviderConfiguredFeatures
- type ProviderCoordinatorRequest
- type ProviderCreationOnlyFlagProvider
- type ProviderDiagnosticSecretSource
- type ProviderIdentityExpectation
- type ProviderKind
- type ProviderMemory
- type ProviderMemoryUnit
- type ProviderReadyPoolImageIdentityCapability
- type ProviderReadyPoolImageIdentityRequest
- type ProviderReadyPoolLeaseImageIdentity
- type ProviderReadyPoolTargetCapability
- type ProviderResourceRequirementsCapability
- type ProviderRouter
- type ProviderRoutingFlagProvider
- type ProviderSSHTargetConfigurer
- type ProviderServerTypeOverrideProvider
- type ProviderServerTypeProvider
- type ProviderSize
- type ProviderSizeCatalogBackend
- type ProviderSizeGPU
- type ProviderSizeSelection
- type ProviderSizeSelectionBackend
- type ProviderSizeSelector
- type ProviderSpec
- type ProvisioningAttempt
- type ProvisioningCandidate
- type ProxmoxClient
- func (c *ProxmoxClient) CreateServer(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool) (Server, error)
- func (c *ProxmoxClient) CreateServerWithVMID(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool, ...) (Server, error)
- func (c *ProxmoxClient) DeleteServer(ctx context.Context, id string) error
- func (c *ProxmoxClient) DeleteServerOnNode(ctx context.Context, node, id string) error
- func (c *ProxmoxClient) DeleteServerOnNodeChecked(ctx context.Context, node, id string, check func(Server) error) error
- func (c *ProxmoxClient) DoctorReadiness(ctx context.Context, cfg Config) ([]ProxmoxReadinessCheck, error)
- func (c *ProxmoxClient) GetServer(ctx context.Context, id string) (Server, error)
- func (c *ProxmoxClient) GetServerOnNode(ctx context.Context, node, id string) (Server, error)
- func (c *ProxmoxClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
- func (c *ProxmoxClient) ListCrabboxServersCluster(ctx context.Context) ([]Server, error)
- func (c *ProxmoxClient) ListVMIDsInCluster(ctx context.Context) ([]int, error)
- func (c *ProxmoxClient) NextVMID(ctx context.Context) (int, error)
- func (c *ProxmoxClient) SetLabels(ctx context.Context, id string, labels map[string]string) error
- func (c *ProxmoxClient) SetLabelsOnNode(ctx context.Context, node, id string, labels map[string]string) error
- func (c *ProxmoxClient) VMExistsInCluster(ctx context.Context, id string) (bool, error)
- func (c *ProxmoxClient) VMIdentityExistsInCluster(ctx context.Context, id, name string) (bool, error)
- func (c *ProxmoxClient) VerifyNoActiveCloneTasks(ctx context.Context) error
- type ProxmoxConfig
- type ProxmoxConfigApplied
- type ProxmoxConfigFlagValues
- type ProxmoxConfigVisitedFlags
- type ProxmoxDeleteRequestError
- type ProxmoxDeleteTaskError
- type ProxmoxError
- type ProxmoxReadinessCheck
- type RailwayConfig
- type RailwayConfigApplied
- type RailwayConfigFlagValues
- type RailwayConfigVisitedFlags
- type ReachabilityCell
- type ReleaseLeaseClaimRetainer
- type ReleaseLeaseClaimRetentionVerifier
- type ReleaseLeaseConnectionCleanupPolicy
- type ReleaseLeaseOutcome
- type ReleaseLeaseOutcomeBackend
- type ReleaseLeaseReporter
- type ReleaseLeaseRequest
- type ReleaseLeaseTargetRefresher
- type ReleaseLeaseWorkspaceCloser
- type ReleaseLeaseWorkspacePolicy
- type Repo
- type RepositoryScopedStopBackend
- type ResolveRequest
- type ResolvedLeaseTargetRebinder
- type ResourceExhaustionReason
- type ResultsConfig
- type ResumeRequest
- type RetainedComputeWindow
- type RetainedProviderIdentity
- type RetentionLifecycleOperation
- type RetentionLifecycleRequest
- type RunArtifact
- type RunConfig
- type RunErrorKind
- type RunFailureEvidence
- type RunFailureEvidenceCollector
- type RunFailureEvidenceRequest
- type RunLeaseClaimResolver
- type RunObservation
- func (o *RunObservation) BindLease(leaseID, slug string)
- func (o *RunObservation) CommandWriters(stdout, stderr io.Writer, scope RunOutputScope) (io.Writer, io.Writer)
- func (o *RunObservation) OmitStream(stream, reason string)
- func (o *RunObservation) Phase(phase RunPhase)
- func (o *RunObservation) Results(results *TestResultSummary, availability string)
- type RunOptionsValidator
- type RunOutputScope
- type RunPhase
- type RunRequest
- type RunResult
- type RunScriptSpec
- type RunSessionHandle
- type RunStatus
- type RunTelemetrySummary
- type RunnerPhase
- type RunpodConfig
- type RunpodConfigApplied
- type RunpodConfigFlagValues
- type RunpodConfigVisitedFlags
- type Runtime
- type SSHJump
- type SSHJumpCandidate
- type SSHKey
- type SSHLeaseBackend
- type SSHLoginBackend
- type SSHRunActivityBackend
- type SSHRunFailureEvidenceBackend
- type SSHTarget
- type ScalewayConfig
- type ScalewayConfigApplied
- type ScalewayConfigFlagValues
- type ScalewayConfigVisitedFlags
- type SchemaValidationResult
- type SealosDevboxConfig
- type SealosDevboxConfigApplied
- type SealosDevboxConfigFlagValues
- type SealosDevboxConfigVisitedFlags
- type SemaphoreConfig
- type SemaphoreConfigApplied
- type SemaphoreConfigFlagValues
- type SemaphoreConfigVisitedFlags
- type ServeAvailabilityConfig
- type ServeConfig
- type Server
- type ServerImageInfo
- type ServerLocationInfo
- type ServerProvisioner
- type ServerTypeInfo
- type SessionDiskRetentionPolicy
- type SessionDiskRetentionState
- type SessionDiskRetentionView
- type ShardConfig
- type SmolvmConfig
- type SmolvmConfigApplied
- type SmolvmConfigFlagValues
- type SmolvmConfigVisitedFlags
- type SpritesConfig
- type SpritesConfigApplied
- type SpritesConfigFlagValues
- type SpritesConfigVisitedFlags
- type StaticConfig
- type StaticConfigApplied
- type StaticConfigFlagValues
- type StaticConfigVisitedFlags
- type StaticPowerConfig
- type StatusRequest
- type StatusTouchClaimAuthorizer
- type StatusTouchClaimValidator
- type StatusView
- type StopReclaimBackend
- type StopRequest
- type StreamingListBackend
- type SuperserveConfig
- type SuperserveConfigApplied
- type SuperserveConfigFlagValues
- type SyncConfig
- type SyncExcludeRules
- type SyncManifest
- type SyncProtectedTrackedExclude
- type TailnetPeerValidator
- type TailscaleConfig
- type TailscaleMetadata
- type TailscaleMetadataBackend
- type TargetSpec
- type TartConfig
- type TartConfigApplied
- type TartConfigFlagValues
- type TartConfigVisitedFlags
- type TencentCloudConfig
- type TencentCloudConfigApplied
- type TencentCloudConfigFlagValues
- type TencentCloudConfigVisitedFlags
- type TenkiConfig
- type TenkiConfigApplied
- type TenkiConfigFlagValues
- type TenkiConfigVisitedFlags
- type TensorlakeConfig
- type TensorlakeConfigApplied
- type TensorlakeConfigFlagValues
- type TensorlakeConfigVisitedFlags
- type TestFailure
- type TestResultSummary
- type TimingPhase
- type TimingReport
- type TouchRequest
- type UnikraftCloudConfig
- type UnikraftCloudConfigApplied
- type UnikraftCloudConfigFlagValues
- type UnikraftCloudConfigVisitedFlags
- type UpstashBoxConfig
- type UpstashBoxConfigApplied
- type UpstashBoxConfigFlagValues
- type UpstashBoxConfigVisitedFlags
- type VastConfig
- type VastConfigApplied
- type VastConfigFlagValues
- type VastConfigVisitedFlags
- type VercelSandboxConfig
- type VercelSandboxConfigApplied
- type VercelSandboxConfigFlagValues
- type VultrConfig
- type VultrConfigApplied
- type WandbConfig
- type WandbConfigApplied
- type WandbConfigFlagValues
- type WarmupRequest
- type WarpBuildConfig
- type WarpBuildConfigApplied
- type WarpBuildConfigFlagValues
- type WindowsSandboxConfig
- type WindowsSandboxConfigApplied
- type WindowsSandboxConfigFlagValues
- type WindowsSandboxConfigVisitedFlags
- type XCPNgConfig
- type XCPNgConfigApplied
- type XCPNgConfigFlagValues
- type XCPNgConfigVisitedFlags
Constants ¶
const ( AzureOSDiskAuto = "auto" AzureOSDiskEphemeral = "ephemeral" AzureOSDiskManaged = "managed" AzureCleanupBindingLabel = "_crabbox_azure_cleanup_binding" )
const ( CheckpointKindAWSAMI = checkpointKindAWSAMI CheckpointKindAWSEBS = checkpointKindAWSEBS CheckpointKindAzure = checkpointKindAzure CheckpointKindAzureOS = checkpointKindAzureOS CheckpointKindGCP = checkpointKindGCP CheckpointKindGCPDisk = checkpointKindGCPDisk CheckpointKindHetzner = checkpointKindHetzner CheckpointKindMachine0 = checkpointKindMachine0 CheckpointKindParallels = checkpointKindParallels CheckpointKindDockerCommit = checkpointKindDockerCommit CheckpointKindDaytona = checkpointKindDaytona CheckpointKindIncus = checkpointKindIncus CheckpointKindCloudflare = checkpointKindCloudflare CheckpointStrategyImage = checkpointStrategyImage CheckpointStrategyDiskSnapshot = checkpointStrategyDiskSnapshot )
const ( AzureBackendVM = "vm" AzureBackendDynamicSessions = "dynamic-sessions" )
const ( // DigitalOceanRegionFallback preserves replay of intents created before automatic region selection. DigitalOceanRegionFallback = "nyc3" DigitalOceanImageFallback = "ubuntu-24-04-x64" )
const ( ExeDevWorkRootFallback = "/var/tmp/crabbox" ExeDevDefaultImageLabel = "default" )
These values are runtime and presentation fallbacks, not configured defaults. Empty WorkRoot permits inheritance; empty Image omits the native image option.
const ( LambdaConfiguredRegionDefault = "us-west-1" LambdaConfiguredTypeDefault = "gpu_1x_a10" LambdaImageFamilyFallback = "lambda-stack-24-04" )
const ( LinodeConfiguredRegionDefault = "us-ord" LinodeConfiguredTypeDefault = "g6-standard-1" LinodeImageFallback = "linode/ubuntu24.04" )
const ( RunpodSSHUserFallback = "root" RunpodWorkRootFallback = "/tmp/crabbox" )
These runtime fallbacks do not initialize the raw User or WorkRoot fields.
const ( TencentCloudRegionFallback = "ap-shanghai" TencentCloudZoneFallback = "ap-shanghai-2" TencentCloudTypeFallback = "SA5.MEDIUM2" TencentCloudRootGBFallback int64 = 50 TencentCloudInternetChargeTypeFallback = "TRAFFIC_POSTPAID_BY_HOUR" TencentCloudInternetMaxBandwidthOutFallback int64 = 5 TencentCloudAPIEndpointFallback = "https://cvm.tencentcloudapi.com" )
Runtime fallbacks do not initialize the raw configuration or flag defaults.
const ( VultrRegionFallback = "ewr" VultrUserSchemeFallback = "root" )
Runtime fallbacks do not initialize the raw provider configuration.
const ( WandbDefaultImageFallback = "ubuntu:24.04" WandbMaxLifetimeSecondsFallback = 1800 )
Runtime fallbacks do not initialize the raw configuration or flag defaults.
const ( ArchitectureAMD64 = "amd64" ArchitectureARM64 = "arm64" )
const ( TransportTailnet = "tailnet" TransportURL = "url" TransportSSH = "ssh" TransportNone = "none" TransportPending = "pending" )
Transport classes used by the unified `pond peers` view and by the doctor reachability matrix. The five values cover every shape the resolver can emit; see bridgePeerFromClaim for the per-provider mapping.
const ( DelegatedRunArtifactDefaultMaxFiles = 256 DelegatedRunArtifactDefaultMaxBytes = int64(10 * 1024 * 1024) DelegatedRunArtifactBeginMarker = "__CRABBOX_ARTIFACT_TAR_BEGIN__" DelegatedRunArtifactEndMarker = "__CRABBOX_ARTIFACT_TAR_END__" )
const ( TargetLinux = targetLinux TargetMacOS = targetMacOS TargetWindows = targetWindows TargetWorkerRuntime = targetWorkerRuntime WindowsModeNormal = windowsModeNormal WindowsModeWSL2 = windowsModeWSL2 )
const AWSLambdaMicroVMConfigDefaultWorkdir string = "/workspace/crabbox"
const AgentSandboxConfigDefaultDeleteOnRelease bool = true
const AgentSandboxConfigDefaultExecTimeoutSecs int = 600
const AgentSandboxConfigDefaultKubectl string = "kubectl"
const AgentSandboxConfigDefaultNamespace string = "default"
const AgentSandboxConfigDefaultPodReadyTimeout time.Duration = 180 * time.Second
const AgentSandboxConfigDefaultSandboxReadyTimeout time.Duration = 180 * time.Second
const AgentSandboxConfigDefaultWorkdir string = "/workspace/crabbox"
const AnthropicSRTConfigDefaultCLIPath string = "srt"
const AzureDynamicSessionsConfigDefaultAPIVersion string = "2025-02-02-preview"
const AzureDynamicSessionsConfigDefaultTimeoutSecs int = 1800
const AzureDynamicSessionsConfigDefaultWorkdir string = "/workspace/crabbox"
const AzureSandboxConfigDefaultDisk string = "ubuntu"
const BlaxelConfigDefaultAPIURL string = "https://api.blaxel.ai"
const BlaxelConfigDefaultExecTimeoutSecs int = 600
const BlaxelConfigDefaultImage string = "ubuntu:24.04"
const BlaxelConfigDefaultWorkdir string = "/workspace/crabbox"
const BoxdConfigDefaultAPIURL string = "https://app.boxd.sh"
const BoxdConfigDefaultDeleteOnRelease bool = true
const BoxdConfigDefaultGRPCURL string = "boxd.sh:9443"
const BoxdConfigDefaultWorkRoot string = "/home/boxd/crabbox"
const CloudRunSandboxConfigDefaultCLIPath string = "/usr/local/gcp/bin/sandbox"
const CloudRunSandboxConfigDefaultRootfs string = "/"
const CloudRunSandboxConfigDefaultWorkdir string = "/tmp/crabbox"
const CloudRunSandboxConfigDefaultWrite bool = true
const CloudflareConfigDefaultWorkdir string = "/workspace/crabbox"
const CloudflareSandboxConfigDefaultExecTimeoutSecs int = 600
const CloudflareSandboxConfigDefaultWorkdir string = "/workspace/crabbox"
const CodeSandboxConfigDefaultAutomaticWakeupHTTP bool = true
const CodeSandboxConfigDefaultBridgeCommand string = "node"
const CodeSandboxConfigDefaultDoctorListLimit int = 1
const CodeSandboxConfigDefaultOperationTimeoutSecs int = 30
const CodeSandboxConfigDefaultPrivacy string = "private"
const CodeSandboxConfigDefaultSDKPackage string = "@codesandbox/sdk@2.4.2"
const CodeSandboxConfigDefaultWorkdir string = "/project/workspace"
const CoderConfigDefaultCLIPath string = "coder"
const CoderConfigDefaultWait string = "yes"
const CoderConfigDefaultWorkRoot string = "/home/coder/crabbox"
const CoderConfigDefaultWorkspacePrefix string = "crabbox-"
const CrownestConfigDefaultAPIURL string = "https://api.crownest.dev"
const CrownestConfigDefaultTemplate string = "python-node"
const CrownestConfigDefaultTimeoutSecs int = 600
const CuaConfigDefaultBridgeCommand string = "python3"
const CuaConfigDefaultExecTimeoutSecs int = 600
const CuaConfigDefaultImage string = "ubuntu:24.04"
const CuaConfigDefaultKind string = "container"
const CuaConfigDefaultSDKFallbackImport string = "cua_sandbox"
const CuaConfigDefaultSDKImport string = "cua"
const CuaConfigDefaultSDKPackage string = "cua"
const CuaConfigDefaultWorkdir string = "/workspace/crabbox"
const CubeSandboxConfigDefaultAPIURL string = "http://127.0.0.1:3000"
const CubeSandboxConfigDefaultDomain string = "cube.app"
const CubeSandboxConfigDefaultProxyPortHTTP int = 80
const CubeSandboxConfigDefaultWorkdir string = "crabbox"
const DaytonaConfigDefaultAPIURL string = "https://app.daytona.io/api"
const DaytonaConfigDefaultSSHAccessMinutes int = 30
const DaytonaConfigDefaultSSHGatewayHost string = "ssh.app.daytona.io"
const DaytonaConfigDefaultUser string = "daytona"
const DaytonaConfigDefaultWorkRoot string = "/home/daytona/crabbox"
const DefaultCloudflareDynamicWorkersCompatibilityDate = "2026-06-12"
const DefaultTartImage = "ghcr.io/cirruslabs/macos-sequoia-base@sha256:4947ac5ab1b2fdc46ab856132d2ba958f8e45b5f85192c66370dafc028c514dd"
DefaultTartImage is the immutable built-in image; the Tart adapter verifies its contents.
const DelegatedRunDownloadMaxBytes = 64 * 1024
const DockerSandboxConfigDefaultAgent string = "shell"
const DockerSandboxConfigDefaultCLIPath string = "sbx"
const E2BConfigDefaultAPIURL string = "https://api.e2b.app"
const E2BConfigDefaultDomain string = "e2b.app"
const E2BConfigDefaultTemplate string = "base"
const E2BConfigDefaultWorkdir string = "crabbox"
const ExeDevConfigDefaultCPUs int = 2
const ExeDevConfigDefaultControlHost string = "exe.dev"
const ExeDevConfigDefaultDisk string = "10GB"
const ExeDevConfigDefaultMemory string = "4GB"
const ExeDevConfigDefaultNoEmail bool = true
const FastAPICloudConfigDefaultAPIURL string = "https://api.fastapicloud.com/api/v1"
const FirecrackerConfigDefaultBinary string = "firecracker"
const FirecrackerConfigDefaultCNIBinDir string = "/opt/cni/bin"
const FirecrackerConfigDefaultCNIConfDir string = "/etc/cni/conf.d"
const FirecrackerConfigDefaultCNINetwork string = "crabbox-firecracker"
const FirecrackerConfigDefaultCPUs int = 4
const FirecrackerConfigDefaultDeleteOnRelease bool = true
const FirecrackerConfigDefaultDiskMiB int = 16384
const FirecrackerConfigDefaultKernel string = "/var/lib/crabbox/firecracker/vmlinux"
const FirecrackerConfigDefaultLaunchTimeout time.Duration = 120 * time.Second
const FirecrackerConfigDefaultMemoryMiB int = 4096
const FirecrackerConfigDefaultNetwork string = "cni"
const FirecrackerConfigDefaultRootFS string = "/var/lib/crabbox/firecracker/rootfs.ext4"
const FirecrackerConfigDefaultUser string = "crabbox"
const FirecrackerConfigDefaultWorkRoot string = defaultPOSIXWorkRoot
const FixedAWSClaimProvider = "aws-fixed-v1"
const FixedAWSCreateIntentVersion = 2
const FixedAgentSandboxClaimProvider = "agent-sandbox-fixed-v1"
const FixedDaytonaClaimProvider = "daytona-fixed-v1"
const FixedLocalContainerClaimProvider = "local-container-fixed-v1"
const FixedMachine0ClaimProvider = "machine0-fixed-v1"
const FixedMachine0CreateIntentVersion = 1
const FixedParallelsClaimProvider = "parallels-fixed-v1"
const FixedProxmoxClaimProvider = "proxmox-fixed-v1"
const FreestyleConfigDefaultAPIURL string = "https://api.freestyle.sh"
const FreestyleConfigDefaultWorkdir string = "crabbox"
const GitHubCodespacesConfigDefaultDeleteOnRelease bool = true
const GitHubCodespacesConfigDefaultGHPath string = "gh"
const GitHubCodespacesConfigDefaultIdleTimeout time.Duration = 1800 * time.Second
const GitHubCodespacesConfigDefaultMachine string = "basicLinux32gb"
const GitHubCodespacesConfigDefaultRetentionPeriod time.Duration = 604800 * time.Second
const GitHubCodespacesConfigDefaultWorkRoot string = "/workspaces/crabbox"
const HostingerConfigDefaultAPIURL string = "https://developers.hostinger.com"
const HostingerConfigDefaultHostnamePrefix string = "crabbox"
const HostingerConfigDefaultReleaseAction string = "stop"
const HostingerConfigDefaultUser string = "root"
const HyperVConfigDefaultCPUs int = 4
const HyperVConfigDefaultMemory int = 8192
const HyperVConfigDefaultSwitch string = "Default Switch"
const HyperVConfigDefaultUser string = "crabbox"
const IncusConfigDefaultDeleteOnRelease bool = true
const IncusConfigDefaultImage string = "images:ubuntu/24.04/cloud"
const IncusConfigDefaultInstanceType string = "container"
const IncusConfigDefaultLaunchPort string = "22"
const IncusConfigDefaultProxyDevice string = "crabbox-ssh"
const IncusConfigDefaultProxyListenHost string = "127.0.0.1"
const IncusConfigDefaultRemote string = "local"
const IncusConfigDefaultStartTimeout time.Duration = 600 * time.Second
const IncusConfigDefaultUser string = "crabbox"
const IncusConfigDefaultWorkRoot string = defaultPOSIXWorkRoot
const IsloConfigDefaultBaseURL string = "https://api.islo.dev"
const IsloConfigDefaultDiskGB int = 20
const IsloConfigDefaultMemoryMB int = 4096
const IsloConfigDefaultVCPUs int = 2
const IsloConfigDefaultWorkdir string = "crabbox"
const KubeVirtConfigDefaultDeleteOnRelease bool = true
const KubeVirtConfigDefaultKubectl string = "kubectl"
const KubeVirtConfigDefaultNamespace string = "default"
const KubeVirtConfigDefaultSSHPort string = "22"
const KubeVirtConfigDefaultSSHUser string = "crabbox"
const KubeVirtConfigDefaultVirtctl string = "virtctl"
const KubeVirtConfigDefaultWorkRoot string = "/home/crabbox/crabbox"
const LocalContainerConfigDefaultNetwork string = "bridge"
const LocalContainerConfigDefaultRuntime string = "docker"
const LocalContainerConfigDefaultUser string = "crabbox"
const LumeConfigDefaultBase string = "crabbox-macos-golden"
const LumeConfigDefaultCLIPath string = "lume"
const LumeConfigDefaultUser string = "lume"
const LumeConfigDefaultWorkRoot string = "/Users/lume/crabbox"
const MXCConfigDefaultCLIPath string = "wxc-exec.exe"
const MXCConfigDefaultContainment string = "processcontainer"
const MXCConfigDefaultNetwork string = "block"
const MXCConfigDefaultVersion string = "0.6.0-alpha"
const Machine0ConfigDefaultCLIPath string = "machine0"
const Machine0ConfigDefaultCreateTimeout time.Duration = 900 * time.Second
const Machine0ConfigDefaultImage string = "ubuntu-24-04-loaded"
const Machine0ConfigDefaultPollInterval time.Duration = 60 * time.Second
const Machine0ConfigDefaultRegion string = "eu"
const Machine0ConfigDefaultReleasePolicy string = "destroy"
const Machine0ConfigDefaultSize string = "large"
const ModalConfigDefaultApp string = "crabbox"
const ModalConfigDefaultImage string = "python:3.13-slim"
const ModalConfigDefaultPython string = "python3"
const ModalConfigDefaultWorkdir string = "/workspace/crabbox"
const MorphConfigDefaultAPIURL string = "https://cloud.morph.so"
const MorphConfigDefaultSSHGatewayHost string = "ssh.cloud.morph.so"
const MorphConfigDefaultWakeOnSSH bool = true
const MorphConfigDefaultWorkRoot string = "/tmp/crabbox"
const MultipassConfigDefaultCLIPath string = "multipass"
const MultipassConfigDefaultCPUs int = 4
const MultipassConfigDefaultDisk string = "30G"
const MultipassConfigDefaultLaunchTimeout time.Duration = 1200 * time.Second
const MultipassConfigDefaultMemory string = "8G"
const MultipassConfigDefaultUser string = "crabbox"
const MultipassConfigDefaultWorkRoot = defaultPOSIXWorkRoot
Keep the existing shared POSIX default, rather than introducing a separate literal.
const NamespaceConfigDefaultAutoStopIdleTimeout time.Duration = 1800 * time.Second
const NamespaceConfigDefaultImage string = "builtin:base"
const NamespaceConfigDefaultWorkRoot string = "/workspaces/crabbox"
const NamespaceInstanceConfigDefaultBare bool = true
const NamespaceInstanceConfigDefaultCLIPath string = "nsc"
const NamespaceInstanceConfigDefaultWorkRoot string = "/work/crabbox"
const NativeCheckpointJournalState = "journaled"
NativeCheckpointJournalState marks an image that a provider persisted through NativeCheckpointCreateRequest.Persist as its cleanup journal before mutating. Core treats such a record as unresolved until the provider finalizes it or `checkpoint delete` runs the provider's cleanup.
const NebiusConfigDefaultCLI string = "nebius"
const NebiusConfigDefaultDiskSizeGiB int = 50
const NebiusConfigDefaultDiskType string = "network_ssd"
const NebiusConfigDefaultImageFamily string = "ubuntu24.04-driverless"
const NebiusConfigDefaultPlatform string = "cpu-d3"
const NebiusConfigDefaultPreset string = "4vcpu-16gb"
const NebiusConfigDefaultPublicIP string = "dynamic"
const NebiusConfigDefaultRecoveryPolicy string = "fail"
const NebiusConfigDefaultUser string = "crabbox"
const NomadConfigDefaultAllocReadyTimeout time.Duration = 300 * time.Second
const NomadConfigDefaultCPU int = 1000
const NomadConfigDefaultDiskMB int = 1024
const NomadConfigDefaultDriver string = "docker"
const NomadConfigDefaultEvalTimeout time.Duration = 300 * time.Second
const NomadConfigDefaultExecTimeoutSecs int = 600
const NomadConfigDefaultImage string = "ubuntu:24.04"
const NomadConfigDefaultMemoryMB int = 2048
const NomadConfigDefaultTask string = "crabbox"
const NomadConfigDefaultTokenEnv string = "NOMAD_TOKEN"
const NomadConfigDefaultWorkdir string = "/workspace/crabbox"
const NvidiaBrevConfigDefaultCLI string = "brev"
const NvidiaBrevConfigDefaultGPUName string = "A100"
const NvidiaBrevConfigDefaultMode string = "vm"
const NvidiaBrevConfigDefaultReleaseAction string = "delete"
const NvidiaBrevConfigDefaultTarget string = "container"
const NvidiaBrevConfigDefaultWorkRoot string = "/tmp/crabbox"
const OVHConfigDefaultEndpoint string = "https://api.us.ovhcloud.com/1.0"
const OVHConfigDefaultFlavor string = "b3-8"
const OVHConfigDefaultImage string = "Ubuntu 24.04"
const OpenComputerConfigDefaultExecTimeoutSecs int = 3600
const OpenComputerConfigDefaultWorkdir string = "/workspace/crabbox"
const OpenSandboxConfigDefaultCPU string = "1"
const OpenSandboxConfigDefaultExecTimeoutSecs int = 600
const OpenSandboxConfigDefaultImage string = "ubuntu:24.04"
const OpenSandboxConfigDefaultMemory string = "2Gi"
const OpenSandboxConfigDefaultPlatformArch string = "amd64"
const OpenSandboxConfigDefaultPlatformOS string = "linux"
const OpenSandboxConfigDefaultWorkdir string = "/workspace/crabbox"
const OrgoConfigDefaultAPIBase string = "https://www.orgo.ai/api"
const OrgoConfigDefaultCPUs int = 1
const OrgoConfigDefaultDiskGB int = 8
const OrgoConfigDefaultRAMGB int = 4
const OrgoConfigDefaultResolution string = "1280x720x24"
const ParallelsGuestExecProbeInterval = 5 * time.Second
const PhalaConfigDefaultCLIPath string = "phala"
const PhalaConfigDefaultInstanceType string = "tdx.small"
const PhalaConfigDefaultWorkRoot string = "/var/volatile/crabbox"
const ProxmoxConfigDefaultFullClone bool = true
const ProxmoxConfigDefaultUser string = "crabbox"
const ProxmoxConfigDefaultWorkRoot string = defaultPOSIXWorkRoot
const RailwayConfigDefaultAPIURL string = "https://backboard.railway.com/graphql/v2"
const RunpodConfigDefaultAPIURL string = "https://api.runpod.io/v2"
const RunpodConfigDefaultCloudType string = "SECURE"
const RunpodConfigDefaultDiskGB int = 20
const RunpodConfigDefaultImage string = "runpod/pytorch:2.8.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04"
const RunpodConfigDefaultInstanceID string = "" /* 139-byte string literal not displayed */
const ScalewayConfigDefaultImage string = "ubuntu_noble"
const ScalewayConfigDefaultRegion string = "fr-par"
const ScalewayConfigDefaultType string = "DEV1-S"
const ScalewayConfigDefaultZone string = "fr-par-1"
const SealosDevboxConfigDefaultCPU string = "2"
const SealosDevboxConfigDefaultKubectl string = "kubectl"
const SealosDevboxConfigDefaultMemory string = "4Gi"
const SealosDevboxConfigDefaultNamespace string = "default"
const SealosDevboxConfigDefaultNetwork string = "SSHGate"
const SealosDevboxConfigDefaultSSHGatewayPort string = "2233"
const SealosDevboxConfigDefaultSSHUser string = "devbox"
const SealosDevboxConfigDefaultStorageLimit string = "20Gi"
const SealosDevboxConfigDefaultWorkRoot string = "/home/devbox/project"
const SemaphoreConfigFlagFallbackIdleTimeout string = "30m"
const SemaphoreConfigFlagFallbackMachine string = "f1-standard-2"
const SemaphoreConfigFlagFallbackOSImage string = "ubuntu2204"
const SmolvmConfigDefaultBaseURL string = "https://api.smolmachines.com"
const SmolvmConfigDefaultCPUs int = 2
const SmolvmConfigDefaultImage string = "alpine"
const SmolvmConfigDefaultMemoryMB int = 2048
const SmolvmConfigDefaultNetwork string = "open"
const SmolvmConfigDefaultWorkdir string = "/workspace"
const SpritesConfigDefaultAPIURL string = "https://api.sprites.dev"
const SpritesConfigDefaultWorkRoot string = "/home/sprite/crabbox"
const SuperserveConfigDefaultBaseURL string = "https://api.superserve.ai"
const SuperserveConfigDefaultExecTimeoutSecs int = 600
const SuperserveConfigDefaultTemplate string = "superserve/base"
const SuperserveConfigDefaultWorkdir string = "/workspace/crabbox"
const TartConfigDefaultCPUs int = 4
const TartConfigDefaultMemory int = 8192
const TartConfigDefaultUser string = "admin"
const TenkiConfigDefaultCLIPath string = "tenki"
const TenkiConfigDefaultWorkRoot string = "/home/tenki/crabbox"
const TensorlakeConfigDefaultAPIURL string = "https://api.tensorlake.ai"
const TensorlakeConfigDefaultCLIPath string = "tensorlake"
const TensorlakeConfigDefaultCPUs float64 = 1
const TensorlakeConfigDefaultDiskMB int = 10240
const TensorlakeConfigDefaultMemoryMB int = 1024
const TensorlakeConfigDefaultWorkdir string = "/workspace/crabbox"
const UnikraftCloudConfigDefaultMetro string = "fra"
const UpstashBoxConfigDefaultBaseURL string = "https://us-east-1.box.upstash.com"
const UpstashBoxConfigDefaultRuntime string = "node"
const UpstashBoxConfigDefaultSize string = "small"
const UpstashBoxConfigDefaultWorkdir string = "/workspace/home/crabbox"
const VastConfigDefaultAPIURL string = "https://console.vast.ai/api/v0"
const VastConfigDefaultDiskGB int = 20
const VastConfigDefaultImage string = "nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04"
const VastConfigDefaultInstanceType string = "ondemand"
const VastConfigDefaultOrder string = "dlperf_per_dphtotal desc"
const VastConfigDefaultReleaseAction string = "destroy"
const VastConfigDefaultRuntype string = "ssh_direct"
const VastConfigDefaultUser string = "root"
const VastConfigDefaultWorkRoot string = "/work/crabbox"
const VercelSandboxConfigDefaultExecTimeoutSecs int = 600
const VercelSandboxConfigDefaultNetworkPolicy string = "default"
const VercelSandboxConfigDefaultRuntime string = "node24"
const VercelSandboxConfigDefaultWorkdir string = "/vercel/sandbox/crabbox"
const WarpBuildConfigDefaultCLIPath string = "wb"
const WarpBuildConfigDefaultRunnerLabel string = "warp-macos-26-arm64-6x"
const WarpBuildConfigDefaultWorkdir string = "/Users/runner/crabbox"
const WindowsSandboxConfigDefaultAudioInput string = "Disable"
const WindowsSandboxConfigDefaultClipboard string = "Disable"
const WindowsSandboxConfigDefaultNetworking string = "Enable"
const WindowsSandboxConfigDefaultPrinterRedirection string = "Disable"
const WindowsSandboxConfigDefaultProtectedClient string = "Default"
const WindowsSandboxConfigDefaultVGPU string = "Disable"
const WindowsSandboxConfigDefaultVideoInput string = "Disable"
const WindowsSandboxConfigDefaultWorkdir string = "C:\\crabbox-work"
const XCPNgConfigDefaultUser string = "crabbox"
const XCPNgConfigDefaultWorkRoot string = defaultPOSIXWorkRoot
Variables ¶
var ( )
var ErrBridgeNotImplemented = errors.New("pond bridge plane not implemented for this provider")
ErrBridgeNotImplemented is returned by helpers that need an explicit signal that the requested provider does not implement BridgeProvider yet.
var ErrCheckpointPending = errors.New("checkpoint source transition is pending; replay the same checkpoint operation")
ErrCheckpointPending is a bounded observation, never authorization to repeat a mutation whose response was lost.
var ErrNativeCheckpointAbsent = errors.New("exact native checkpoint resource is absent")
ErrPondACLAutoBootstrapUnavailable is returned when the configured tailnet control plane (e.g. Headscale) does not expose a Tailscale-compatible policy REST API. Callers fall back to the manual snippet in docs/features/pond.md instead of failing the lease creation.
var ErrReleaseLeaseOwnershipChanged = errors.New("release lease ownership changed")
var ErrSSHOutputLimit = errors.New("SSH output exceeded limit")
ErrSSHOutputLimit means a successful command exceeded its stdout budget. Transport errors take precedence; callers must not treat those as missing data.
Functions ¶
func AWSFixedAttemptAttestationLabels ¶ added in v0.41.1
func AWSFixedAttemptAttestationLabels(attempt AWSLaunchAttempt) map[string]string
func AWSInstanceTypeVCPUs ¶ added in v0.45.0
AWSInstanceTypeVCPUs estimates offline display values. Quota decisions use EC2 metadata.
func AWSLaunchCandidates ¶ added in v0.45.0
func AcquireAttempts ¶ added in v0.6.0
func AllocateClaimLeaseSlug ¶ added in v0.16.0
func AllocateClaimLeaseSlugContext ¶ added in v0.71.0
func AllocateDirectLeaseSlug ¶ added in v0.6.0
func AllocateDirectLeaseSlugContext ¶ added in v0.71.0
func AppendDirectPondTailscaleTag ¶ added in v0.29.0
func AppendDirectPondTailscaleTag(cfg *Config)
func AppendExternalDesktopRoutingArgs ¶ added in v0.47.0
AppendExternalDesktopRoutingArgs excludes repository-provided credential selectors so a generated CLI flag cannot promote them to trusted input.
func AppleContainerImageExplicit ¶ added in v0.28.0
func AppleVMCPUsExplicit ¶ added in v0.36.0
func AppleVMDiskExplicit ¶ added in v0.36.0
func AppleVMImageExplicit ¶ added in v0.36.0
func AppleVMMemoryExplicit ¶ added in v0.36.0
func ApplyAppleVMImage ¶ added in v0.55.0
ApplyAppleVMImage records an already-accepted image and clears the prior checksum.
func ApplyAppleVMImageSHA256 ¶ added in v0.55.0
ApplyAppleVMImageSHA256 records an already-accepted checksum.
func ApplyConfigShowSSHDefaults ¶ added in v0.61.0
ApplyConfigShowSSHDefaults projects connection defaults onto a local copy for offline display.
func ApplyExternalDesktopEnvironmentOverrides ¶ added in v0.39.0
func ApplyExternalDesktopEnvironmentOverrides(cfg *Config)
func ApplyFailureClassification ¶ added in v0.19.0
func ApplyFailureClassification(report *TimingReport, classification FailureClassification)
func ApplyLeaseDuration ¶ added in v0.17.0
func ApplyLinuxConnectionDefaults ¶ added in v0.61.0
ApplyLinuxConnectionDefaults restores explicit connection settings before applying Linux defaults.
func ApplyLocalContainerImage ¶ added in v0.55.0
ApplyLocalContainerImage applies an already-accepted image value and sets the existing marker via MarkLocalContainerImageExplicit.
func ApplyLocalContainerRuntime ¶ added in v0.55.0
ApplyLocalContainerRuntime applies an already-accepted runtime value and sets the existing marker via MarkLocalContainerRuntimeExplicit.
func ApplyLocalContainerWorkRoot ¶ added in v0.55.0
ApplyLocalContainerWorkRoot applies an already-accepted work-root value and sets the existing marker via MarkLocalContainerWorkRootExplicit.
func ApplyParallelsHostRefConfig ¶ added in v0.19.0
func ApplyParallelsTemplateConfig ¶ added in v0.17.0
func ApplyProviderConfigFlags ¶ added in v0.64.0
func ApplyProviderConfigFlags[Values interface {
Apply(*ProviderConfig, *flag.FlagSet) (Applied, error)
}, ProviderConfig, Applied any](cfg *Config, fs *flag.FlagSet, values any, dst *ProviderConfig, providers ...string) (bool, error)
ApplyProviderConfigFlags uses the generated Apply method (and applyConfigFlags) for adapters that consume only InputAccepted. The constraint binds the values, destination and generated report types without a second provider registry. A false result means values had the wrong type; callers must skip postprocessing.
func ApplyTargetChildEnvironmentBoundary ¶ added in v0.39.0
ApplyTargetChildEnvironmentBoundary prevents operator-owned desktop secrets from reaching target-facing local child processes such as ssh, ProxyCommand, rsync, scp, and viewer launchers.
func AsExitError ¶
func AuthorizeCheckpointRelease ¶ added in v0.48.0
func AuthorizeCheckpointRelease(claim LeaseClaim, checkpointID string) error
AuthorizeCheckpointRelease prevents ordinary release/cleanup from cutting through a source-dependent snapshot. Only the recorded retirement may release.
func AzureServerHost ¶ added in v0.12.0
AzureServerHost returns the SSH host for an Azure server based on the configured network preference. When network is "private" and a private IP is available, it returns the private IP; otherwise it returns the public IP.
func AzureVMSizeCandidatesForConfig ¶ added in v0.22.0
func AzureVMSizeCandidatesForProfiles ¶ added in v0.45.0
func AzureVMSizeCandidatesForProfiles(cfg Config, profiles []ProviderClassProfile) []string
func AzureVMSizeVCPUCount ¶ added in v0.45.0
func BindFixedClaim ¶ added in v0.65.0
func BindFixedClaim(claim *LeaseClaim, binding FixedResourceBinding, persist func() error) error
func BootstrapAWSWindowsDesktop ¶ added in v0.6.0
func BootstrapManagedWindowsDesktop ¶ added in v0.12.0
func BootstrapWaitTimeout ¶ added in v0.6.0
func CacheVolumeStickyDiskSpecs ¶ added in v0.24.0
func CacheVolumeStickyDiskSpecs(volumes []CacheVolumeConfig) []string
func CanonicalProviderClasses ¶ added in v0.45.0
func CanonicalProviderClasses() []string
func CapacityMarketExplicit ¶ added in v0.48.0
func CaptureLocalFailureBundle ¶ added in v0.12.0
func CaptureLocalFailureBundle(nameSeed string, meta FailureCaptureMetadata) (string, int, error)
func CheckCheckpointReadinessLifetime ¶ added in v0.83.0
CheckCheckpointReadinessLifetime checks only recorded policy, without extending it. The provider's existing monitor still owns live identity/state checks.
func CheckFixedAttemptActive ¶ added in v0.65.0
func CheckFixedAttemptActive(claim LeaseClaim, identityKey string, cleanupKeys ...string) error
func CheckLeaseClaimRepositoryOwner ¶ added in v0.48.0
func CheckLeaseClaimRepositoryOwner(leaseID string, existing leaseClaim, repoRoot string, reclaim bool, legacyRoot ...string) error
CheckLeaseClaimRepositoryOwner checks the publication owner policy without changing the claim. Preparation without repository context should skip this check; publication retains its own empty-root rules.
func CheckSyncPreflight ¶ added in v0.6.0
func ClaimLeaseForRepoProvider ¶ added in v0.6.0
func ClaimLeaseForRepoProviderPond ¶ added in v0.22.0
func ClaimLeaseForRepoProviderPond(leaseID, slug, provider, pond, repoRoot string, idleTimeout time.Duration, reclaim bool) error
ClaimLeaseForRepoProviderPond is the pond-aware variant exposed for delegated providers that need to persist the pond label in the local claim sidecar (delegated providers do not own a provider-side label store).
func ClaimLeaseForRepoProviderScope ¶ added in v0.17.0
func ClaimLeaseForRepoProviderScopePond ¶ added in v0.22.0
func ClaimLeaseForRepoProviderScopePond(leaseID, slug, provider, providerScope, pond, repoRoot string, idleTimeout time.Duration, reclaim bool, legacyRoot ...string) error
ClaimLeaseForRepoProviderScopePond combines a provider scope (e.g. Docker context for local-container claim isolation) with the pond label so both features coexist in the same claim sidecar without one overwriting the other.
func ClaimLeaseForRepoProviderScopePondCacheVolumes ¶ added in v0.28.0
func ClaimLeaseForRepoProviderScopePondEndpoint ¶ added in v0.28.0
func ClaimLeaseForRepoProviderScopePondEndpointIfUnchanged ¶ added in v0.64.0
func ClaimLeaseForRepoProviderScopePondEndpointIfUnchanged(leaseID, slug, provider, providerScope, pond, repoRoot string, idleTimeout time.Duration, reclaim bool, server Server, target SSHTarget, expected leaseClaim, expectedExists bool) (leaseClaim, error)
ClaimLeaseForRepoProviderScopePondEndpointIfUnchanged publishes an endpoint and repository binding without replacing unrelated metadata such as mounts.
func ClaimLeaseForRepoProviderScopePondEndpointReservationIfUnchanged ¶ added in v0.40.0
func ClaimLeaseForRepoProviderScopePondEndpointReservationIfUnchanged(leaseID, slug, provider, providerScope, pond, repoRoot string, idleTimeout time.Duration, reclaim bool, server Server, target SSHTarget, reservationLabel string, reservationDuration time.Duration, expected leaseClaim, expectedExists bool) (leaseClaim, error)
func ClaimLeaseForRepoProviderScopePondIfUnchanged ¶ added in v0.29.0
func ClaimLeaseForRepoProviderScopePondWithLabels ¶ added in v0.40.0
func ClaimLeaseTargetForConfig ¶ added in v0.29.0
func ClaimLeaseTargetForConfig(leaseID, slug string, cfg Config, server Server, target SSHTarget, idleTimeout time.Duration) error
ClaimLeaseTargetForConfig records a provider resource that is not yet attached to a repository.
func ClaimLeaseTargetForConfigIfUnchanged ¶ added in v0.29.0
func ClaimLeaseTargetForConfigScopeIfUnchanged ¶ added in v0.36.0
func ClaimLeaseTargetForConfigScopeIfUnchanged(leaseID, slug string, cfg Config, providerScope string, server Server, target SSHTarget, idleTimeout time.Duration, expected leaseClaim, expectedExists bool) (leaseClaim, error)
ClaimLeaseTargetForConfigScopeIfUnchanged lets a provider bind a claim to routing identity that is intentionally not part of the shared Config model.
func ClaimLeaseTargetForRepoConfig ¶ added in v0.28.0
func ClaimLeaseTargetForRepoConfigIfUnchanged ¶ added in v0.29.0
func ClaimLeaseTargetForRepoConfigScopeIfUnchanged ¶ added in v0.37.0
func ClaimLeaseTargetForRepoConfigScopeIfUnchanged(leaseID, slug string, cfg Config, providerScope string, server Server, target SSHTarget, repoRoot string, idleTimeout time.Duration, reclaim bool, expected leaseClaim, expectedExists bool) (leaseClaim, error)
ClaimLeaseTargetForRepoConfigScopeIfUnchanged lets a provider bind a repository-scoped claim to routing identity outside the shared Config model.
func ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurable ¶ added in v0.37.0
func ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurable(leaseID, slug string, cfg Config, providerScope string, server Server, target SSHTarget, repoRoot string, idleTimeout time.Duration, reclaim bool, expected leaseClaim, expectedExists bool) (leaseClaim, error)
ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurable performs the same guarded update and durably syncs newly created claim namespace ancestors.
func ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurableAfter ¶ added in v0.40.0
func ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurableAfter(leaseID, slug string, cfg Config, providerScope string, server Server, target SSHTarget, repoRoot string, idleTimeout time.Duration, reclaim bool, expected leaseClaim, expectedExists bool, action func() error) (leaseClaim, error)
ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurableAfter holds the claim lock across action and the durable guarded claim publication.
func ClaimLeaseTargetForRepoConfigScopeReplacingEndpointIfUnchanged ¶ added in v0.37.0
func ClaimLeaseTargetForRepoConfigScopeReplacingEndpointIfUnchanged(leaseID, slug string, cfg Config, providerScope string, server Server, target SSHTarget, repoRoot string, idleTimeout time.Duration, reclaim bool, expected leaseClaim, expectedExists bool) (leaseClaim, error)
ClaimLeaseTargetForRepoConfigScopeReplacingEndpointIfUnchanged binds an exact resource while atomically replacing any previously published route.
func ClaimLeaseTargetForRepoConfigWithIdleTimeoutOverrideIfUnchanged ¶ added in v0.64.0
func ClaimLeaseTargetForRepoConfigWithIdleTimeoutOverrideIfUnchanged(leaseID, slug string, cfg Config, server Server, target SSHTarget, repoRoot string, idleTimeout time.Duration, idleTimeoutOverride *time.Duration, reclaim bool, expected leaseClaim, expectedExists bool) (leaseClaim, error)
ClaimLeaseTargetForRepoConfigWithIdleTimeoutOverrideIfUnchanged lets an adapter reconcile recorded policy in the same guarded transaction as repo admission.
func ClaimRepositoryMatches ¶ added in v0.82.0
ClaimRepositoryMatches compares only literal strings. A directory caller may supply its released lookup result, but must never resolve the stored path.
func ClaimScopeURL ¶ added in v0.47.0
ClaimScopeURL preserves historical URL normalization used by stored claim keys.
func ClassFlagWasExplicit ¶ added in v0.49.0
ClassFlagWasExplicit preserves CLI intent until checkpoint routing is final. Config-file and environment selections still use ClassWasExplicit.
func ClassWasExplicit ¶ added in v0.33.0
func CleanupLeaseClaimIfUnchangedAfter ¶ added in v0.37.0
func CleanupLeaseClaimIfUnchangedAfter(leaseID string, expected leaseClaim, expectedExists bool, action func() error) error
CleanupLeaseClaimIfUnchangedAfter holds the claim lock across action and cleans up only when claim presence and content still match the expectation.
func CleanupLeaseClaimIfUnchangedAfterContext ¶ added in v0.48.0
func CleanupLeaseClaimIfUnchangedAfterContext(ctx context.Context, leaseID string, expected LeaseClaim, expectedExists bool, action func() error) error
CleanupLeaseClaimIfUnchangedAfterContext also bounds waiting for the claim fence. The action must honor ctx itself and must not reenter claim operations.
func ClearLeaseClaimTailscale ¶ added in v0.29.0
func ClockNow ¶ added in v0.53.0
ClockNow returns the injected time, or the system time when clock is nil.
func CloneDefaultTransport ¶ added in v0.45.0
CloneDefaultTransport copies http.DefaultTransport when it is a non-nil *http.Transport. Callers that need to mutate transport settings must not bypass a process-wide custom RoundTripper.
func CloudInitUserData ¶ added in v0.26.0
func CompileRunArtifactGlob ¶ added in v0.55.0
CompileRunArtifactGlob shares the collector's Bash matcher semantics, including newlines in filenames selected by a recursive glob.
func ConfigShowSecretState ¶ added in v0.57.0
ConfigShowSecretState reports presence only, using the existing display owner.
func ConfigShowURL ¶ added in v0.57.0
ConfigShowURL uses the existing configuration-display URL redactor.
func ControllerOwnsLeaseLifecycle ¶ added in v0.80.0
func ControllerOwnsLeaseLifecycle() bool
ControllerOwnsLeaseLifecycle identifies the legacy controller command path. Providers can refuse unsupported retained acquisition before external effects.
func CrabboxStateDir ¶ added in v0.28.0
func CreateSyncArchive ¶ added in v0.26.1
func DefaultContainerImageDigest ¶ added in v0.48.0
DefaultContainerImageDigest identifies catalog-owned references. A known default with an invalid digest stays known so adapters cannot treat it as a trusted custom override and silently launch it.
func DelegatedRunArtifactFileScript ¶ added in v0.55.0
func DelegatedRunArtifactFileScript(requiredGlobs, artifactGlobs []string, maxFiles int, maxBytes int64) string
DelegatedRunArtifactFileScript finalizes an archive at the single absolute path passed as $1. The caller owns an existing, exclusive transfer directory and the finalized file's lifetime. Collection keeps its original working directory.
func DeleteClaimedEvidence ¶ added in v0.65.0
func DeleteClaimedEvidence[T any](ctx context.Context, kind FixedLeaseKind, claim LeaseClaim, attest func() (T, error), deleteExact func(T) error) error
DeleteClaimedEvidence adapts native attestation/deletion of an exact resource graph to the common claim fence and terminal publication.
func DeleteFixedResource ¶ added in v0.65.0
func DeleteFixedResource[T any](ctx context.Context, kind FixedLeaseKind, expected LeaseClaim, ops FixedLeaseOperations[T], clock ...func() time.Time) error
DeleteFixedResource holds the same claim CAS across attestation, native deletion, and terminal publication. Native DeleteExact must attest completion, including any child resources, before returning nil.
func DeleteOnReleaseExplicit ¶ added in v0.29.0
func DialServeRelay ¶ added in v0.76.0
func DialServeRelay(ctx context.Context, coordinator *CoordinatorClient, sessionID, role, agentToken, machineID string, diagnosticOutput ...io.Writer) (net.Conn, error)
DialServeRelay authenticates with the ordinary coordinator credentials. The one-time agent token is a header, never a URL, process argument, or disk file.
func DigitalOceanImageWasExplicit ¶ added in v0.61.0
func DirectLeaseLabels ¶ added in v0.6.0
func DoctorChecksStatus ¶ added in v0.56.0
func DoctorChecksStatus(checks []DoctorCheck) string
DoctorChecksStatus returns failed, warning, or ok without modifying checks or their details.
func DurationMinutesCeil ¶ added in v0.6.0
func EffectiveHostingerWorkRoot ¶ added in v0.29.0
func EffectiveMaxTTL ¶ added in v0.76.0
func EffectiveNvidiaBrevWorkRoot ¶ added in v0.31.0
func EffectiveSealosDevboxWorkRoot ¶ added in v0.37.0
func EffectiveVastWorkRoot ¶ added in v0.35.0
func EnsureAWSSSHCIDRs ¶ added in v0.6.0
func EnsureCrabboxClaimNamespaceDurable ¶ added in v0.40.0
func EnsureCrabboxClaimNamespaceDurable() error
func EnsureTestboxKey ¶ added in v0.6.0
func EnsureTestboxKeyForConfig ¶ added in v0.6.0
func EnsureTestboxKeyForConfigContext ¶ added in v0.81.0
func ExistingLeaseKnownHostsPath ¶ added in v0.64.0
ExistingLeaseKnownHostsPath inspects the managed directory without creating or repairing it. The caller still validates the host-key file and its contents.
func ExitCodeForError ¶ added in v0.51.0
ExitCodeForError returns the first matched ExitError's nonzero code, or fallback. Nil errors and matched zero codes use fallback; signed codes are preserved.
func ExpandUserPath ¶ added in v0.17.0
func ExplicitWindowsModeValue ¶ added in v0.64.0
ExplicitWindowsModeValue returns the saved explicit mode, without inferring a value from the separate command-flag marker used by IsWindowsModeExplicit.
func ExtendedLeaseLabels ¶ added in v0.76.0
func ExternalDesktopChildEnvironmentDenylist ¶ added in v0.39.0
ExternalDesktopChildEnvironmentDenylist returns retained historical names plus this External config's current effective name. The returned slice is a copy and is safe for callers to extend without mutating Config.
func ExternalRoutingArchitecture ¶ added in v0.39.0
func ExternalRoutingArchitecture(cfg ExternalConfig) string
func ExternalRoutingDigest ¶ added in v0.39.0
func ExternalRoutingDigest(cfg ExternalConfig) string
ExternalRoutingDigest returns the exact loaded routing-file generation. Generated children use it instead of placing routing contents on argv.
func ExternalRoutingGeneration ¶ added in v0.39.0
func ExternalRoutingGeneration(cfg ExternalConfig) string
ExternalRoutingGeneration returns the unique generation persisted for this route. Unlike a semantic configuration hash, it changes on every rewrite.
func ExternalRoutingLoaded ¶ added in v0.30.0
func ExternalRoutingLoaded(cfg ExternalConfig) bool
func ExternalRoutingPath ¶ added in v0.26.1
func ExternalRoutingTarget ¶ added in v0.39.0
func ExternalRoutingTarget(cfg ExternalConfig) (string, string)
func FixedAWSCreateIntentFingerprint ¶ added in v0.41.1
func FixedAWSCreateIntentFingerprint(cfg Config, req FixedAWSCreateIntentRequest) (string, error)
func FixedCreateTime ¶ added in v0.65.0
func FixedCreateTime(claim LeaseClaim) time.Time
func FixedIdentityLabels ¶ added in v0.65.0
func FixedIntentFingerprint ¶ added in v0.65.0
FixedIntentFingerprint hashes a provider's canonical schema without changing its JSON encoding or domain prefix, both of which are persisted contracts.
func FixedMachine0CreateIntentFingerprint ¶ added in v0.46.0
func FixedMachine0CreateIntentFingerprint(cfg Config, req FixedMachine0CreateIntentRequest) (string, error)
func FixedPristineRecord ¶ added in v0.65.0
func FixedPristineRecord(claim LeaseClaim, kind FixedLeaseKind, scopePrefix string) bool
FixedPristineRecord recognizes formats that never erased submitted attempts. Other formats must use fresh-invocation admission instead of this predicate.
func FixedSHA256 ¶ added in v0.65.0
func FixedUncertainCustody ¶ added in v0.65.0
func ForgetAbsentLeaseClaim ¶ added in v0.64.0
func ForgetAbsentLeaseClaim(ctx context.Context, verifier AbsenceVerifier, claim LeaseClaim) (bool, error)
ForgetAbsentLeaseClaim owns only local claim removal, never release, keys, registrations, or terminal receipts. The same fence covers proof and removal.
func FormatFailureClassificationFields ¶ added in v0.19.0
func FormatFailureClassificationFields(classification FailureClassification) string
func GCPMachineTypeCandidatesForConfig ¶ added in v0.45.0
func GitCheckoutHasHiddenOmissions ¶ added in v0.38.4
GitCheckoutHasHiddenOmissions reports whether sparse rules or skip-worktree index state leave tracked paths absent. Delegated sync tools must not treat them as deletions from a complete checkout.
func GitHubCodespacesRetentionExplicit ¶ added in v0.40.0
func GnomeDesktopThemeScript ¶ added in v0.49.1
func GnomeDesktopThemeScript() string
func GzipCloudInit ¶ added in v0.76.0
GzipCloudInit preserves cloud-init's binary gzip transport, without a timestamp. Callers apply their provider's size limit and outer encoding after compression.
func HandleDelegatedRunFailure ¶ added in v0.12.0
func HasAzureCleanupBinding ¶ added in v0.37.0
HasAzureCleanupBinding reports whether a local claim contains a complete, versioned companion-resource snapshot captured before Azure VM deletion.
func HasDelegatedRunDownloadRequests ¶ added in v0.31.0
func HasDelegatedRunDownloadRequests(req RunRequest) bool
func HetznerServerTypeCandidatesForConfig ¶ added in v0.45.0
func ImageRequirementsIntent ¶ added in v0.41.1
func IncusServerTypeForConfig ¶ added in v0.28.0
func InspectFixedCandidate ¶ added in v0.65.0
func InspectFixedCandidate[T any](ctx context.Context, kind FixedLeaseKind, claim LeaseClaim, inventory func(context.Context) ([]T, error), match func(T) bool) (T, bool, error)
InspectFixedCandidate applies the same read-only journal and cardinality checks to native inventory lookups used outside acquisition.
func IsAWSCleanupKeyOwnershipError ¶ added in v0.36.0
IsAWSCleanupKeyOwnershipError reports a cleanup-time key ownership mismatch that must skip the instance instead of deleting either resource.
func IsArchitectureExplicit ¶ added in v0.39.0
func IsAzureCleanupSkipError ¶ added in v0.36.0
IsAzureCleanupSkipError reports a cleanup-time ownership or association mismatch that must be reported and skipped rather than treated as fatal.
func IsBootstrapWaitError ¶ added in v0.6.0
func IsBoxdWorkRootExplicit ¶ added in v0.47.0
func IsCanonicalGCPServer ¶ added in v0.32.0
func IsCanonicalLeaseID ¶ added in v0.6.0
func IsCanonicalProviderClass ¶ added in v0.45.0
func IsCrabboxProxmoxLease ¶ added in v0.12.0
func IsDefaultWorkRoot ¶ added in v0.16.0
func IsExternalDesktopPasswordEnvExplicit ¶ added in v0.39.0
IsExternalDesktopPasswordEnvExplicit is the password-reference counterpart to IsExternalDesktopUsernameExplicit.
func IsExternalDesktopTargetExplicit ¶ added in v0.39.0
IsExternalDesktopTargetExplicit reports command/programmatic routing choices. Environment and file values may authorize a credential tuple, but do not replace a lease's persisted routing target.
func IsExternalDesktopUsernameExplicit ¶ added in v0.39.0
IsExternalDesktopUsernameExplicit reports whether an operator override must be reproduced even when it explicitly clears a persisted routing value.
func IsExternalDesktopWindowsModeExplicit ¶ added in v0.39.0
IsExternalDesktopWindowsModeExplicit is the Windows-mode counterpart to IsExternalDesktopTargetExplicit.
func IsGCPNotFound ¶ added in v0.11.0
func IsHetznerNotFound ¶ added in v0.44.0
func IsHostingerUserExplicit ¶ added in v0.29.0
func IsHostingerWorkRootExplicit ¶ added in v0.29.0
func IsNvidiaBrevTargetExplicit ¶ added in v0.66.0
func IsNvidiaBrevWorkRootExplicit ¶ added in v0.31.0
func IsPlainLocalCommandExit ¶ added in v0.51.0
func IsPlainLocalCommandExit(result LocalCommandResult, err error) bool
IsPlainLocalCommandExit recognizes an ordinary unsuccessful local process completion, not a wrapped/joined error or proof of a remote command outcome.
func IsProxmoxDeleteRequestError ¶ added in v0.30.0
func IsProxmoxDeleteTaskError ¶ added in v0.30.0
func IsProxmoxNotFound ¶ added in v0.12.0
func IsRunExecutionMetadataEnvName ¶ added in v0.51.0
IsRunExecutionMetadataEnvName reports whether core owns this exact environment name. Providers without command-env support may omit this local run metadata.
func IsSSHKeyExplicit ¶ added in v0.29.0
func IsSSHPortExplicit ¶ added in v0.29.0
func IsSSHUserExplicit ¶ added in v0.29.0
func IsSealosDevboxWorkRootExplicit ¶ added in v0.37.0
func IsShellEnvAssignment ¶ added in v0.6.0
IsShellEnvAssignment classifies the name before the first '='. Assignment values are shell data and do not participate in identifier validation.
func IsTargetExplicit ¶ added in v0.26.1
func IsTartCPUsExplicit ¶ added in v0.26.1
func IsTartDiskExplicit ¶ added in v0.26.1
func IsTartMemoryExplicit ¶ added in v0.26.1
func IsVastWorkRootExplicit ¶ added in v0.35.0
func IsWSLSFTPUnavailable ¶ added in v0.48.0
func IsWindowsModeExplicit ¶ added in v0.48.0
func IsWorkRootExplicit ¶ added in v0.29.0
func IsloDiskGBExplicit ¶ added in v0.33.0
func IsloImageExplicit ¶ added in v0.33.0
func IsloMemoryMBExplicit ¶ added in v0.33.0
func IsloVCPUsExplicit ¶ added in v0.33.0
func JSONHasDuplicateKeys ¶ added in v0.48.0
JSONHasDuplicateKeys scans one JSON value recursively. Callers remain responsible for rejecting trailing data and enforcing input size limits.
func LambdaImageFamilyWasExplicit ¶ added in v0.61.0
func LambdaImageWasExplicit ¶ added in v0.61.0
func LeaseClaimMatchesIdentifier ¶ added in v0.29.0
func LeaseLabelDuration ¶ added in v0.64.0
func LeaseLabelDurationDisplay ¶ added in v0.6.0
func LeaseLabelTime ¶ added in v0.6.0
func LeaseLabelTimeDisplay ¶ added in v0.6.0
func LeaseProviderName ¶ added in v0.6.0
func LinodeImageWasExplicit ¶ added in v0.61.0
func LinodeTypeWasExplicit ¶ added in v0.71.0
func LinuxAptQuiesce ¶ added in v0.82.0
func LinuxAptQuiesce() string
LinuxAptQuiesce is an early boot guard for provisioned Linux guests only. Provider-owned cloud-init renderers must not apply it to operator-owned hosts.
func LinuxAptWait ¶ added in v0.82.0
func LinuxAptWait() string
LinuxAptWait lets active scheduled updates finish before explicit installs. Call after bootcmd, where waiting on systemd boot ordering is safe.
func ListLeaseClaims ¶ added in v0.17.0
func ListLeaseClaims() ([]leaseClaim, error)
func ListLeaseClaimsContext ¶ added in v0.71.0
func ListLeaseClaimsWithPrefix ¶ added in v0.29.0
func ListLeaseClaimsWithPrefixContext ¶ added in v0.71.0
func LiteralPOSIXPath ¶ added in v0.64.0
LiteralPOSIXPath keeps CDPATH, OLDPWD, and option parsing out of path operands.
func LocalContainerRuntimeExplicit ¶ added in v0.26.1
func LocalContainerWorkRootExplicit ¶ added in v0.34.0
func LocalProcessBootIdentity ¶ added in v0.31.0
func LocalProcessBootIdentityRequired ¶ added in v0.31.0
func LocalProcessBootIdentityRequired() bool
func LocalProcessCommand ¶ added in v0.40.0
func LocalProcessStartIdentity ¶ added in v0.31.0
Retain the start-identity contract used by persisted daemon records; exit state is a separate fact and must not change their stored representation.
func LocalRunArtifactPath ¶ added in v0.17.1
func LooksLikeInlineSSHPublicKey ¶ added in v0.41.1
func LookupExternalDesktopPassword ¶ added in v0.39.0
LookupExternalDesktopPassword keeps the daemon-delivered credential inside the exact Config value that owns it; it never enters env, argv, routing, or provider-scope material.
func LookupFixedResource ¶ added in v0.65.0
func LookupFixedResource[T any](ctx context.Context, kind FixedLeaseKind, claim LeaseClaim, lookup func(context.Context, LeaseClaim) (T, error)) (T, error)
LookupFixedResource runs a single native lookup through the read-only engine.
func ManagedWindowsDesktopBootstrapPowerShell ¶ added in v0.81.0
func ManagedWindowsDesktopTerminalBootstrapPowerShell ¶ added in v0.81.0
func ManagedWindowsDesktopTerminalBootstrapPowerShell() string
func MarkAppleContainerImageExplicit ¶ added in v0.25.0
func MarkAppleContainerImageExplicit(cfg *Config)
func MarkAppleVMCPUsExplicit ¶ added in v0.36.0
func MarkAppleVMCPUsExplicit(cfg *Config)
func MarkAppleVMDiskExplicit ¶ added in v0.36.0
func MarkAppleVMDiskExplicit(cfg *Config)
func MarkAppleVMImageExplicit ¶ added in v0.36.0
func MarkAppleVMImageExplicit(cfg *Config)
func MarkAppleVMImageSHA256Explicit ¶ added in v0.36.0
func MarkAppleVMImageSHA256Explicit(cfg *Config)
func MarkAppleVMMemoryExplicit ¶ added in v0.36.0
func MarkAppleVMMemoryExplicit(cfg *Config)
func MarkArchitectureExplicit ¶ added in v0.44.0
func MarkArchitectureExplicit(cfg *Config)
func MarkBoxdWorkRootExplicit ¶ added in v0.47.0
func MarkBoxdWorkRootExplicit(cfg *Config)
func MarkCapacityMarketExplicit ¶ added in v0.48.0
func MarkCapacityMarketExplicit(cfg *Config)
func MarkClassExplicit ¶ added in v0.33.0
func MarkClassExplicit(cfg *Config)
func MarkDeleteOnReleaseExplicit ¶ added in v0.29.0
func MarkExternalDesktopPasswordEnvExplicit ¶ added in v0.39.0
func MarkExternalDesktopPasswordEnvExplicit(cfg *Config)
MarkExternalDesktopPasswordEnvExplicit records an operator-selected desktop secret reference so repository config cannot redirect inherited credentials.
func MarkExternalDesktopUsernameExplicit ¶ added in v0.39.0
func MarkExternalDesktopUsernameExplicit(cfg *Config)
MarkExternalDesktopUsernameExplicit records an operator-selected desktop account so repository config cannot retarget an approved password reference.
func MarkExternalProviderOutputFlagExplicit ¶ added in v0.37.0
func MarkExternalProviderOutputFlagExplicit(cfg *Config)
MarkExternalProviderOutputFlagExplicit records that an operator changed the adapter contract through a trusted flag.
func MarkExternalRoutingCredentialSources ¶ added in v0.37.0
func MarkExternalRoutingCredentialSources(cfg *Config)
MarkExternalRoutingCredentialSources applies the routing file's trust source to connection values after the External provider loads that private state. An unknown source is reserved for claim-bound automatic routing.
func MarkExternalRoutingFileExplicit ¶ added in v0.37.0
func MarkExternalRoutingFileExplicit(cfg *Config)
MarkExternalRoutingFileExplicit records an operator-selected routing path before the External provider loads it during flag application.
func MarkExternalRoutingTargetRestored ¶ added in v0.39.0
MarkExternalRoutingTargetRestored clears stale ambient authorization when a routing file, rather than an explicit target flag, supplied the effective target tuple.
func MarkFlagDeprecated ¶ added in v0.44.0
MarkFlagDeprecated attaches deprecation metadata to a flag's real registered value. Missing flags or replacements panic during registration so provider authoring drift cannot silently reach discovery output.
func MarkGitHubCodespacesRetentionExplicit ¶ added in v0.40.0
func MarkGitHubCodespacesRetentionExplicit(cfg *Config)
func MarkHostingerUserExplicit ¶ added in v0.29.0
func MarkHostingerUserExplicit(cfg *Config)
func MarkHostingerWorkRootExplicit ¶ added in v0.29.0
func MarkHostingerWorkRootExplicit(cfg *Config)
func MarkIsloConfigExplicit ¶ added in v0.62.0
func MarkIsloConfigExplicit(cfg *Config, applied IsloConfigApplied)
MarkIsloConfigExplicit preserves explicit create inputs, including accepted defaults.
func MarkIsloDiskGBExplicit ¶ added in v0.33.0
func MarkIsloDiskGBExplicit(cfg *Config)
func MarkIsloImageExplicit ¶ added in v0.21.0
func MarkIsloImageExplicit(cfg *Config)
func MarkIsloMemoryMBExplicit ¶ added in v0.33.0
func MarkIsloMemoryMBExplicit(cfg *Config)
func MarkIsloVCPUsExplicit ¶ added in v0.33.0
func MarkIsloVCPUsExplicit(cfg *Config)
func MarkLocalContainerImageExplicit ¶ added in v0.21.0
func MarkLocalContainerImageExplicit(cfg *Config)
func MarkLocalContainerRuntimeExplicit ¶ added in v0.26.1
func MarkLocalContainerRuntimeExplicit(cfg *Config)
func MarkLocalContainerWorkRootExplicit ¶ added in v0.34.0
func MarkLocalContainerWorkRootExplicit(cfg *Config)
func MarkMultipassImageExplicit ¶ added in v0.26.0
func MarkMultipassImageExplicit(cfg *Config)
func MarkNvidiaBrevTargetExplicit ¶ added in v0.66.0
func MarkNvidiaBrevTargetExplicit(cfg *Config)
func MarkNvidiaBrevWorkRootExplicit ¶ added in v0.31.0
func MarkNvidiaBrevWorkRootExplicit(cfg *Config)
func MarkPhalaInstanceTypeExplicit ¶ added in v0.33.0
func MarkPhalaInstanceTypeExplicit(cfg *Config)
func MarkSSHKeyExplicit ¶ added in v0.29.0
func MarkSSHKeyExplicit(cfg *Config)
func MarkSSHPortExplicit ¶ added in v0.29.0
func MarkSSHPortExplicit(cfg *Config)
func MarkSSHUserExplicit ¶ added in v0.29.0
func MarkSSHUserExplicit(cfg *Config)
func MarkScalewayConfigApplied ¶ added in v0.55.0
func MarkScalewayConfigApplied(cfg *Config, applied ScalewayConfigApplied)
MarkScalewayConfigApplied records accepted source events without inferring explicitness from values or changing SDK profile precedence.
func MarkSealosDevboxWorkRootExplicit ¶ added in v0.37.0
func MarkSealosDevboxWorkRootExplicit(cfg *Config)
func MarkTargetExplicit ¶ added in v0.26.1
func MarkTargetExplicit(cfg *Config)
func MarkTartCPUsExplicit ¶ added in v0.26.1
func MarkTartCPUsExplicit(cfg *Config)
func MarkTartDiskExplicit ¶ added in v0.26.1
func MarkTartDiskExplicit(cfg *Config)
func MarkTartImageExplicit ¶ added in v0.26.1
func MarkTartImageExplicit(cfg *Config)
func MarkTartMemoryExplicit ¶ added in v0.26.1
func MarkTartMemoryExplicit(cfg *Config)
func MarkTencentCloudConfigApplied ¶ added in v0.55.0
func MarkTencentCloudConfigApplied(cfg *Config, applied TencentCloudConfigApplied)
MarkTencentCloudConfigApplied records accepted source events without inferring explicitness from values or changing class precedence.
func MarkVastWorkRootExplicit ¶ added in v0.35.0
func MarkVastWorkRootExplicit(cfg *Config)
func MarkWorkRootExplicit ¶ added in v0.29.0
func MarkWorkRootExplicit(cfg *Config)
func MutateFixedRetention ¶ added in v0.80.0
func MutateFixedRetention(ctx context.Context, kind FixedLeaseKind, expected LeaseClaim, req RetentionLifecycleRequest, action string, now func() time.Time, observe func(context.Context, LeaseClaim) (string, error), submit func(context.Context, LeaseClaim, string) error) error
MutateFixedRetention extends the fixed claim transaction owner. Observations attest the exact resource and normalize its state. Reassertions converge the same durable operation on a stable opposite state, never minting a window.
func NewAWSCleanupKeyOwnershipError ¶ added in v0.36.0
func NewCappedFailureBundleStream ¶ added in v0.12.0
func NewCappedFailureBundleStream(file *os.File) io.WriteCloser
func NewLeaseID ¶ added in v0.6.0
func NewLeaseID() string
func NewLeaseSlug ¶ added in v0.6.0
func NoProviderFlags ¶ added in v0.6.0
func NoProviderFlags() any
func NormalizeArchitecture ¶ added in v0.39.0
func NormalizeAzureBackend ¶ added in v0.22.0
func NormalizeAzureDiskSKU ¶ added in v0.34.0
func NormalizeAzureOSDiskMode ¶ added in v0.15.0
func NormalizeAzureSnapshotSKU ¶ added in v0.34.0
func NormalizeCheckpointStrategy ¶ added in v0.19.0
func NormalizeLeaseSlug ¶ added in v0.6.0
func NormalizeList ¶ added in v0.61.0
NormalizeList trims entries and drops blanks, retaining order and duplicates. It returns fresh storage and a nonnil empty slice without changing its input.
func NormalizeManagedStateTransferRoot ¶ added in v0.58.0
NormalizeManagedStateTransferRoot resolves metadata only, including an absent suffix. Native owners use it to retain the actual scope of a created mount.
func NormalizePondName ¶ added in v0.47.0
NormalizePondName lowercases the requested name and replaces every character outside `[a-z0-9-]` with `-`, collapsing runs and trimming leading/trailing dashes. The shape matches NormalizeLeaseSlug; pond names participate in the same DNS-ish identifier space so peer hostnames stay regular.
func NormalizeTargetConfig ¶ added in v0.19.0
func NormalizeTargetConfig(cfg *Config)
func NormalizeTargetOS ¶ added in v0.64.0
NormalizeTargetOS canonicalizes a target name without changing configuration.
func NormalizeVastInstanceType ¶ added in v0.35.0
func NormalizeWindowsMode ¶ added in v0.64.0
NormalizeWindowsMode canonicalizes a mode without changing configuration.
func NormalizedDesktopEnv ¶ added in v0.19.0
func OSImageDefaultAppleVMImage ¶ added in v0.36.0
func OSImageDefaultAppleVMSHA256 ¶ added in v0.36.0
func OSImageWasExplicit ¶ added in v0.29.0
func OVHImageWasExplicit ¶ added in v0.31.0
func OptionalStoredTestboxKeyPath ¶ added in v0.58.0
OptionalStoredTestboxKeyPath preserves legacy optional-key fallback when no root is selected. Explicit-root admission errors must never become fallback.
func ParallelsGuestToolsUnavailable ¶ added in v0.63.0
func ParallelsHostRefForConfig ¶ added in v0.64.0
ParallelsHostRefForConfig reports the resolved Parallels host identity used as the provider scope of a lease: the selected fleet host, an explicit remote host, or the local Mac.
func ParallelsLabelsFromName ¶ added in v0.17.0
func ParallelsLeaseVMName ¶ added in v0.64.0
ParallelsLeaseVMName renders the host-unique VM name that carries a lease identity. The name is the Parallels idempotency key: prlctl refuses a second VM with the same name on a host, so a provider adapter can bind a fixed lease ID to a create attempt without pre-allocating any other resource identifier.
func ParallelsStartupContext ¶ added in v0.69.0
ParallelsStartupContext shares one startup budget across IP discovery and preparation.
func ParseServerID ¶ added in v0.6.0
func PersistExternalRouting ¶ added in v0.26.1
func PersistExternalRouting(leaseID string, cfg ExternalConfig) (string, error)
func PersistValidatedExternalRouting ¶ added in v0.37.0
func PersistValidatedExternalRouting(leaseID string, cfg ExternalConfig) (string, error)
PersistValidatedExternalRouting records that the credential destination was validated before the routing state became authoritative for a lease.
func PhalaInstanceTypeOverridesClass ¶ added in v0.33.0
func PhalaInstanceTypeWasExplicit ¶ added in v0.33.0
func PowerShellQuote ¶ added in v0.79.2
PowerShellQuote returns s as one PowerShell verbatim string literal.
func PowershellCommand ¶ added in v0.17.0
func PreflightLeaseSSHStorage ¶ added in v0.58.0
func PreflightLeaseSSHStorage() error
PreflightLeaseSSHStorage admits managed connection storage before a provider can create a resource whose per-lease identity is not known yet.
func PrepareFixedSSHKey ¶ added in v0.65.0
func PrepareFixedSSHKey(cfg *Config, leaseID string, policy FixedKeyPolicy) (string, error)
func PrepareNativeImageSource ¶ added in v0.44.0
func PrepareStoredTestboxKeyPath ¶ added in v0.58.0
PrepareStoredTestboxKeyPath leaves imported key contents and publication policy to the provider, but admits the canonical local destination first.
func PreserveExternalDesktopChildEnvironmentBoundary ¶ added in v0.39.0
func PreserveExternalDesktopChildEnvironmentBoundary(cfg *Config)
PreserveExternalDesktopChildEnvironmentBoundary records a valid, trusted or programmatic desktop password environment name before an override replaces it. Repository-selected and reserved names cannot influence a later child's environment. The retained names are intentionally monotonic for the lifetime of this Config value: an old operator secret must not become visible merely because a routed lease or explicit override selects a new name.
func PrimaryRunClassificationCause ¶ added in v0.52.0
PrimaryRunClassificationCause finds an explicit classification cause only on the primary error path. Ordinary errors retain their full-graph classification; joined secondary failures cannot supply an override through this lookup.
func PrintEnvForwardingSummary ¶ added in v0.12.0
func ProbeSSHReady ¶ added in v0.26.1
func ProviderClaimScope ¶ added in v0.30.0
func ProviderClassCandidatesForProfiles ¶ added in v0.45.0
func ProviderClassCandidatesForProfiles(profiles []ProviderClassProfile, cfg Config) ([]string, bool)
func ProviderClassPrimaryTypeForProfiles ¶ added in v0.62.0
func ProviderClassPrimaryTypeForProfiles(profiles []ProviderClassProfile, cfg Config, legacyFallback string) string
ProviderClassPrimaryTypeForProfiles preserves unsupported canonical selectors as unresolved; only noncanonical input may use the provider's legacy fallback.
func ProviderKeyForLease ¶ added in v0.6.0
func ProviderNameMatches ¶ added in v0.54.0
ProviderNameMatches compares a name with provider metadata without consulting the registry or configuring a backend.
func ProviderNameMatchesExact ¶ added in v0.54.0
ProviderNameMatchesExact compares raw names with provider metadata without normalization, registry lookup, or backend configuration.
func ProviderSelectionIsAuthoritativeRoute ¶ added in v0.42.0
ProviderSelectionIsAuthoritativeRoute reports whether cfg names an exact provider restored from lease or recorded-run context.
func ProvisionServerCandidates ¶ added in v0.59.0
func ProvisionServerCandidates(ctx context.Context, original Config, candidates []ProvisioningCandidate, provisioner ServerProvisioner, logf func(string, ...any)) (Server, Config, error)
func PruneArchiveSyncManifestCommand ¶ added in v0.47.0
PruneArchiveSyncManifestCommand preserves remote-only files while pruning the previous archive manifest with the same path checks as Git overlay sync.
func PublicKeyFor ¶ added in v0.41.1
func ReadFixedAttempt ¶ added in v0.65.0
func ReadFixedAttempt[T any](intent *FixedCreateIntent, format FixedAttemptFormat) (*T, error)
func ReadLeaseClaim ¶ added in v0.6.0
func ReadLeaseClaimWithPresence ¶ added in v0.29.0
Published claim files are immutable snapshots. Reads never take the operation lock; guarded actions must reread and validate their snapshot under that lock.
func ReconcileFixedReadiness ¶ added in v0.65.0
func ReconcileFixedReadiness(p FixedReadinessRecovery) (bool, error)
func RecordFixedWitness ¶ added in v0.65.0
func RecordFixedWitness(claim *LeaseClaim, key, value string, persist func() error) error
RecordFixedWitness stores a native acknowledgement without allowing a known witness to be retargeted. The owning transaction supplies the journal fence.
func RecordProviderFlagInputs ¶ added in v0.56.0
RecordProviderFlagInputs records accepted settings for the named canonical providers. Shared configuration owners name each affected provider explicitly. Calling this for a selected provider or an ignored flag is not acceptance.
func RecordProviderFlagIntents ¶ added in v0.56.0
RecordProviderFlagIntents records explicitness effects that can apply without an accepted value. A raw flag visit alone does not establish such an effect.
func RedactDiagnosticSecrets ¶ added in v0.36.0
RedactDiagnosticSecrets removes credentials from untrusted diagnostic text while preserving non-secret routing and failure context.
func RedactKnownFailureBody ¶ added in v0.19.0
func RefreshAuthorizedForkReleaseClaim ¶ added in v0.80.0
RefreshAuthorizedForkReleaseClaim confirms the persisted claim still exactly matches the carried acquisition/run snapshot (owner + revision generation). Authorized successors (for example run --keep) must be carried into the snapshot before release via carryReleaseClaim; this refresh never adopts a different revision. ClaimedAt is not used: it is whole-second RFC3339, so a same-second reclaim could collide and let stale cleanup adopt a replacement generation. A replaced, revoked, reclaimed, or ABA claim fails closed. A missing claim leaves the carried snapshot unchanged so the provider ReleaseLease claim check decides (AWS/Hetzner refuse destructive release without an exact local claim).
func RefreshGuestLeaseExpiry ¶ added in v0.76.0
func RefreshGuestLeaseExpiry(ctx context.Context, target SSHTarget, fields GuestLeaseExpiryFields) error
RefreshGuestLeaseExpiry is the extension hook for file-backed providers. It uses the existing authenticated SSH transport; the old deadline remains intact on failed writes, and readers see either complete version.
func RegisterProvider ¶ added in v0.6.0
func RegisterProvider(provider Provider)
func RegisteredProviderNames ¶ added in v0.34.0
func RegisteredProviderNames() []string
RegisteredProviderNames returns the canonical names of every registered provider.
func RejectDelegatedSyncOptionsForSpec ¶ added in v0.13.0
func RejectDelegatedSyncOptionsForSpec(spec ProviderSpec, req RunRequest) error
func RemoteJoin ¶ added in v0.6.0
func RemoveExternalRouting ¶ added in v0.26.1
func RemoveExternalRouting(leaseID string)
func RemoveExternalRoutingIfUnchanged ¶ added in v0.31.0
func RemoveExternalRoutingIfUnchanged(leaseID string, expected ExternalConfig) error
RemoveExternalRoutingIfUnchanged removes only the exact routing record used for the confirmed absence check, including its Desktop credential route.
func RemoveLeaseClaim ¶ added in v0.6.0
func RemoveLeaseClaim(leaseID string)
func RemoveLeaseClaimIfUnchanged ¶ added in v0.29.0
func RemoveLeaseClaimIfUnchangedAfter ¶ added in v0.36.0
func RemoveLeaseClaimIfUnchangedAfter(leaseID string, expected leaseClaim, action func() error) error
RemoveLeaseClaimIfUnchangedAfter holds the claim lock across action and removes the claim only when it still matches expected.
func RemoveStoredTestboxConnectionArtifacts ¶ added in v0.48.0
RemoveStoredTestboxConnectionArtifacts closes lease-owned SSH masters and removes canonical credentials.
func RemoveStoredTestboxConnectionArtifactsContext ¶ added in v0.81.0
func RemoveStoredTestboxKey ¶ added in v0.6.0
func RemoveStoredTestboxKey(leaseID string)
func RenderTailscaleHostname ¶ added in v0.29.0
func ReplaceLeaseClaimEndpointIfUnchangedAction ¶ added in v0.45.0
func ReplaceLeaseClaimEndpointIfUnchangedWithProviderMetadata ¶ added in v0.30.0
func ReplaceLeaseClaimIfUnchanged ¶ added in v0.29.0
func ReplaceLeaseClaimIfUnchangedDurableAfter ¶ added in v0.41.1
func ReplaceLeaseClaimIfUnchangedDurableReturning ¶ added in v0.40.0
func ReplaceLeaseClaimIfUnchangedDurableReturningContext ¶ added in v0.58.0
func ReplaceLeaseClaimIfUnchangedDurableReturningContext(ctx context.Context, leaseID string, current, replacement leaseClaim) (leaseClaim, error)
ReplaceLeaseClaimIfUnchangedDurableReturningContext also bounds waiting for the claim fence. Existing context-free replacement APIs remain detached.
func ReserveParallelsHostCapacity ¶ added in v0.64.0
func ReserveParallelsHostCapacity(ctx context.Context, cfg Config, runner CommandRunner, source string) (func(), error)
ReserveParallelsHostCapacity holds the capacity reservation for one already chosen host, without re-running fleet selection. A fixed lease is pinned to the host recorded in its durable intent and must never be moved to another one, so it reserves that host alone rather than shopping the fleet.
func ResolveInheritedWorkRoot ¶ added in v0.54.0
ResolveInheritedWorkRoot preserves a raw nonempty provider root, otherwise inheriting a non-default generic root or using the caller's fallback.
func ResolveLeaseClaim ¶ added in v0.6.0
func ResolveLeaseClaimAfterActionIfUnchanged ¶ added in v0.40.0
func ResolveLeaseClaimContext ¶ added in v0.71.0
func ResolveLeaseClaimForProvider ¶ added in v0.12.0
func ResolveLeaseClaimForProviderCloudID ¶ added in v0.29.0
func ResolveLeaseClaimForProviderCloudIDScope ¶ added in v0.37.0
func ResolveLeaseClaimForProviderCloudIDScopeContext ¶ added in v0.71.0
func ResolveLeaseClaimForProviderContext ¶ added in v0.71.0
func ResolveLeaseClaimForProviderScopeWithExact ¶ added in v0.37.0
func ResolveLeaseClaimForProviderScopeWithExactContext ¶ added in v0.71.0
func ResolveLeaseClaimForProviderWithExact ¶ added in v0.29.0
func ResolveLeaseClaimForProviderWithExactContext ¶ added in v0.71.0
func ResolveParallelsVM ¶ added in v0.17.0
func ResolveParallelsVM(ctx context.Context, cfg Config, runner CommandRunner, id string) (Config, ParallelsVM, error)
func RestoreLeaseClaimIfUnchanged ¶ added in v0.29.0
func RoutingSafeURL ¶ added in v0.47.0
RoutingSafeURL excludes credentials while retaining non-secret endpoint routing.
func RunEgressClient ¶ added in v0.77.0
func RunEgressClient(ctx context.Context, args []string, stdin io.Reader, stdout, stderr io.Writer) error
RunEgressClient is the runtime pack's restricted client entrypoint.
func RunSSHOutput ¶ added in v0.33.0
RunSSHOutput runs remote on target and returns its trimmed stdout. It is the exported entry point for provider backends (e.g. the Phala TDX attestation fetch) that need to capture a remote command's stdout rather than merely asserting it succeeded.
func RunSSHOutputBounded ¶ added in v0.48.0
func RunSSHOutputBounded(ctx context.Context, target SSHTarget, remote string, maxBytes int) (string, error)
RunSSHOutputBounded uses the normal trusted transport and target wrappers, retaining at most maxBytes of stdout. The caller supplies a deadline. An empty non-nil FallbackPorts pins a previously resolved endpoint, as in other helpers. Neither remote stdout nor stderr is included in errors.
func RunSSHOutputBoundedWithExecutionTimeout ¶ added in v0.60.0
func RunSSHOutputBoundedWithExecutionTimeout(ctx context.Context, target SSHTarget, remote string, maxBytes int, executionTimeout time.Duration) (string, error)
RunSSHOutputBoundedWithExecutionTimeout lets the transport account for setup and cleanup around a positive execution allowance. Caller deadlines still win.
func RunSSHQuiet ¶ added in v0.17.0
func SameHTTPOrigin ¶ added in v0.58.0
SameHTTPOrigin compares scheme, hostname, and effective port. Callers retain URL admission and any redirect restrictions beyond origin equality.
func ScalewayImageWasExplicit ¶ added in v0.33.0
func ScalewayRegionWasExplicit ¶ added in v0.33.0
func ScalewayTypeWasExplicit ¶ added in v0.33.0
func ScalewayZoneWasExplicit ¶ added in v0.33.0
func SecureCreatedLeaseSSHFile ¶ added in v0.58.0
SecureCreatedLeaseSSHFile is only for a newly created, caller-owned handle. Reuse must pass nonmutating admission instead of repairing existing keys.
func SelectFixedCandidate ¶ added in v0.65.0
func SelectFixedCandidate[T any](kind FixedLeaseKind, leaseID string, items []T, match func(T) bool) (T, bool, error)
SelectFixedCandidate classifies a complete native candidate set. Match must include suspicious identities; attestation happens only after cardinality.
func SelectProofLogExcerpt ¶ added in v0.17.1
func ServerProviderKey ¶ added in v0.19.0
func ServerSlug ¶ added in v0.6.0
func ServerTypeForProviderClass ¶ added in v0.6.0
func SessionDiskExecutionDeadline ¶ added in v0.80.0
SessionDiskExecutionDeadline admits work only in an already authorized window. Neither observation, activity nor a heartbeat can open another one.
func SessionDiskWindowDeadline ¶ added in v0.80.0
SessionDiskWindowDeadline also gates preparation of the original allocation.
func SetExternalRoutingArchitecture ¶ added in v0.39.0
func SetExternalRoutingArchitecture(cfg *ExternalConfig, architecture string)
func SetExternalRoutingTarget ¶ added in v0.39.0
func SetExternalRoutingTarget(cfg *ExternalConfig, targetOS, windowsMode string)
func SetGCPProjectExplicit ¶ added in v0.19.0
func SetLeaseClaimResourceIdentity ¶ added in v0.58.0
func SetLeaseClaimResourceIdentity(claim *LeaseClaim, cloudID string, numericID int64, immutableID string, evidence *ImageEvidence)
SetLeaseClaimResourceIdentity updates an in-memory claim's exact resource identity. Callers retain their existing publication and identity-admission policy.
func SetOSImageExplicit ¶ added in v0.31.0
func SetOSImageExplicit(cfg *Config)
func SetOVHImageExplicit ¶ added in v0.31.0
func SetOVHImageExplicit(cfg *Config)
func SetScalewayImageExplicit ¶ added in v0.33.0
func SetScalewayImageExplicit(cfg *Config)
func SetScalewayRegionExplicit ¶ added in v0.33.0
func SetScalewayRegionExplicit(cfg *Config)
func SetScalewayTypeExplicit ¶ added in v0.33.0
func SetScalewayTypeExplicit(cfg *Config)
func SetScalewayZoneExplicit ¶ added in v0.33.0
func SetScalewayZoneExplicit(cfg *Config)
func SetServerLeaseClaimSnapshot ¶ added in v0.37.0
func SetServerLeaseClaimSnapshot(server *Server, claim LeaseClaim, exists bool)
SetServerLeaseClaimSnapshot carries the exact claim state that authorized a provider result into a later lifecycle operation.
func SetTencentCloudImageExplicit ¶ added in v0.34.0
func SetTencentCloudImageExplicit(cfg *Config)
func SetTencentCloudRegionExplicit ¶ added in v0.34.0
func SetTencentCloudRegionExplicit(cfg *Config)
func SetTencentCloudTypeExplicit ¶ added in v0.34.0
func SetTencentCloudTypeExplicit(cfg *Config)
func SetTencentCloudZoneExplicit ¶ added in v0.34.0
func SetTencentCloudZoneExplicit(cfg *Config)
func ShellQuote ¶ added in v0.6.0
func ShellScriptFromArgv ¶ added in v0.6.0
func ShellWords ¶ added in v0.6.0
func ShouldCleanupServer ¶ added in v0.6.0
func ShouldUseCoordinator ¶ added in v0.49.0
func ShouldUseCoordinator(cfg Config, spec ProviderSpec) bool
ShouldUseCoordinator reports whether provider allocations use the coordinator. Registered mode keeps allocation with the direct provider.
func SleepContext ¶ added in v0.58.0
SleepContext waits for delay and preserves ctx.Err as the cancellation result.
func SlugWithCollisionSuffix ¶ added in v0.26.1
func StoredTestboxKeyPath ¶ added in v0.58.0
StoredTestboxKeyPath admits existing material in an explicitly selected root. A missing key retains its calculated path for callers' existing diagnostics.
func SummarizeJSON ¶ added in v0.6.0
func TencentCloudImageWasExplicit ¶ added in v0.34.0
func TencentCloudRegionWasExplicit ¶ added in v0.34.0
func TencentCloudTypeWasExplicit ¶ added in v0.34.0
func TencentCloudZoneWasExplicit ¶ added in v0.34.0
func TestboxKeyPath ¶ added in v0.6.0
func TouchDirectLeaseLabels ¶ added in v0.6.0
func TouchDirectLeaseLabelsWithIdleTimeoutOverride ¶ added in v0.44.0
func TrackLocalCommandCancellation ¶ added in v0.50.0
TrackLocalCommandCancellation records the caller cause for a signaled child stopped by the cancellation watcher. Install it after configuring cmd.Cancel, before starting a CommandContext command. Apply the returned function only after Run or Wait joins that watcher; ordinary observed exits stay primary.
func UpdateLeaseClaimCacheVolumes ¶ added in v0.24.0
func UpdateLeaseClaimEndpoint ¶ added in v0.26.0
func UpdateLeaseClaimEndpointIfUnchanged ¶ added in v0.29.0
func UpdateLeaseClaimEndpointIfUnchangedAction ¶ added in v0.40.0
func UpdateLeaseClaimEndpointIfUnchangedAfter ¶ added in v0.29.0
func UpdateLeaseClaimEndpointIfUnchangedAfter(leaseID string, expected leaseClaim, server Server, target SSHTarget, action func() error) (leaseClaim, error)
UpdateLeaseClaimEndpointIfUnchangedAfter holds the claim lock while action runs, then updates the endpoint only if the claim still matches expected.
func UpdateLeaseClaimEndpointIfUnchangedWithProviderMetadata ¶ added in v0.29.0
func UpdateLeaseClaimLabelsAndLastUsedIfUnchanged ¶ added in v0.40.0
func UpdateLeaseClaimLabelsIfUnchanged ¶ added in v0.29.0
func UpdateLeaseClaimLabelsIfUnchangedAfter ¶ added in v0.35.0
func UpdateLeaseClaimTailscale ¶ added in v0.29.0
UpdateLeaseClaimTailscale records a tailnet endpoint (IPv4 and/or FQDN) on an existing claim. Used by delegated-run providers that join the tailnet out-of-band rather than through a Crabbox-managed SSH lease. Delegated-run providers (e.g. islo) have no SSH lease and so cannot go through updateLeaseClaimEndpoint; they call this after joining the tailnet out-of-band so health, ACL, and pond discovery can report enrollment.
func UpdateLeaseClaimTailscaleSettings ¶ added in v0.29.0
func UpdateLeaseClaimTouchIfUnchanged ¶ added in v0.44.0
func UpdateLeaseClaimTouchIfUnchanged(ctx context.Context, leaseID string, expected leaseClaim, labels map[string]string, lastUsed time.Time, idleTimeoutOverride *time.Duration) (leaseClaim, error)
UpdateLeaseClaimTouchIfUnchanged atomically commits touched lifecycle labels, last-use time, and an explicitly requested idle-timeout replacement.
func UpdateLeaseClaimTouchIfUnchangedAction ¶ added in v0.47.0
func UpdateLeaseClaimTouchIfUnchangedAction(ctx context.Context, leaseID string, expected LeaseClaim, lastUsed time.Time, idleTimeoutOverride *time.Duration, action func() (Server, SSHTarget, bool, error)) (LeaseClaim, Server, SSHTarget, error)
UpdateLeaseClaimTouchIfUnchangedAction fences a provider mutation and commits its endpoint, lifecycle timestamps, and optional timeout in one claim write.
func UseLeaseKnownHosts ¶ added in v0.37.0
func UseStoredTestboxKey ¶ added in v0.29.0
func ValidCrabboxProviderKey ¶ added in v0.19.0
func ValidShellEnvName ¶ added in v0.58.0
ValidShellEnvName accepts portable ASCII shell environment identifiers without trimming. Callers own whether an invalid name is rejected or omitted.
func ValidateAWSFixedAttemptAttestation ¶ added in v0.41.1
func ValidateAWSFixedAttemptAttestation(labels map[string]string, attempt AWSLaunchAttempt) error
func ValidateAzureOwnedVM ¶ added in v0.49.1
ValidateAzureOwnedVM compares an observation with a frozen VM generation and ownership binding. It does not authorize name-addressed mutations by itself.
func ValidateAzureSSHCIDRsForAcquire ¶ added in v0.28.0
func ValidateAzureVMUserAssignedIdentity ¶ added in v0.67.0
ValidateAzureVMUserAssignedIdentity checks the ARM VM identity field, not a user-controlled tag or a stale lease claim.
func ValidateCacheVolumesForProvider ¶ added in v0.34.0
ValidateCacheVolumesForProvider checks provider support for configured cache volumes.
func ValidateCheckpointCaptureClaim ¶ added in v0.48.0
func ValidateCheckpointCaptureClaim(claim LeaseClaim, id string, capture *NativeCheckpointCapture) error
ValidateCheckpointCaptureClaim checks the journal binding, not remote metadata. The provider still must freshly attest the native resource before each effect.
func ValidateExternalDesktopPasswordEnvironmentName ¶ added in v0.39.0
ValidateExternalDesktopPasswordEnvironmentName rejects names Crabbox, its runtime loader, or its HTTP stack consume for another security-sensitive purpose. Reusing one value as both an ARD password and process metadata would leak the desktop secret before child-process environment scrubbing can apply.
func ValidateExternalProviderSSHOutput ¶ added in v0.37.0
ValidateExternalProviderSSHOutput requires a trusted, source-bound contract before adapter output may supply SSH coordinates directly.
func ValidateFixedClaim ¶ added in v0.65.0
func ValidateFixedClaim(c LeaseClaim, r FixedClaimRules) error
func ValidateFixedLocalClaimUniqueness ¶ added in v0.65.0
func ValidateFixedLocalClaimUniqueness(kind FixedLeaseKind, claim LeaseClaim, providers ...string) error
ValidateFixedLocalClaimUniqueness rejects another local owner, including an owner with unknown scope. A terminal record no longer owns a live resource.
func ValidateLeaseTargetProviderIdentity ¶ added in v0.31.0
func ValidateLeaseTargetProviderIdentity(lease LeaseTarget, expected ProviderIdentityExpectation) error
ValidateLeaseTargetProviderIdentity rejects any resolved release target that does not satisfy every non-empty identity persisted by the controller.
func ValidateLocalCommandProcessGroupJoin ¶ added in v0.55.0
ValidateLocalCommandProcessGroupJoin permits only a standalone group whose owner can terminate and join it without killing an enclosing controller.
func ValidateManagedStateTransferScope ¶ added in v0.58.0
ValidateManagedStateTransferScope is for transports that cannot exclude a subtree. Empty/unset XDG_STATE_HOME preserves their existing behavior.
func ValidateNativeCredentialDestination ¶ added in v0.33.0
ValidateNativeCredentialDestination is called only when a provider is about to use credentials from its native CLI store.
func ValidateProviderCredentialDestination ¶ added in v0.37.0
ValidateProviderCredentialDestination enforces source-bound credential routing for provider entry points that can load configuration after the normal CLI validation phase.
func ValidateProviderIdentityExpectation ¶ added in v0.31.0
func ValidateProviderIdentityExpectation(i ProviderIdentityExpectation) error
func ValidateRequiredRunArtifactGlobs ¶ added in v0.26.1
func ValidateRetentionLifecycleRequest ¶ added in v0.80.0
func ValidateRetentionLifecycleRequest(claim LeaseClaim, req RetentionLifecycleRequest, action string) error
ValidateRetentionLifecycleRequest runs before transient activity cancellation; an obsolete or mismatched caller must not interrupt the current owner.
func ValidateRunArtifactGlobs ¶ added in v0.26.1
func ValidateRunSessionFeatureSpec ¶ added in v0.44.0
func ValidateRunSessionFeatureSpec(spec ProviderSpec) error
func ValidateRunSessionForSpec ¶ added in v0.34.0
func ValidateRunSessionForSpec(spec ProviderSpec, result RunResult) error
func ValidateSessionDiskRetentionClaim ¶ added in v0.80.0
func ValidateSessionDiskRetentionClaim(claim LeaseClaim) error
ValidateSessionDiskRetentionClaim is also used by read-only provider status.
func VerifyClaimResourceAbsence ¶ added in v0.64.0
func VerifyClaimResourceAbsence(ctx context.Context, verifier AbsenceVerifier, claim LeaseClaim) (bool, error)
VerifyClaimResourceAbsence does not change local state. Callers that finalize a claim must use ForgetAbsentLeaseClaim to recheck under its exclusive fence.
func VerifyLeaseClaimUnchanged ¶ added in v0.36.0
func WaitForManagedWindowsLoopbackVNC ¶ added in v0.81.0
func WaitForSSH ¶ added in v0.6.0
func WaitForSSHReady ¶ added in v0.6.0
func WindowsBootstrapPowerShell ¶ added in v0.29.0
func WindowsBrowserProbePowerShell ¶ added in v0.81.0
func WindowsBrowserProbePowerShell() string
func WindowsNodeBaselinePowerShell ¶ added in v0.81.0
func WindowsNodeBaselinePowerShell() string
WindowsNodeBaselinePowerShell installs and verifies the shared native Windows Node/npm baseline (the same recipe the generic Windows bootstrap runs).
func WithCheckpointReadinessLifetime ¶ added in v0.83.0
WithCheckpointReadinessLifetime supplies recorded lifetime metadata to the existing bootstrap wait. It is inert outside a fixed checkpoint invocation.
func WithDurableLeaseClaimLock ¶ added in v0.41.1
func WithDurableLeaseClaimLock(leaseID string, action func(*leaseClaim, bool, func() error) error) error
WithDurableLeaseClaimLock serializes a provider operation on the existing claim lock and exposes explicit durable checkpoints before side effects.
func WithDurableLeaseClaimLockContext ¶ added in v0.48.0
func WithDurableLeaseClaimLockContext(ctx context.Context, leaseID string, action func(*leaseClaim, bool, func() error) error) error
WithDurableLeaseClaimLockContext also bounds lock acquisition. The action must honor ctx itself and must not reenter claim operations for this ID.
func WithLeaseClaimUnchanged ¶ added in v0.40.0
func WithLeaseClaimUnchangedContext ¶ added in v0.51.0
func WithLeaseClaimUnchangedContext(ctx context.Context, leaseID string, expected LeaseClaim, action func() error) error
WithLeaseClaimUnchangedContext also bounds waiting for the exclusive fence. The action must honor ctx itself and must not reenter claim operations.
func WithLeaseClaimUnchangedShared ¶ added in v0.48.0
func WithLeaseClaimUnchangedShared(ctx context.Context, leaseID string, expected LeaseClaim, action func() error) error
WithLeaseClaimUnchangedShared excludes claim writers while allowing another action on the same snapshot, such as cancelling a running command. Actions must tolerate that concurrency, honor ctx and never mutate or reenter claims.
func WriteFixedAttempt ¶ added in v0.65.0
func WriteFixedAttempt(intent *FixedCreateIntent, key string, value any, persist func() error) error
func WritePreparedLeaseSSHKeyFile ¶ added in v0.58.0
WritePreparedLeaseSSHKeyFile preserves the provider's direct write policy, but admits the opened handle before truncating or writing private bytes.
func WriteTimingJSON ¶ added in v0.6.0
func WriteTimingJSON(w io.Writer, report TimingReport) error
func XfceDesktopSessionScript ¶ added in v0.57.0
func XfceDesktopSessionScript() string
func XfceDesktopThemeScript ¶ added in v0.57.0
func XfceDesktopThemeScript() string
func XfceSessionEnvironmentScript ¶ added in v0.57.0
func XfceSessionEnvironmentScript() string
Types ¶
type AWSAcquireStateError ¶ added in v0.72.0
AWSAcquireStateError reports an instance that cannot finish acquiring.
func (*AWSAcquireStateError) Error ¶ added in v0.72.0
func (e *AWSAcquireStateError) Error() string
type AWSClient ¶
type AWSClient struct {
// contains filtered or unexported fields
}
func NewAWSClient ¶ added in v0.6.0
func (*AWSClient) CallerAccountID ¶ added in v0.16.0
func (*AWSClient) CapacityDoctorChecks ¶ added in v0.19.0
func (c *AWSClient) CapacityDoctorChecks(ctx context.Context, cfg Config) []DoctorCheck
func (*AWSClient) CheckAcquireState ¶ added in v0.72.0
func (*AWSClient) CreateImageCheckpoint ¶ added in v0.16.0
func (*AWSClient) CreateServerWithFallback ¶
func (*AWSClient) CreateServerWithFallbackControl ¶ added in v0.41.1
func (*AWSClient) DeleteCleanupSSHKeyID ¶ added in v0.36.0
func (*AWSClient) DeleteImageCheckpoint ¶ added in v0.16.0
func (*AWSClient) DeleteServer ¶
func (*AWSClient) EnsureSSHKey ¶
func (*AWSClient) GetImageCheckpoint ¶ added in v0.16.0
func (*AWSClient) GuardAccount ¶ added in v0.16.0
func (*AWSClient) ListCrabboxServers ¶
func (*AWSClient) ResolveCleanupSSHKeyID ¶ added in v0.36.0
func (*AWSClient) SpotPlacementScores ¶
func (*AWSClient) ValidateImageCheckpointSource ¶ added in v0.16.0
type AWSFixedCreateControl ¶ added in v0.41.1
type AWSFixedCreateControl struct {
CreatedAt time.Time
IntentFingerprint string
AccountID string
KeyPairID string
PinnedAttempt *AWSLaunchAttempt
FailedTokens map[string]bool
TerminalRejection bool
BeforeAttempt func(AWSLaunchAttempt) error
DefiniteFailure func(AWSLaunchAttempt) error
}
type AWSLambdaMicroVMConfig ¶ added in v0.34.0
type AWSLambdaMicroVMConfig struct {
Image string `` /* 210-byte string literal not displayed */
ImageVersion string `` /* 261-byte string literal not displayed */
ExecutionRoleARN string `` /* 254-byte string literal not displayed */
Workdir string `` /* 244-byte string literal not displayed */
IngressConnectors []string `` /* 255-byte string literal not displayed */
EgressConnectors []string `` /* 251-byte string literal not displayed */
ForgetMissing bool `` /* 202-byte string literal not displayed */
}
AWSLambdaMicroVMConfig owns the seven provider bindings; AWSRegion stays flat.
func (*AWSLambdaMicroVMConfig) NormalizeAppliedFlags ¶ added in v0.56.0
func (cfg *AWSLambdaMicroVMConfig) NormalizeAppliedFlags(applied AWSLambdaMicroVMConfigApplied)
NormalizeAppliedFlags must not be used for raw file or environment overlays.
type AWSLambdaMicroVMConfigApplied ¶ added in v0.56.0
type AWSLambdaMicroVMConfigApplied struct {
InputAccepted bool
Image bool
ImageVersion bool
ExecutionRoleARN bool
Workdir bool
}
AWSLambdaMicroVMConfigApplied records accepted assignments during one application.
type AWSLambdaMicroVMConfigFlagValues ¶ added in v0.56.0
type AWSLambdaMicroVMConfigFlagValues struct {
Image *string
ImageVersion *string
ExecutionRoleARN *string
Workdir *string
IngressConnectors *string
EgressConnectors *string
ForgetMissing *bool
}
AWSLambdaMicroVMConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterAWSLambdaMicroVMConfigFlags ¶ added in v0.56.0
func RegisterAWSLambdaMicroVMConfigFlags(fs *flag.FlagSet, defaults AWSLambdaMicroVMConfig) AWSLambdaMicroVMConfigFlagValues
RegisterAWSLambdaMicroVMConfigFlags registers mechanical bindings without selecting a provider.
func (AWSLambdaMicroVMConfigFlagValues) Apply ¶ added in v0.56.0
func (values AWSLambdaMicroVMConfigFlagValues) Apply(cfg *AWSLambdaMicroVMConfig, fs *flag.FlagSet) (AWSLambdaMicroVMConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type AWSLambdaMicroVMConfigVisitedFlags ¶ added in v0.56.0
type AWSLambdaMicroVMConfigVisitedFlags struct {
Image bool
ImageVersion bool
ExecutionRoleARN bool
Workdir bool
}
AWSLambdaMicroVMConfigVisitedFlags records raw flag visits, independently of application.
func AWSLambdaMicroVMConfigFlagPresence ¶ added in v0.56.0
func AWSLambdaMicroVMConfigFlagPresence(fs *flag.FlagSet) AWSLambdaMicroVMConfigVisitedFlags
AWSLambdaMicroVMConfigFlagPresence reports visits for tracked flag bindings.
type AWSLaunchAttempt ¶ added in v0.41.1
type AWSLaunchAttempt struct {
Region string `json:"region"`
AvailabilityZone string `json:"availabilityZone,omitempty"`
SubnetID string `json:"subnetID,omitempty"`
ServerType string `json:"serverType"`
Market string `json:"market"`
ImageID string `json:"imageID"`
SecurityGroupID string `json:"securityGroupID"`
HostID string `json:"hostID,omitempty"`
KeyPairID string `json:"keyPairID,omitempty"`
ClientToken string `json:"clientToken"`
ParametersSHA256 string `json:"parametersSHA256"`
}
type AbsenceEvidence ¶ added in v0.64.0
type AbsenceEvidence struct {
Claim LeaseClaim
ExactNotFound bool
InventoryComplete bool
// PendingCreateAbsent attests that the original, unbound create intent has
// no matching resource in complete inventory in its authenticated scope.
PendingCreateAbsent bool
}
AbsenceEvidence binds proof to the entire claim, including its revision and immutable resource identity. Zero evidence means the resource is observable.
type AbsenceVerifier ¶ added in v0.64.0
type AbsenceVerifier interface {
VerifyResourceAbsent(context.Context, LeaseClaim) (AbsenceEvidence, error)
}
AbsenceVerifier only observes the exact bound resource. It must attest the claim's scope/account and complete unfiltered inventory absence wherever listing is supported. Bound resources also require exact structured not-found; unbound creates require explicit pending-intent absence proof.
type AbsenceVerifierFunc ¶ added in v0.64.0
type AbsenceVerifierFunc func(context.Context, LeaseClaim) (AbsenceEvidence, error)
func (AbsenceVerifierFunc) VerifyResourceAbsent ¶ added in v0.64.0
func (f AbsenceVerifierFunc) VerifyResourceAbsent(ctx context.Context, claim LeaseClaim) (AbsenceEvidence, error)
type AccessConfig ¶ added in v0.3.0
type AcquireRequest ¶ added in v0.6.0
type AcquireRequest struct {
Repo Repo
Options LeaseOptions
Keep bool
Reclaim bool
RequestedLeaseID string
RequestedCheckpointID string
// Native source identity remains available at the allocation owner, which can
// distinguish a fresh fork from replay of an already allocated resource.
CheckpointSource *NativeCheckpointForkRecord
RequestedSlug string
// OnAcquired observes a fully validated raw provider identity before local
// routing, readiness, or claim side effects. Returning an error requires the
// provider adapter to roll back the acquired resource.
OnAcquired func(LeaseTarget) error
}
type ActionsConfig ¶
type ActionsConfig struct {
ActionsWorkflowConfig `yaml:",inline"`
RunnerLabels []string
RunnerVersion string
Ephemeral bool
}
type ActionsRunnerBinding ¶ added in v0.82.0
type ActionsRunnerBinding struct {
Scope string `json:"scope"`
RunnerID int64 `json:"runnerID"`
Name string `json:"name"`
Group string `json:"group,omitempty"`
Ephemeral bool `json:"ephemeral"`
LeaseFingerprint string `json:"leaseFingerprint"`
}
ActionsRunnerBinding records ownership, not active status. Keep it after unregister so a consumed runner's guest configuration can be reconciled. GitHub is authoritative for whether the exact registration still exists.
type ActionsWorkflowConfig ¶ added in v0.62.0
type ActionsWorkflowConfig struct {
Repo string `yaml:"repo,omitempty"`
Workflow string `yaml:"workflow,omitempty"`
Job string `yaml:"job,omitempty"`
Ref string `yaml:"ref,omitempty"`
Fields []string `yaml:"fields,omitempty"`
}
ActionsWorkflowConfig is the shared workflow selection and configured-input record.
type ActionsWorkspaceBinding ¶ added in v0.69.0
type AgentSandboxConfig ¶ added in v0.31.0
type AgentSandboxConfig struct {
Kubectl string `` /* 196-byte string literal not displayed */
Kubeconfig string `` /* 212-byte string literal not displayed */
Context string `` /* 174-byte string literal not displayed */
Namespace string `` /* 200-byte string literal not displayed */
WarmPool string `` /* 195-byte string literal not displayed */
Container string `` /* 228-byte string literal not displayed */
Workdir string `` /* 230-byte string literal not displayed */
SandboxReadyTimeout time.Duration `` /* 259-byte string literal not displayed */
PodReadyTimeout time.Duration `` /* 238-byte string literal not displayed */
ExecTimeoutSecs int `` /* 232-byte string literal not displayed */
DeleteOnRelease bool `` /* 216-byte string literal not displayed */
ForgetMissing bool `` /* 202-byte string literal not displayed */
}
AgentSandboxConfig owns mechanical bindings; path expansion and markers stay explicit.
func (*AgentSandboxConfig) ExpandAppliedLocalPaths ¶ added in v0.56.0
func (cfg *AgentSandboxConfig) ExpandAppliedLocalPaths(applied AgentSandboxConfigApplied)
ExpandAppliedLocalPaths also consumes partial reports when a later field fails.
type AgentSandboxConfigApplied ¶ added in v0.56.0
AgentSandboxConfigApplied records accepted assignments during one application.
type AgentSandboxConfigFlagValues ¶ added in v0.56.0
type AgentSandboxConfigFlagValues struct {
Kubectl *string
Kubeconfig *string
Context *string
Namespace *string
WarmPool *string
Container *string
Workdir *string
SandboxReadyTimeout *time.Duration
PodReadyTimeout *time.Duration
ExecTimeoutSecs *int
DeleteOnRelease *bool
ForgetMissing *bool
}
AgentSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterAgentSandboxConfigFlags ¶ added in v0.56.0
func RegisterAgentSandboxConfigFlags(fs *flag.FlagSet, defaults AgentSandboxConfig) AgentSandboxConfigFlagValues
RegisterAgentSandboxConfigFlags registers mechanical bindings without selecting a provider.
func (AgentSandboxConfigFlagValues) Apply ¶ added in v0.56.0
func (values AgentSandboxConfigFlagValues) Apply(cfg *AgentSandboxConfig, fs *flag.FlagSet) (AgentSandboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type AgentSandboxConfigVisitedFlags ¶ added in v0.56.0
AgentSandboxConfigVisitedFlags records raw flag visits, independently of application.
func AgentSandboxConfigFlagPresence ¶ added in v0.56.0
func AgentSandboxConfigFlagPresence(fs *flag.FlagSet) AgentSandboxConfigVisitedFlags
AgentSandboxConfigFlagPresence reports visits for tracked flag bindings.
type AnthropicSRTConfig ¶ added in v0.29.0
type AnthropicSRTConfig struct {
CLIPath string `` /* 217-byte string literal not displayed */
Settings string `` /* 225-byte string literal not displayed */
Debug bool `` /* 163-byte string literal not displayed */
}
AnthropicSRTConfig describes mechanical bindings for the local SRT provider. Native settings validation and sandbox policy remain owned by SRT.
type AnthropicSRTConfigApplied ¶ added in v0.56.0
type AnthropicSRTConfigApplied struct {
InputAccepted bool
}
AnthropicSRTConfigApplied records accepted assignments during one application.
type AnthropicSRTConfigFlagValues ¶ added in v0.54.0
AnthropicSRTConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterAnthropicSRTConfigFlags ¶ added in v0.54.0
func RegisterAnthropicSRTConfigFlags(fs *flag.FlagSet, defaults AnthropicSRTConfig) AnthropicSRTConfigFlagValues
RegisterAnthropicSRTConfigFlags registers mechanical bindings without selecting a provider.
func (AnthropicSRTConfigFlagValues) Apply ¶ added in v0.54.0
func (values AnthropicSRTConfigFlagValues) Apply(cfg *AnthropicSRTConfig, fs *flag.FlagSet) (AnthropicSRTConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type App ¶
type App struct {
Stdout io.Writer
Stderr io.Writer
Stdin io.Reader
// contains filtered or unexported fields
}
func (App) CheckpointForkReleaseBindings ¶ added in v0.80.0
func (a App) CheckpointForkReleaseBindings(server *Server, target *SSHTarget, leaseID string, coordinator *CoordinatorClient, sshBackend SSHLeaseBackend, cfg *Config) (release func(context.Context), carryReleaseClaim func(LeaseClaim))
CheckpointForkReleaseBindings builds the production release fence used by provisionCheckpointForkWithoutClaim and shard cleanup after run --keep. carryReleaseClaim installs an authorized post-run claim into *server. server, target, and cfg are read at release time so later claim updates, resolveNetworkTarget (--network tailscale), and applyResolvedServerConfig stay visible to shutdown/egress/Tailscale logout — matching the old closure.
type AppleContainerConfig ¶ added in v0.25.0
type AppleContainerConfig struct {
CLIPath string `yaml:"cliPath,omitempty"`
Image string `yaml:"image,omitempty"`
User string `yaml:"user,omitempty"`
WorkRoot string `yaml:"workRoot,omitempty"`
CPUs int `yaml:"cpus,omitempty"`
Memory string `yaml:"memory,omitempty"`
ExtraRunArgs []string `yaml:"extraRunArgs,omitempty"`
}
AppleContainerConfig is shared by the distinct Container and Machine flag surfaces.
type AppleContainerConfigApplied ¶ added in v0.55.0
AppleContainerConfigApplied reports accepted input and selective caller policy.
type AppleContainerConfigFlagValues ¶ added in v0.55.0
type AppleContainerConfigFlagValues struct {
CLIPath *string
Image *string
User *string
WorkRoot *string
CPUs *int
Memory *string
ExtraRun *string
}
AppleContainerConfigFlagValues holds the seven Container flags only.
func RegisterAppleContainerConfigFlags ¶ added in v0.55.0
func RegisterAppleContainerConfigFlags(fs *flag.FlagSet, defaults AppleContainerConfig) AppleContainerConfigFlagValues
func (AppleContainerConfigFlagValues) Apply ¶ added in v0.55.0
func (values AppleContainerConfigFlagValues) Apply(cfg *AppleContainerConfig, fs *flag.FlagSet) AppleContainerConfigApplied
type AppleMachineConfigFlagValues ¶ added in v0.55.0
AppleMachineConfigFlagValues holds Machine's separate four-flag surface.
func RegisterAppleMachineConfigFlags ¶ added in v0.55.0
func RegisterAppleMachineConfigFlags(fs *flag.FlagSet, defaults AppleContainerConfig) AppleMachineConfigFlagValues
func (AppleMachineConfigFlagValues) Apply ¶ added in v0.55.0
func (values AppleMachineConfigFlagValues) Apply(cfg *AppleContainerConfig, fs *flag.FlagSet) AppleContainerConfigApplied
type AppleVMConfig ¶ added in v0.36.0
type AppleVMConfigApplied ¶ added in v0.56.0
type AppleVMConfigApplied struct {
InputAccepted bool
}
type ArchiveWorkspace ¶ added in v0.59.0
type ArchiveWorkspace struct {
Config Config
Repo Repo
ForceSyncLarge bool
Workdir string
TempPattern string
RemoteArchiveDir string
RemoteArchivePrefix string
PhaseName string
Provider string
Stderr io.Writer
Now func() time.Time
Suffix func() string
CleanupContext func(context.Context) (context.Context, context.CancelFunc)
Upload func(context.Context, string, io.Reader) error
Exec func(context.Context, string) error
Replace func(context.Context, string, string) error
// Path admission belongs to remote operations; local preparation can precede it.
CleanWorkdir func(string) (string, error)
}
ArchiveWorkspace binds local archive preparation and remote workspace transfer to one configuration. Upload and Exec are invoked only after lease admission.
func NewArchiveWorkspace ¶ added in v0.59.0
func NewArchiveWorkspace(cfg Config, rt Runtime, req RunRequest, provider, workdir string) ArchiveWorkspace
func (ArchiveWorkspace) Ensure ¶ added in v0.59.0
func (req ArchiveWorkspace) Ensure(ctx context.Context) error
func (ArchiveWorkspace) PrepareArchive ¶ added in v0.59.0
func (req ArchiveWorkspace) PrepareArchive(ctx context.Context) (*PreparedArchive, error)
func (ArchiveWorkspace) Sync ¶ added in v0.59.0
func (req ArchiveWorkspace) Sync(ctx context.Context, prepared ...*PreparedArchive) ([]TimingPhase, time.Duration, error)
type ArtifactChangeResult ¶ added in v0.48.0
type AsciiBoxConfig ¶ added in v0.23.0
type AzureClient ¶ added in v0.8.0
type AzureClient struct {
SubscriptionID string
Location string
ResourceGroup string
VNet string
Subnet string
NSG string
SSHCIDRs []string
Network string
Image azureImageRef
SSHPort string
FallbackPorts []string
// contains filtered or unexported fields
}
func NewAzureClient ¶ added in v0.8.0
func NewAzureClient(ctx context.Context, cfg Config) (*AzureClient, error)
func (*AzureClient) CreateFixedServer ¶ added in v0.62.0
func (*AzureClient) CreateOSDiskSnapshot ¶ added in v0.34.0
func (c *AzureClient) CreateOSDiskSnapshot(ctx context.Context, vmName, snapshotName, sku string) (image NativeCheckpointImage, err error)
func (*AzureClient) CreateServerWithFallback ¶ added in v0.8.0
func (*AzureClient) DeleteCleanupServer ¶ added in v0.36.0
func (c *AzureClient) DeleteCleanupServer(ctx context.Context, expected Server, now time.Time) error
DeleteCleanupServer revalidates a cleanup candidate and every associated resource consumed by deletion at the Azure mutation boundary.
func (*AzureClient) DeleteOSDiskSnapshot ¶ added in v0.34.0
func (c *AzureClient) DeleteOSDiskSnapshot(ctx context.Context, snapshotID, expectedUniqueID string) error
func (*AzureClient) DeleteOwnedServer ¶ added in v0.37.0
func (c *AzureClient) DeleteOwnedServer(ctx context.Context, expected Server) error
DeleteOwnedServer revalidates an exact owned VM and every associated resource at the release mutation boundary. Lease expiry is intentionally irrelevant.
func (*AzureClient) DeleteServer ¶ added in v0.8.0
func (c *AzureClient) DeleteServer(ctx context.Context, name string) error
func (*AzureClient) EnsureSharedInfra ¶ added in v0.8.0
func (c *AzureClient) EnsureSharedInfra(ctx context.Context) error
func (*AzureClient) GetOSDiskSnapshot ¶ added in v0.34.0
func (c *AzureClient) GetOSDiskSnapshot(ctx context.Context, snapshotID string) (NativeCheckpointImage, error)
func (*AzureClient) LeaseClaimScope ¶ added in v0.37.0
func (c *AzureClient) LeaseClaimScope() string
LeaseClaimScope identifies the Azure account boundary used by this client.
func (*AzureClient) ListCrabboxServers ¶ added in v0.8.0
func (c *AzureClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
func (*AzureClient) PrepareCleanupRecoveryServer ¶ added in v0.73.0
func (c *AzureClient) PrepareCleanupRecoveryServer(ctx context.Context, expected Server, now time.Time) (Server, error)
PrepareCleanupRecoveryServer resumes deletion already admitted by a durable claim. Unlike initial cleanup, it may observe that the VM was deleted earlier.
func (*AzureClient) PrepareCleanupServer ¶ added in v0.37.0
func (c *AzureClient) PrepareCleanupServer(ctx context.Context, expected Server, now time.Time) (Server, error)
PrepareCleanupServer is the expiry-aware variant used by automatic cleanup.
func (*AzureClient) PrepareOwnedServer ¶ added in v0.37.0
PrepareOwnedServer captures immutable companion identities before the VM can be deleted. Callers requiring crash-resumable cleanup persist the returned labels in the exact lease claim; acquisition rollback holds them in process.
func (*AzureClient) ResourceClients ¶ added in v0.73.0
func (c *AzureClient) ResourceClients() AzureResourceClients
func (*AzureClient) WaitForServerIP ¶ added in v0.8.0
type AzureConfig ¶ added in v0.65.0
type AzureConfig struct {
Subscription string
Tenant string
ClientID string
Location string
Backend string
ResourceGroup string
Image string
Snapshot string
SnapshotSKU string
OSDisk string
OSDiskExplicit bool
OSDiskSKU string
VNet string
Subnet string
NSG string
SSHCIDRs []string
Network string
UserAssignedIdentityResourceID string
// contains filtered or unexported fields
}
AzureConfig owns Azure inputs shared by VM and dynamic-session routing. Source admission and explicit-input markers stay beside their bindings.
type AzureDynamicSessionsConfig ¶ added in v0.22.0
type AzureDynamicSessionsConfig struct {
Endpoint string `` /* 265-byte string literal not displayed */
Pool string `config:"pool" env:"CRABBOX_AZURE_DYNAMIC_SESSIONS_POOL" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
APIVersion string `` /* 264-byte string literal not displayed */
Workdir string `` /* 270-byte string literal not displayed */
TimeoutSecs int `` /* 267-byte string literal not displayed */
}
AzureDynamicSessionsConfig describes mechanical bindings for the session pool. Legacy Pool rejection and native credential validation remain operation policy.
type AzureDynamicSessionsConfigApplied ¶ added in v0.54.0
AzureDynamicSessionsConfigApplied records accepted assignments during one application.
type AzureDynamicSessionsConfigFlagValues ¶ added in v0.54.0
type AzureDynamicSessionsConfigFlagValues struct {
Endpoint *string
APIVersion *string
Workdir *string
TimeoutSecs *int
}
AzureDynamicSessionsConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterAzureDynamicSessionsConfigFlags ¶ added in v0.54.0
func RegisterAzureDynamicSessionsConfigFlags(fs *flag.FlagSet, defaults AzureDynamicSessionsConfig) AzureDynamicSessionsConfigFlagValues
RegisterAzureDynamicSessionsConfigFlags registers mechanical bindings without selecting a provider.
func (AzureDynamicSessionsConfigFlagValues) Apply ¶ added in v0.54.0
func (values AzureDynamicSessionsConfigFlagValues) Apply(cfg *AzureDynamicSessionsConfig, fs *flag.FlagSet) (AzureDynamicSessionsConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type AzureDynamicSessionsConfigVisitedFlags ¶ added in v0.54.0
type AzureDynamicSessionsConfigVisitedFlags struct {
Endpoint bool
}
AzureDynamicSessionsConfigVisitedFlags records raw flag visits, independently of application.
func AzureDynamicSessionsConfigFlagPresence ¶ added in v0.54.0
func AzureDynamicSessionsConfigFlagPresence(fs *flag.FlagSet) AzureDynamicSessionsConfigVisitedFlags
AzureDynamicSessionsConfigFlagPresence reports visits for tracked flag bindings.
type AzureFixedCompanions ¶ added in v0.73.0
type AzureFixedCompanions struct {
NICGUID, PublicIPGUID string
}
CreateFixedServer submits one candidate. Its adapter persists the attempt first and owns reconciliation; ambiguous failures must not trigger rollback. AzureFixedCompanions is the pre-VM network custody recorded in the fixed claim before the allocating VM request is sent.
type AzureResourceClients ¶ added in v0.73.0
type AzureResourceClients struct {
VirtualMachines *armcompute.VirtualMachinesClient
Interfaces *armnetwork.InterfacesClient
PublicIPs *armnetwork.PublicIPAddressesClient
Disks *armcompute.DisksClient
SecurityGroups *armnetwork.SecurityGroupsClient
}
AzureResourceClients exposes the authenticated native transport already owned by AzureClient. These handles do not confer cleanup authorization: adapters must validate the claim, identity, and current relationships before mutation.
type AzureSandboxConfig ¶ added in v0.73.0
type AzureSandboxConfig struct {
Retention string `` /* 189-byte string literal not displayed */
OwnerBinding string `` /* 199-byte string literal not displayed */
Subscription string `` /* 206-byte string literal not displayed */
ResourceGroup string `` /* 202-byte string literal not displayed */
Group string `` /* 176-byte string literal not displayed */
Region string `` /* 177-byte string literal not displayed */
ClientID string `` /* 197-byte string literal not displayed */
Disk string `` /* 190-byte string literal not displayed */
DiskID string `` /* 213-byte string literal not displayed */
SnapshotID string `` /* 218-byte string literal not displayed */
SnapshotReceipt string `` /* 246-byte string literal not displayed */
SnapshotGeneration string `` /* 260-byte string literal not displayed */
}
AzureSandboxConfig routes to an existing ACA Sandbox group. Group creation, worker identities and RBAC remain the infrastructure owner's responsibility.
type AzureSandboxConfigApplied ¶ added in v0.73.0
type AzureSandboxConfigApplied struct {
InputAccepted bool
}
AzureSandboxConfigApplied records accepted assignments during one application.
type AzureSandboxConfigFlagValues ¶ added in v0.73.0
type AzureSandboxConfigFlagValues struct {
Retention *string
OwnerBinding *string
Subscription *string
ResourceGroup *string
Group *string
Region *string
ClientID *string
Disk *string
DiskID *string
SnapshotID *string
SnapshotReceipt *string
SnapshotGeneration *string
}
AzureSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterAzureSandboxConfigFlags ¶ added in v0.73.0
func RegisterAzureSandboxConfigFlags(fs *flag.FlagSet, defaults AzureSandboxConfig) AzureSandboxConfigFlagValues
RegisterAzureSandboxConfigFlags registers mechanical bindings without selecting a provider.
func (AzureSandboxConfigFlagValues) Apply ¶ added in v0.73.0
func (values AzureSandboxConfigFlagValues) Apply(cfg *AzureSandboxConfig, fs *flag.FlagSet) (AzureSandboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type AzureVMCreateError ¶ added in v0.73.0
AzureVMCreateError is an observation from the allocating VM operation. The adapter, not the transport, decides whether its native code settles a lease.
func (*AzureVMCreateError) Error ¶ added in v0.73.0
func (e *AzureVMCreateError) Error() string
func (*AzureVMCreateError) Unwrap ¶ added in v0.73.0
func (e *AzureVMCreateError) Unwrap() error
type Backend ¶ added in v0.6.0
type Backend interface {
Spec() ProviderSpec
}
type BenchmarkRecordContext ¶ added in v0.33.0
type BenchmarkRecordContext struct {
CommandFingerprint string `json:"commandFingerprint,omitempty"`
CommandDisplay string `json:"commandDisplay,omitempty"`
RepoFingerprint string `json:"repoFingerprint,omitempty"`
RepoName string `json:"repoName,omitempty"`
RepoHead string `json:"repoHead,omitempty"`
ProviderFamily string `json:"providerFamily,omitempty"`
ProviderKind string `json:"providerKind,omitempty"`
ProviderCategory string `json:"providerCategory,omitempty"`
ColdRun *bool `json:"coldRun,omitempty"`
RepeatIndex int `json:"repeatIndex,omitempty"`
}
type BenchmarkTimingRecord ¶ added in v0.33.0
type BenchmarkTimingRecord struct {
SchemaVersion int `json:"schemaVersion"`
RecordedAt time.Time `json:"recordedAt"`
Source string `json:"source"`
Benchmark BenchmarkRecordContext `json:"benchmark"`
Timing TimingReport `json:"timing"`
}
type BlacksmithConfig ¶ added in v0.2.0
type BlacksmithConfig struct {
Org string `` /* 166-byte string literal not displayed */
Workflow string `` /* 203-byte string literal not displayed */
Job string `` /* 174-byte string literal not displayed */
Ref string `` /* 169-byte string literal not displayed */
IdleTimeout time.Duration `` /* 152-byte string literal not displayed */
Debug bool `config:"debug" env:"CRABBOX_BLACKSMITH_DEBUG" sources:"user,repo,env"`
WaitTimeout time.Duration `` /* 290-byte string literal not displayed */
}
BlacksmithConfig owns ordinary bindings; environment halves retain loader order.
type BlacksmithConfigApplied ¶ added in v0.56.0
type BlacksmithConfigApplied struct {
InputAccepted bool
}
BlacksmithConfigApplied records accepted assignments during one application.
type BlacksmithConfigFlagValues ¶ added in v0.56.0
type BlacksmithConfigFlagValues struct {
Org *string
Workflow *string
Job *string
Ref *string
WaitTimeout *string
}
BlacksmithConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterBlacksmithConfigFlags ¶ added in v0.56.0
func RegisterBlacksmithConfigFlags(fs *flag.FlagSet, defaults BlacksmithConfig) BlacksmithConfigFlagValues
RegisterBlacksmithConfigFlags registers mechanical bindings without selecting a provider.
func (BlacksmithConfigFlagValues) Apply ¶ added in v0.56.0
func (values BlacksmithConfigFlagValues) Apply(cfg *BlacksmithConfig, fs *flag.FlagSet) (BlacksmithConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type BlaxelConfig ¶ added in v0.34.0
type BlaxelConfig struct {
APIKey string `env:"CRABBOX_BLAXEL_API_KEY" envAlias:"BL_API_KEY" sources:"env"`
APIURL string `` /* 237-byte string literal not displayed */
Workspace string `` /* 199-byte string literal not displayed */
Region string `` /* 222-byte string literal not displayed */
Image string `` /* 141-byte string literal not displayed */
MemoryMB int `` /* 195-byte string literal not displayed */
TTL string `` /* 193-byte string literal not displayed */
IdleTTL string `` /* 211-byte string literal not displayed */
Workdir string `` /* 185-byte string literal not displayed */
ExecTimeoutSecs int `` /* 224-byte string literal not displayed */
ForgetMissing bool `` /* 196-byte string literal not displayed */
}
BlaxelConfig describes mechanical bindings for the delegated provider. API keys remain environment-only; endpoint and workspace files must be trusted.
type BlaxelConfigApplied ¶ added in v0.56.0
type BlaxelConfigApplied struct {
InputAccepted bool
}
BlaxelConfigApplied records accepted assignments during one application.
type BlaxelConfigFlagValues ¶ added in v0.54.0
type BlaxelConfigFlagValues struct {
APIURL *string
Workspace *string
Region *string
Image *string
MemoryMB *int
TTL *string
IdleTTL *string
Workdir *string
ExecTimeoutSecs *int
ForgetMissing *bool
}
BlaxelConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterBlaxelConfigFlags ¶ added in v0.54.0
func RegisterBlaxelConfigFlags(fs *flag.FlagSet, defaults BlaxelConfig) BlaxelConfigFlagValues
RegisterBlaxelConfigFlags registers mechanical bindings without selecting a provider.
func (BlaxelConfigFlagValues) Apply ¶ added in v0.54.0
func (values BlaxelConfigFlagValues) Apply(cfg *BlaxelConfig, fs *flag.FlagSet) (BlaxelConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type BoxdConfig ¶ added in v0.47.0
type BoxdConfig struct {
APIURL string `` /* 268-byte string literal not displayed */
GRPCURL string `` /* 242-byte string literal not displayed */
Org string `` // Empty selects the fixed personal account context.
/* 191-byte string literal not displayed */
WorkRoot string `` /* 222-byte string literal not displayed */
DeleteOnRelease bool `` /* 236-byte string literal not displayed */
}
BoxdConfig contains non-secret routing and lease settings: the TLS gRPC endpoint for lifecycle calls and the HTTPS console origin for the API-key exchange. API keys are read only from the environment by the provider.
type BoxdConfigApplied ¶ added in v0.62.0
BoxdConfigApplied records accepted assignments during one application.
type BoxdConfigFlagValues ¶ added in v0.62.0
type BoxdConfigFlagValues struct {
APIURL *string
GRPCURL *string
Org *string
WorkRoot *string
DeleteOnRelease *bool
}
BoxdConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterBoxdConfigFlags ¶ added in v0.62.0
func RegisterBoxdConfigFlags(fs *flag.FlagSet, defaults BoxdConfig) BoxdConfigFlagValues
RegisterBoxdConfigFlags registers mechanical bindings without selecting a provider.
func (BoxdConfigFlagValues) Apply ¶ added in v0.62.0
func (values BoxdConfigFlagValues) Apply(cfg *BoxdConfig, fs *flag.FlagSet) (BoxdConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type BoxdConfigVisitedFlags ¶ added in v0.62.0
BoxdConfigVisitedFlags records raw flag visits, independently of application.
func BoxdConfigFlagPresence ¶ added in v0.62.0
func BoxdConfigFlagPresence(fs *flag.FlagSet) BoxdConfigVisitedFlags
BoxdConfigFlagPresence reports visits for tracked flag bindings.
type BridgePeer ¶ added in v0.22.0
type BridgePeer struct {
Slug string `json:"slug"`
LeaseID string `json:"leaseID"`
Provider string `json:"provider"`
Pond string `json:"pond"`
// Transport is the *primary* (recommended) plane this peer reports —
// derived from providerCapabilities(provider).Primary(). Kept for
// backward compatibility with callers that want a single value.
Transport string `json:"transport"`
// Transports lists *every* plane this peer's provider supports (peer
// mesh, native HTTPS, operator-routed SSH), in preference order. Callers
// that need the full reachability surface (e.g. `pond connect` deciding
// SSH-mesh eligibility regardless of whether the provider also has
// Tailscale) read this list. Empty for providers with no networking
// (e.g. Blacksmith).
Transports []string `json:"transports,omitempty"`
Endpoint string `json:"endpoint"`
Labels map[string]string `json:"labels,omitempty"`
Note string `json:"note,omitempty"`
Targets []BridgePeerTarget `json:"targets,omitempty"`
BridgeState string `json:"bridgeState,omitempty"`
}
BridgePeer is the cross-provider shape returned by `crabbox pond peers`. One row per pond member, regardless of which plane carries that member:
- Bidirectional Tailscale providers surface with Transport="tailnet" and Endpoint=tailnet IPv4/FQDN. Outbound-only userspace integrations such as Islo keep their dialable URL transport and report Tailscale in Note.
- SSH-lease providers (exe.dev / RunPod / Daytona / Sprites / Namespace / Semaphore) surface with Transport="ssh" and Endpoint=ssh://host:port.
- Delegated-with-URL providers (Islo, E2B, Modal, Cloudflare, Railway, Tensorlake) surface with Transport="url" and a per-port public URL.
- Blacksmith and any provider without a Crabbox bridge adapter surface with Transport="none" and an honest Note so doctor reports the gap instead of pretending the peer is reachable.
BridgeState is retained for backward compatibility with https://github.com/openclaw/crabbox/pull/136's first shape: it carries "unsupported" / "unsupported-provider" for URL-transport peers whose per-provider adapter explicitly cannot bridge.
type BridgePeerProbeResult ¶ added in v0.22.0
type BridgePeerProbeResult struct {
Slug string `json:"slug"`
URL string `json:"url"`
Port int `json:"port"`
StatusCode int `json:"statusCode,omitempty"`
State string `json:"state"`
Detail string `json:"detail,omitempty"`
}
BridgePeerProbeResult records the result of a single HTTPS reachability probe against one BridgePeerTarget. The result is intentionally simple — the doctor surface is a smoke check, not a uptime monitor.
func ProbeBridgePeers ¶ added in v0.22.0
func ProbeBridgePeers(ctx context.Context, client *http.Client, peers []BridgePeer, perProbeTimeout time.Duration) []BridgePeerProbeResult
ProbeBridgePeers issues a HEAD request against each peer's first published target with a strict per-probe timeout. The total wall-clock budget is `perProbeTimeout * len(peers)` in the worst case; callers should cap it via the parent context if they care.
The state is one of:
- "reachable" — HEAD returned a status code (any code).
- "unreachable" — HEAD failed (network error, TLS error, dial timeout).
- "no-targets" — peer has no published bridge targets.
- "unsupported" — provider explicitly does not implement the bridge plane (e.g. modal/cloudflare/tensorlake). The peer is still listed so `crabbox pond peers` callers see the gap.
- "unsupported-provider" — provider has no BridgeProvider implementation at all. Same semantic as "unsupported" but produced before an explicit per-provider adapter is loaded.
A peer that returned a 4xx/5xx is still recorded as "reachable" because the bridge plane only asserts that the public URL exists and routes; the user app served on the port may legitimately answer 404 to a HEAD request.
type BridgePeerTarget ¶ added in v0.22.0
type BridgePeerTarget struct {
Port int `json:"port"`
URL string `json:"url"`
ExpiresAt time.Time `json:"expiresAt,omitempty"`
}
BridgePeerTarget is a single externally reachable HTTPS endpoint published for a sandbox port. Different providers will populate it from different native primitives (islo shares, modal web endpoints, e2b previews, …); the shape stays uniform so client tooling can dial peers without knowing the provider.
type BridgeProvider ¶ added in v0.22.0
type BridgeProvider interface {
PublishPeer(ctx context.Context, leaseID string, port int, ttl time.Duration) (BridgePeerTarget, error)
ListPeerTargets(ctx context.Context, leaseID string) ([]BridgePeerTarget, error)
}
BridgeProvider is the interface delegated-provider backends implement to surface peer endpoints to the pond bridge plane. A backend that does not implement BridgeProvider is treated as "metadata-only" — the pond label is still honored, peers are listed without targets, and `pond peers` reports the gap honestly instead of pretending to bridge.
Implementations are responsible for:
- PublishPeer: idempotently turning a (sandbox, port) pair into a public URL. Implementations may cache existing shares and return them rather than minting new ones.
- ListPeerTargets: returning whatever public URLs are currently live for a sandbox, without side effects.
The PublishPeer flow is opt-in: it is only invoked when the user passes `--share-port` to `crabbox pond peers`. ListPeerTargets is always cheap and safe — it is what powers the doctor probe.
type BrokerMode ¶ added in v0.29.0
type BrokerMode string
const ( BrokerModeManaged BrokerMode = "managed" BrokerModeRegistered BrokerMode = "registered" )
type CacheConfig ¶
type CacheVolumeConfig ¶ added in v0.24.0
type CacheVolumeConfig struct {
Name string `json:"name,omitempty"`
Key string `json:"key"`
Path string `json:"path"`
SizeGB int `json:"sizeGB,omitempty"`
Required bool `json:"required,omitempty"`
}
func ParseCacheVolumeSpec ¶ added in v0.24.0
func ParseCacheVolumeSpec(spec string) (CacheVolumeConfig, error)
func ParseCacheVolumeSpecs ¶ added in v0.24.0
func ParseCacheVolumeSpecs(specs []string) ([]CacheVolumeConfig, error)
type CapacityConfig ¶
type CapacityHint ¶ added in v0.6.0
type CapacityHint struct {
Code string `json:"code"`
Message string `json:"message"`
Action string `json:"action,omitempty"`
Region string `json:"region,omitempty"`
Market string `json:"market,omitempty"`
Class string `json:"class,omitempty"`
ServerType string `json:"serverType,omitempty"`
RegionsTried []string `json:"regionsTried,omitempty"`
}
type CheckpointCaptureBinding ¶ added in v0.48.0
type CheckpointForkWorkdirValidator ¶ added in v0.29.0
type CheckpointForkWorkdirValidator interface {
ValidateCheckpointForkWorkdir(ctx context.Context, lease LeaseTarget, workdir string) error
}
type CheckpointLeaseIDBackend ¶ added in v0.47.0
type CheckpointLeaseIDBackend interface {
SupportsRequestedCheckpointID() bool
}
type CheckpointSourceRequest ¶ added in v0.48.0
type CheckpointSourceRequest struct {
LeaseID string
Capture NativeCheckpointCapture
Resource NativeCheckpointResourceRequest
AccountID string
}
type CheckpointSourceVerifier ¶ added in v0.48.0
type CheckpointSourceVerifier interface {
CheckpointSourceAbsent(context.Context, CheckpointSourceRequest) (bool, error)
}
CheckpointSourceVerifier must use provider authority, not a filtered lease inventory or a missing local claim, to confirm the captured source is gone.
type ClassSpec ¶ added in v0.45.0
type ClassSpec struct {
Class string `json:"class"`
Type string `json:"type"`
VCPUs int `json:"vcpu,omitempty"`
MemoryGB int `json:"memoryGb,omitempty"`
}
ClassSpec reports the concrete machine one class resolves to on this provider's default target, with its nominal shape when known.
func ProviderClassSpecsFromProfiles ¶ added in v0.45.0
func ProviderClassSpecsFromProfiles(profiles []ProviderClassProfile) []ClassSpec
ProviderClassSpecsFromProfiles projects the default Linux/amd64 primary machines into the compatibility class summary used by provider discovery.
type CleanupBackend ¶ added in v0.6.0
type CleanupBackend interface {
Backend
Cleanup(ctx context.Context, req CleanupRequest) error
}
type CleanupRequest ¶ added in v0.6.0
type CleanupRequest struct {
Options LeaseOptions
DryRun bool
}
type CloudRunSandboxConfig ¶ added in v0.40.0
type CloudRunSandboxConfig struct {
GatewayURL string `` /* 193-byte string literal not displayed */
CLIPath string `` /* 288-byte string literal not displayed */
Workdir string `` /* 251-byte string literal not displayed */
AllowEgress bool `` /* 201-byte string literal not displayed */
Write bool `` /* 188-byte string literal not displayed */
Rootfs string `` /* 228-byte string literal not displayed */
}
CloudRunSandboxConfig describes mechanical bindings for the delegated provider. GatewayURL has no YAML source. Secrets remain runtime-only environment input; endpoint validation, transport selection and operation policy stay in the provider.
type CloudRunSandboxConfigApplied ¶ added in v0.56.0
type CloudRunSandboxConfigApplied struct {
InputAccepted bool
}
CloudRunSandboxConfigApplied records accepted assignments during one application.
type CloudRunSandboxConfigFlagValues ¶ added in v0.54.0
type CloudRunSandboxConfigFlagValues struct {
GatewayURL *string
CLIPath *string
Workdir *string
AllowEgress *bool
Write *bool
Rootfs *string
}
CloudRunSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterCloudRunSandboxConfigFlags ¶ added in v0.54.0
func RegisterCloudRunSandboxConfigFlags(fs *flag.FlagSet, defaults CloudRunSandboxConfig) CloudRunSandboxConfigFlagValues
RegisterCloudRunSandboxConfigFlags registers mechanical bindings without selecting a provider.
func (CloudRunSandboxConfigFlagValues) Apply ¶ added in v0.54.0
func (values CloudRunSandboxConfigFlagValues) Apply(cfg *CloudRunSandboxConfig, fs *flag.FlagSet) (CloudRunSandboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type CloudflareConfig ¶ added in v0.14.0
type CloudflareConfig struct {
APIURL string `` /* 199-byte string literal not displayed */
Token string `` /* 140-byte string literal not displayed */
Image string `` /* 193-byte string literal not displayed */
Workdir string `` /* 242-byte string literal not displayed */
}
CloudflareConfig describes mechanical bindings for the container runner. Credential provenance and destination validation remain owned by core policy.
type CloudflareConfigApplied ¶ added in v0.54.0
CloudflareConfigApplied records accepted assignments during one application.
type CloudflareConfigFlagValues ¶ added in v0.54.0
CloudflareConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterCloudflareConfigFlags ¶ added in v0.54.0
func RegisterCloudflareConfigFlags(fs *flag.FlagSet, defaults CloudflareConfig) CloudflareConfigFlagValues
RegisterCloudflareConfigFlags registers mechanical bindings without selecting a provider.
func (CloudflareConfigFlagValues) Apply ¶ added in v0.54.0
func (values CloudflareConfigFlagValues) Apply(cfg *CloudflareConfig, fs *flag.FlagSet) (CloudflareConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type CloudflareConfigVisitedFlags ¶ added in v0.54.0
type CloudflareConfigVisitedFlags struct {
APIURL bool
}
CloudflareConfigVisitedFlags records raw flag visits, independently of application.
func CloudflareConfigFlagPresence ¶ added in v0.54.0
func CloudflareConfigFlagPresence(fs *flag.FlagSet) CloudflareConfigVisitedFlags
CloudflareConfigFlagPresence reports visits for tracked flag bindings.
type CloudflareDynamicWorkersConfig ¶ added in v0.31.0
type CloudflareSandboxConfig ¶ added in v0.34.0
type CloudflareSandboxConfig struct {
BridgeURL string `` /* 164-byte string literal not displayed */
Token string `config:"token" env:"CRABBOX_CLOUDFLARE_SANDBOX_TOKEN" sources:"user,env"`
Workdir string `` /* 202-byte string literal not displayed */
ExecTimeoutSecs int `` /* 236-byte string literal not displayed */
ForgetMissing bool `` /* 220-byte string literal not displayed */
}
CloudflareSandboxConfig describes mechanical bindings for the delegated bridge. The optional token is admitted only from trusted user config or environment, never exposed as a CLI flag, and redacted by config presentation.
type CloudflareSandboxConfigApplied ¶ added in v0.56.0
type CloudflareSandboxConfigApplied struct {
InputAccepted bool
}
CloudflareSandboxConfigApplied records accepted assignments during one application.
type CloudflareSandboxConfigFlagValues ¶ added in v0.54.0
type CloudflareSandboxConfigFlagValues struct {
BridgeURL *string
Workdir *string
ExecTimeoutSecs *int
ForgetMissing *bool
}
CloudflareSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterCloudflareSandboxConfigFlags ¶ added in v0.54.0
func RegisterCloudflareSandboxConfigFlags(fs *flag.FlagSet, defaults CloudflareSandboxConfig) CloudflareSandboxConfigFlagValues
RegisterCloudflareSandboxConfigFlags registers mechanical bindings without selecting a provider.
func (CloudflareSandboxConfigFlagValues) Apply ¶ added in v0.54.0
func (values CloudflareSandboxConfigFlagValues) Apply(cfg *CloudflareSandboxConfig, fs *flag.FlagSet) (CloudflareSandboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type CodeSandboxConfig ¶ added in v0.31.0
type CodeSandboxConfig struct {
TemplateID string `` /* 183-byte string literal not displayed */
Workdir string `` /* 222-byte string literal not displayed */
VMTier string `` /* 188-byte string literal not displayed */
Privacy string `` /* 187-byte string literal not displayed */
HibernationTimeoutSecs int `` /* 246-byte string literal not displayed */
AutomaticWakeupHTTP bool `` /* 208-byte string literal not displayed */
AutomaticWakeupWebSocket bool `` /* 216-byte string literal not displayed */
BridgeCommand string `` /* 209-byte string literal not displayed */
SDKPackage string `` /* 209-byte string literal not displayed */
DoctorListLimit int `` /* 228-byte string literal not displayed */
OperationTimeoutSecs int `` /* 228-byte string literal not displayed */
}
CodeSandboxConfig describes mechanical bindings for the delegated provider. BridgeCommand and SDKPackage retain trusted-file-only admission. The API key stays in runtime environment authentication, never in config or on argv.
type CodeSandboxConfigApplied ¶ added in v0.56.0
type CodeSandboxConfigApplied struct {
InputAccepted bool
}
CodeSandboxConfigApplied records accepted assignments during one application.
type CodeSandboxConfigFlagValues ¶ added in v0.53.0
type CodeSandboxConfigFlagValues struct {
TemplateID *string
Workdir *string
VMTier *string
Privacy *string
HibernationTimeoutSecs *int
AutomaticWakeupHTTP *bool
AutomaticWakeupWebSocket *bool
BridgeCommand *string
SDKPackage *string
DoctorListLimit *int
OperationTimeoutSecs *int
}
CodeSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterCodeSandboxConfigFlags ¶ added in v0.53.0
func RegisterCodeSandboxConfigFlags(fs *flag.FlagSet, defaults CodeSandboxConfig) CodeSandboxConfigFlagValues
RegisterCodeSandboxConfigFlags registers mechanical bindings without selecting a provider.
func (CodeSandboxConfigFlagValues) Apply ¶ added in v0.53.0
func (values CodeSandboxConfigFlagValues) Apply(cfg *CodeSandboxConfig, fs *flag.FlagSet) (CodeSandboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type CoderConfig ¶ added in v0.34.0
type CoderConfig struct {
CLIPath string `` /* 188-byte string literal not displayed */
Template string `` /* 181-byte string literal not displayed */
Preset string `` /* 163-byte string literal not displayed */
WorkspacePrefix string `` /* 238-byte string literal not displayed */
WorkRoot string `` /* 234-byte string literal not displayed */
DeleteOnRelease bool `` /* 186-byte string literal not displayed */
Wait string `` /* 195-byte string literal not displayed */
UseParameterDefaults bool `` /* 190-byte string literal not displayed */
Parameters []string `` /* 252-byte string literal not displayed */
RichParameterFile string `` /* 225-byte string literal not displayed */
}
CoderConfig owns mechanical input bindings, not workspace or transport policy.
type CoderConfigApplied ¶ added in v0.56.0
type CoderConfigApplied struct {
InputAccepted bool
CLIPath bool
WorkRoot bool
RichParameterFile bool
}
CoderConfigApplied records accepted assignments during one application.
type CoderConfigFlagValues ¶ added in v0.56.0
type CoderConfigFlagValues struct {
CLIPath *string
Template *string
Preset *string
WorkspacePrefix *string
WorkRoot *string
DeleteOnRelease *bool
Wait *string
UseParameterDefaults *bool
Parameters *string
RichParameterFile *string
}
CoderConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterCoderConfigFlags ¶ added in v0.56.0
func RegisterCoderConfigFlags(fs *flag.FlagSet, defaults CoderConfig) CoderConfigFlagValues
RegisterCoderConfigFlags registers mechanical bindings without selecting a provider.
func (CoderConfigFlagValues) Apply ¶ added in v0.56.0
func (values CoderConfigFlagValues) Apply(cfg *CoderConfig, fs *flag.FlagSet) (CoderConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type CoderConfigVisitedFlags ¶ added in v0.56.0
CoderConfigVisitedFlags records raw flag visits, independently of application.
func CoderConfigFlagPresence ¶ added in v0.56.0
func CoderConfigFlagPresence(fs *flag.FlagSet) CoderConfigVisitedFlags
CoderConfigFlagPresence reports visits for tracked flag bindings.
type CommandIntent ¶ added in v0.49.1
type CommandIntent struct {
// contains filtered or unexported fields
}
CommandIntent separates command meaning from an adapter's execution transport. Its arguments/source are owned snapshots; providers still choose the shell, working directory, environment, and any outer command wrapping.
func ParseCommandIntent ¶ added in v0.49.1
func (CommandIntent) Argv ¶ added in v0.49.1
func (c CommandIntent) Argv(shellPrefix ...string) []string
Argv applies the transport's shell prefix only to shell intent, including an explicitly empty shell source. Both the prefix and literal arguments are copied.
func (CommandIntent) ShellCommand ¶ added in v0.49.1
func (c CommandIntent) ShellCommand(shellPrefix ...string) string
ShellCommand quotes execution argv for a POSIX source-only transport. Once classified, arguments must not be reinterpreted as operators or assignments.
func (CommandIntent) ShellScript ¶ added in v0.59.0
func (c CommandIntent) ShellScript() string
ShellScript renders intent inside a transport-owned POSIX shell without replacing that shell. Literal arguments stay quoted, including operator text.
func (CommandIntent) ShellSource ¶ added in v0.49.1
func (c CommandIntent) ShellSource() string
ShellSource renders a terminal workload for the caller's existing POSIX shell. Shell intent remains source in that shell; literal argv replaces it with exec.
type CommandPhaseTracker ¶ added in v0.12.0
type CommandPhaseTracker = commandPhaseTracker
func NewCommandPhaseTracker ¶ added in v0.12.0
func NewCommandPhaseTracker(start time.Time) *CommandPhaseTracker
type CommandRouting ¶ added in v0.47.0
CommandRouting keeps environment assignments out of argv. Env contains only non-secret routing selectors, never credentials or credential contents.
func CommandRoutingFor ¶ added in v0.47.0
func CommandRoutingFor(cfg Config, leaseID string, purpose CommandRoutingPurpose, resolvedTarget ...SSHTarget) CommandRouting
CommandRoutingFor combines common selectors with the canonical adapter route.
func (CommandRouting) ShellCommand ¶ added in v0.47.0
func (routing CommandRouting) ShellCommand(args []string) string
type CommandRoutingPurpose ¶ added in v0.47.0
type CommandRoutingPurpose string
const ( CommandRoutingReconnect CommandRoutingPurpose = "reconnect" CommandRoutingRescue CommandRoutingPurpose = "rescue" CommandRoutingRetry CommandRoutingPurpose = "retry" CommandRoutingStop CommandRoutingPurpose = "stop" )
type CommandRoutingRequest ¶ added in v0.47.0
type CommandRoutingRequest struct {
LeaseID string
Purpose CommandRoutingPurpose
Target SSHTarget
}
CommandRoutingRequest carries resolved lease context without making core interpret provider-specific target or release settings.
type CommandRunner ¶ added in v0.6.0
type CommandRunner interface {
Run(ctx context.Context, req LocalCommandRequest) (LocalCommandResult, error)
}
type Config ¶
type Config struct {
ManagedHost string
HostCapabilities []string
DirectLeases string
DirectLeaseAllow []string
LifetimePolicy *LeaseLifetimeRequest `json:"-" yaml:"-"`
RecordLocal bool `json:"-" yaml:"-"`
Profile string
Provider string
TargetOS string
Architecture string
OSImage string
WindowsMode string
Desktop bool
DesktopEnv string
Browser bool
Code bool
Network NetworkMode
Class string
Pond string
ExposedPorts []string
ServerType string
ServerTypeExplicit bool
Coordinator string
BrokerMode BrokerMode
BrokerLoginRedirectOrigins []string
BrokerAutoWebVNC bool
CoordToken string
CoordTokenCommand []string
CoordAdminToken string
HostID string
Access AccessConfig
Location string
Image string
AWSRegion string
AWSStockImage bool
AWSAMI string
AWSSnapshot string
AWSSGID string
AWSSubnetID string
AWSProfile string
AWSRootGB int32
AWSSSHCIDRs []string
AWSSSHCIDRsPinned bool
AWSMacHostID string
AWSLambdaMicroVM AWSLambdaMicroVMConfig
Azure AzureConfig
AzureDynamicSessions AzureDynamicSessionsConfig
AzureSandbox AzureSandboxConfig
GCP GCPConfig
DigitalOcean DigitalOceanConfig
Vultr VultrConfig
Linode LinodeConfig
GitHubCodespaces GitHubCodespacesConfig
Lambda LambdaConfig
Nebius NebiusConfig
OVH OVHConfig
Scaleway ScalewayConfig
TencentCloud TencentCloudConfig
Incus IncusConfig
Proxmox ProxmoxConfig
Firecracker FirecrackerConfig
XCPNg XCPNgConfig
Parallels ParallelsConfig
SSHUser string
SSHKey string
SSHPort string
SSHFallbackPorts []string
ProviderKey string
WorkRoot string
MaxTTL time.Duration
TTL time.Duration
IdleTimeout time.Duration
WarmupKeep bool
ClaimsAutoPrune bool
Sync SyncConfig
Run RunConfig
EnvAllow []string
Capacity CapacityConfig
Actions ActionsConfig
Blacksmith BlacksmithConfig
KubeVirt KubeVirtConfig
SealosDevbox SealosDevboxConfig
AgentSandbox AgentSandboxConfig
External ExternalConfig
Namespace NamespaceConfig
NamespaceInstance NamespaceInstanceConfig
Phala PhalaConfig
Boxd BoxdConfig
Coder CoderConfig
Morph MorphConfig
Daytona DaytonaConfig
E2B E2BConfig
CubeSandbox CubeSandboxConfig
ExeDev ExeDevConfig
Railway RailwayConfig
FastAPICloud FastAPICloudConfig
UnikraftCloud UnikraftCloudConfig
Runpod RunpodConfig
Vast VastConfig
NvidiaBrev NvidiaBrevConfig
Hostinger HostingerConfig
Wandb WandbConfig
Orgo OrgoConfig
Islo IsloConfig
Freestyle FreestyleConfig
Tenki TenkiConfig
Tensorlake TensorlakeConfig
WarpBuild WarpBuildConfig
Cua CuaConfig
OpenComputer OpenComputerConfig
CodeSandbox CodeSandboxConfig
OpenSandbox OpenSandboxConfig
Nomad NomadConfig
Blaxel BlaxelConfig
VercelSandbox VercelSandboxConfig
CloudflareSandbox CloudflareSandboxConfig
Superserve SuperserveConfig
Crownest CrownestConfig
DockerSandbox DockerSandboxConfig
AnthropicSRT AnthropicSRTConfig
CloudRunSandbox CloudRunSandboxConfig
Modal ModalConfig
UpstashBox UpstashBoxConfig
Smolvm SmolvmConfig
AsciiBox AsciiBoxConfig
Cloudflare CloudflareConfig
CloudflareDynamicWorkers CloudflareDynamicWorkersConfig
Semaphore SemaphoreConfig
Sprites SpritesConfig
Serve ServeConfig
LocalContainer LocalContainerConfig
AppleContainer AppleContainerConfig
AppleVM AppleVMConfig
MXC MXCConfig
Multipass MultipassConfig
Machine0 Machine0Config
Tart TartConfig
Lume LumeConfig
HyperV HyperVConfig
WindowsSandbox WindowsSandboxConfig
Tailscale TailscaleConfig
Static StaticConfig
Results ResultsConfig
Shard ShardConfig
Cache CacheConfig
Profiles map[string]ProfileConfig
Presets map[string]PresetConfig
ProofTemplates map[string]ProofTemplateConfig
Jobs map[string]JobConfig
// contains filtered or unexported fields
}
func BaseConfig ¶ added in v0.6.0
func BaseConfig() Config
func LoadConfig ¶ added in v0.29.0
func ParallelsCandidateConfigs ¶ added in v0.17.0
func ReserveParallelsFleetCapacity ¶ added in v0.64.0
func ReserveParallelsFleetCapacity(ctx context.Context, cfg Config, runner CommandRunner, source string) (Config, func(), error)
ReserveParallelsFleetCapacity picks a fleet host with room under maxVMs and holds that host's reservation lock until the returned release func runs. Capacity is enforced by counting the host's live crabbox- VMs and then cloning into it; with no reservation spanning both steps, concurrent forks all observe the same pre-clone count, all pass the gate, and all clone, so `crabbox shard --count 8` can put 8 VMs on a host configured maxVMs: 2. Callers must hold the reservation until their clone has completed and is visible to the next ListVMs.
Reservations coordinate callers sharing a state directory and the same configured host/account. Display names and keys do not affect lock identity; SSH aliases are not resolved. Independent state directories or machines still race.
func SelectParallelsFleetConfig ¶ added in v0.17.0
func SelectParallelsFleetConfig(ctx context.Context, cfg Config, runner CommandRunner, source string) (Config, error)
SelectParallelsFleetConfig picks a fleet host whose maxVMs still has room. The result is only advisory: the count it is based on is stale the moment it returns. Callers that go on to create a VM must use ReserveParallelsFleetCapacity so the count and the clone happen under one reservation.
func WithGuestLeaseExpiry ¶ added in v0.76.0
WithGuestLeaseExpiry binds file-backed bootstrap to the actual allocation.
func (Config) LegacyClaimRoot ¶ added in v0.82.0
LegacyClaimRoot is transient invocation context, never claim-file metadata.
type ConfirmedAbsentLocalCleanupRequest ¶ added in v0.31.0
type ConfirmedAbsentLocalCleanupRequest struct {
ExpectedProviderIdentity ProviderIdentityExpectation
ProviderScope string
}
ConfirmedAbsentLocalCleanupRequest carries the immutable provider identity proven absent by a complete refreshed inventory. Implementations must only remove local sidecars; they must not invoke provider lifecycle operations.
type ConfirmedAbsentLocalStateCleaner ¶ added in v0.31.0
type ConfirmedAbsentLocalStateCleaner interface {
Backend
CleanupConfirmedAbsentLocalState(context.Context, ConfirmedAbsentLocalCleanupRequest) error
}
type ConfirmedAbsentTerminalReceiptRetainer ¶ added in v0.64.0
type ConfirmedAbsentTerminalReceiptRetainer interface {
Backend
ValidateConfirmedAbsentTerminalReceipt(LeaseClaim, ConfirmedAbsentLocalCleanupRequest) error
}
ConfirmedAbsentTerminalReceiptRetainer validates a provider-owned fixed receipt that must survive confirmed-absence cleanup. Validation is local and read-only: it must reject a missing fixed receipt and check terminal shape, configured scope and every expected identity, without provider calls or claim mutations. The request carries the controller scope; the retainer owns its comparison with the receipt's claim scope, which a provider may derive differently. Core holds the claim fence across coordinator deregistration and revalidates the unchanged receipt afterward.
type ControllerProviderContract ¶ added in v0.31.0
type ControllerProviderContract interface {
ControllerProviderScope(Config) (string, error)
SupportsControllerFixedLeaseID(Config) bool
}
ControllerProviderContract binds controller lifecycle retries to one opaque provider configuration scope and an explicitly idempotent fixed-ID adapter.
type CoordinatorAWSIdentity ¶ added in v0.15.0
type CoordinatorAWSIdentity struct {
Account string `json:"account"`
ARN string `json:"arn"`
UserID string `json:"userId"`
Region string `json:"region"`
PolicyTarget *CoordinatorAWSPolicyTarget `json:"policyTarget,omitempty"`
}
type CoordinatorAWSPolicyTarget ¶ added in v0.15.0
type CoordinatorAcquireValidator ¶ added in v0.49.0
type CoordinatorAcquireValidator interface {
ValidateCoordinatorAcquire() error
}
CoordinatorAcquireValidator keeps provider-owned creation policy at broker acquisition; configuration checks must not prevent existing-lease cleanup.
type CoordinatorAcquisitionFallback ¶ added in v0.75.0
CoordinatorAcquisitionFallback chooses one alternate provider only after an authoritative capacity rejection. Fixed-ID operations never change provider.
type CoordinatorArchitecturePolicy ¶ added in v0.75.0
type CoordinatorArchitecturePolicy interface {
CoordinatorSelectsArchitecture() bool
}
CoordinatorArchitecturePolicy lets a provider place on a machine of either supported architecture when the caller did not explicitly select one.
type CoordinatorArtifactUploadGrant ¶ added in v0.8.0
type CoordinatorArtifactUploadGrant struct {
Name string `json:"name"`
Key string `json:"key"`
Upload struct {
Method string `json:"method"`
URL string `json:"url"`
Headers map[string]string `json:"headers"`
ExpiresAt string `json:"expiresAt"`
} `json:"upload"`
URL string `json:"url"`
AccessPolicy string `json:"accessPolicy,omitempty"`
}
type CoordinatorArtifactUploadInput ¶ added in v0.8.0
type CoordinatorArtifactUploadRequest ¶ added in v0.8.0
type CoordinatorArtifactUploadRequest struct {
Prefix string `json:"prefix,omitempty"`
Files []CoordinatorArtifactUploadInput `json:"files"`
}
type CoordinatorArtifactUploadResponse ¶ added in v0.8.0
type CoordinatorCanceledCreateAttestation ¶ added in v0.41.2
type CoordinatorCanceledCreateResult ¶ added in v0.41.2
type CoordinatorCanceledCreateResult struct {
CanceledCreate CoordinatorCanceledCreateAttestation `json:"canceledCreate"`
Lease *CoordinatorLease `json:"lease,omitempty"`
}
type CoordinatorCapacityAdmission ¶ added in v0.71.0
type CoordinatorCapacityAdmission struct {
Fleet CoordinatorCapacityDimension `json:"fleet"`
Org CoordinatorOrgCapacity `json:"org"`
Admissible bool `json:"admissible"`
BlockedBy *string `json:"blockedBy"`
}
A nil extension preserves the response from coordinators with owner-only capacity.
type CoordinatorCapacityDimension ¶ added in v0.71.0
type CoordinatorCapacityResponse ¶ added in v0.49.0
type CoordinatorCapacityResponse struct {
Owner string `json:"owner"`
ActiveLeases int `json:"activeLeases"`
EffectiveLimit int `json:"effectiveLimit"`
ObservedAt string `json:"observedAt"`
*CoordinatorCapacityAdmission
}
type CoordinatorCatalogImageRetirement ¶ added in v0.44.0
type CoordinatorClient ¶
type CoordinatorClient struct {
BaseURL string
Token string
TokenCommand []string
Access AccessConfig
Client *http.Client
ChildEnvDenylist []string
// contains filtered or unexported fields
}
func NewCoordinatorClient ¶ added in v0.75.0
func NewCoordinatorClient(cfg Config) (*CoordinatorClient, error)
NewCoordinatorClient shares normal login, transport and redirect protections with agents. Agents require a coordinator; only internal routing uses an optional client.
func (*CoordinatorClient) ActiveAdminLeases ¶ added in v0.75.0
func (c *CoordinatorClient) ActiveAdminLeases(ctx context.Context) ([]CoordinatorLease, bool, error)
ActiveAdminLeases reads every active lease for pool orphan detection. The bool reports a possibly truncated response from a legacy coordinator.
func (*CoordinatorClient) AdminAWSIdentity ¶ added in v0.15.0
func (c *CoordinatorClient) AdminAWSIdentity(ctx context.Context, region string) (CoordinatorAWSIdentity, error)
func (*CoordinatorClient) AdminAllocateMacHost ¶ added in v0.15.0
func (c *CoordinatorClient) AdminAllocateMacHost(ctx context.Context, region, serverType, availabilityZone string) ([]CoordinatorMacHost, error)
func (*CoordinatorClient) AdminDeleteLease ¶
func (c *CoordinatorClient) AdminDeleteLease(ctx context.Context, id string) (CoordinatorLease, error)
func (*CoordinatorClient) AdminDryRunAllocateMacHost ¶ added in v0.15.0
func (c *CoordinatorClient) AdminDryRunAllocateMacHost(ctx context.Context, region, serverType, availabilityZone string) ([]CoordinatorMacHostAllocationDryRun, error)
func (*CoordinatorClient) AdminExtendLifetime ¶ added in v0.75.0
func (c *CoordinatorClient) AdminExtendLifetime(ctx context.Context, id, owner, reason, expiresAt string) (CoordinatorLease, error)
func (*CoordinatorClient) AdminHostReservation ¶ added in v0.55.0
func (c *CoordinatorClient) AdminHostReservation(ctx context.Context, region, hostID string, clear, force bool) (json.RawMessage, error)
AdminHostReservation reads or clears coordinator host associations without changing provider resources.
func (*CoordinatorClient) AdminLeaseAudit ¶ added in v0.14.0
func (c *CoordinatorClient) AdminLeaseAudit(ctx context.Context, state, provider, owner, org string, limit int) ([]CoordinatorLeaseCloudAudit, error)
func (*CoordinatorClient) AdminLeases ¶
func (c *CoordinatorClient) AdminLeases(ctx context.Context, state, owner, org string, limit int) ([]CoordinatorLease, error)
func (*CoordinatorClient) AdminLifetimeReadback ¶ added in v0.75.0
func (c *CoordinatorClient) AdminLifetimeReadback(ctx context.Context, id string) (CoordinatorLifetimeReadback, error)
func (*CoordinatorClient) AdminMacHostOfferings ¶ added in v0.15.0
func (c *CoordinatorClient) AdminMacHostOfferings(ctx context.Context, region, serverType string) ([]CoordinatorMacHostOffering, error)
func (*CoordinatorClient) AdminMacHostQuotas ¶ added in v0.15.0
func (c *CoordinatorClient) AdminMacHostQuotas(ctx context.Context, region, serverType string) ([]CoordinatorMacHostQuota, error)
func (*CoordinatorClient) AdminMacHosts ¶ added in v0.15.0
func (c *CoordinatorClient) AdminMacHosts(ctx context.Context, region, serverType, state string) ([]CoordinatorMacHost, error)
func (*CoordinatorClient) AdminReleaseLease ¶
func (c *CoordinatorClient) AdminReleaseLease(ctx context.Context, id string, deleteServer bool) (CoordinatorLease, error)
func (*CoordinatorClient) AdminReleaseLeaseForProvider ¶ added in v0.43.0
func (c *CoordinatorClient) AdminReleaseLeaseForProvider(ctx context.Context, id string, deleteServer bool, expectedProvider string) (CoordinatorLease, error)
func (*CoordinatorClient) AdminReleaseMacHost ¶ added in v0.15.0
func (*CoordinatorClient) AdminRetainedReconcile ¶ added in v0.76.0
func (c *CoordinatorClient) AdminRetainedReconcile(ctx context.Context) (CoordinatorRetainedReconcile, error)
func (*CoordinatorClient) AgentRequest ¶ added in v0.75.0
func (*CoordinatorClient) AppendRunEvent ¶ added in v0.3.0
func (c *CoordinatorClient) AppendRunEvent(ctx context.Context, runID string, input CoordinatorRunEventInput) (CoordinatorRunEvent, error)
func (*CoordinatorClient) AppendRunTelemetry ¶ added in v0.6.0
func (c *CoordinatorClient) AppendRunTelemetry(ctx context.Context, runID string, telemetry *LeaseTelemetry) (CoordinatorRun, error)
func (*CoordinatorClient) BeginCheckpointUse ¶ added in v0.48.0
func (c *CoordinatorClient) BeginCheckpointUse(ctx context.Context, id string) (coordinatorCheckpointUseClaim, error)
func (*CoordinatorClient) BorrowReadyPoolLease ¶ added in v0.25.0
func (c *CoordinatorClient) BorrowReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
func (*CoordinatorClient) BorrowTypedReadyPoolLease ¶ added in v0.47.0
func (c *CoordinatorClient) BorrowTypedReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
func (*CoordinatorClient) CancelLeaseCreate ¶ added in v0.41.2
func (c *CoordinatorClient) CancelLeaseCreate(ctx context.Context, id, createAttemptID string) (CoordinatorCanceledCreateResult, error)
func (*CoordinatorClient) Capacity ¶ added in v0.49.0
func (c *CoordinatorClient) Capacity(ctx context.Context) (CoordinatorCapacityResponse, error)
func (*CoordinatorClient) CheckTypedReadyPoolSupport ¶ added in v0.47.0
func (c *CoordinatorClient) CheckTypedReadyPoolSupport(ctx context.Context, key string) error
func (*CoordinatorClient) Checkpoint ¶ added in v0.48.0
func (c *CoordinatorClient) Checkpoint(ctx context.Context, id string) (coordinatorCheckpoint, error)
func (*CoordinatorClient) CheckpointImage ¶ added in v0.48.0
func (c *CoordinatorClient) CheckpointImage(ctx context.Context, id string) (CoordinatorImage, error)
func (*CoordinatorClient) Checkpoints ¶ added in v0.48.0
func (c *CoordinatorClient) Checkpoints(ctx context.Context) ([]coordinatorCheckpoint, error)
func (*CoordinatorClient) CompleteLegacyRuntimeAdapterDelete ¶ added in v0.31.0
func (c *CoordinatorClient) CompleteLegacyRuntimeAdapterDelete(ctx context.Context, id, adapterID, workspaceID string) (CoordinatorLease, error)
func (*CoordinatorClient) CompleteLegacyRuntimeAdapterDeleteForProvider ¶ added in v0.43.0
func (c *CoordinatorClient) CompleteLegacyRuntimeAdapterDeleteForProvider(ctx context.Context, id, expectedProvider, adapterID, workspaceID string) (CoordinatorLease, error)
func (*CoordinatorClient) CompleteRuntimeAdapterDelete ¶ added in v0.31.0
func (c *CoordinatorClient) CompleteRuntimeAdapterDelete(ctx context.Context, id, adapterID, workspaceID, registrationID string) (CoordinatorLease, error)
func (*CoordinatorClient) CompleteRuntimeAdapterDeleteForProvider ¶ added in v0.43.0
func (c *CoordinatorClient) CompleteRuntimeAdapterDeleteForProvider(ctx context.Context, id, expectedProvider, adapterID, workspaceID, registrationID string) (CoordinatorLease, error)
func (*CoordinatorClient) CreateAdapterTicket ¶ added in v0.31.0
func (*CoordinatorClient) CreateArtifactUploads ¶ added in v0.8.0
func (c *CoordinatorClient) CreateArtifactUploads(ctx context.Context, input CoordinatorArtifactUploadRequest) (CoordinatorArtifactUploadResponse, error)
func (*CoordinatorClient) CreateCheckpoint ¶ added in v0.48.0
func (c *CoordinatorClient) CreateCheckpoint(ctx context.Context, record checkpointRecord, name, strategy string, noReboot bool, retention coordinatorCheckpointRetention) (coordinatorCheckpoint, CoordinatorImage, error)
func (*CoordinatorClient) CreateCodeTicket ¶ added in v0.6.0
func (c *CoordinatorClient) CreateCodeTicket(ctx context.Context, leaseID string) (coordinatorCodeTicket, error)
func (*CoordinatorClient) CreateEgressTicket ¶ added in v0.7.0
func (c *CoordinatorClient) CreateEgressTicket(ctx context.Context, leaseID, role, sessionID, profile string, allow []string) (CoordinatorEgressTicket, error)
func (*CoordinatorClient) CreateImage ¶ added in v0.3.0
func (c *CoordinatorClient) CreateImage(ctx context.Context, leaseID, name string, noReboot bool, strategies ...string) (CoordinatorImage, error)
func (*CoordinatorClient) CreateLease ¶
func (c *CoordinatorClient) CreateLease(ctx context.Context, cfg Config, publicKey string, keep bool, leaseID, slug string) (CoordinatorLease, error)
func (*CoordinatorClient) CreateLeaseWithAttempt ¶ added in v0.41.2
func (c *CoordinatorClient) CreateLeaseWithAttempt(ctx context.Context, cfg Config, publicKey string, keep bool, leaseID, slug, createAttemptID string) (CoordinatorLease, error)
func (*CoordinatorClient) CreateRun ¶
func (c *CoordinatorClient) CreateRun(ctx context.Context, runID, leaseID string, cfg Config, command []string, label string) (CoordinatorRun, error)
func (*CoordinatorClient) CreateWebVNCCredentialHandoff ¶ added in v0.37.0
func (c *CoordinatorClient) CreateWebVNCCredentialHandoff(ctx context.Context, leaseID, username, password string) (CoordinatorWebVNCCredentialHandoff, error)
func (*CoordinatorClient) CreateWebVNCTicket ¶ added in v0.5.0
func (c *CoordinatorClient) CreateWebVNCTicket(ctx context.Context, leaseID string) (CoordinatorWebVNCTicket, error)
func (*CoordinatorClient) CreateWebVNCViewerBootstrap ¶ added in v0.39.0
func (c *CoordinatorClient) CreateWebVNCViewerBootstrap(ctx context.Context, leaseID, credentialHandoffTicket string, takeControl bool) (CoordinatorWebVNCViewerBootstrap, error)
func (*CoordinatorClient) CurrentLeases ¶ added in v0.71.0
func (c *CoordinatorClient) CurrentLeases(ctx context.Context, provider string) ([]CoordinatorLease, bool, error)
CurrentLeases negotiates bounded summary pages. Older coordinators keep their existing newest-first list contract; report its actual 500-row server cap.
func (*CoordinatorClient) DeleteCheckpoint ¶ added in v0.48.0
func (c *CoordinatorClient) DeleteCheckpoint(ctx context.Context, id string) error
func (*CoordinatorClient) DeleteImage ¶ added in v0.14.0
func (c *CoordinatorClient) DeleteImage(ctx context.Context, imageID string, refs ...CoordinatorImageRef) error
func (*CoordinatorClient) DeleteLeaseShare ¶ added in v0.7.0
func (c *CoordinatorClient) DeleteLeaseShare(ctx context.Context, id, user string, org bool) (CoordinatorShare, error)
func (*CoordinatorClient) EgressStatus ¶ added in v0.7.0
func (c *CoordinatorClient) EgressStatus(ctx context.Context, leaseID string) (CoordinatorEgressStatus, error)
func (*CoordinatorClient) EnsureLease ¶ added in v0.41.1
func (c *CoordinatorClient) EnsureLease(ctx context.Context, cfg Config, publicKey string, keep bool, leaseID, slug string) (CoordinatorLease, error)
func (*CoordinatorClient) ExtendLease ¶ added in v0.76.0
func (c *CoordinatorClient) ExtendLease(ctx context.Context, id, expectedProvider string, req LeaseExtendRequest) (CoordinatorLease, error)
func (*CoordinatorClient) FailRunAdmission ¶ added in v0.62.0
func (c *CoordinatorClient) FailRunAdmission(ctx context.Context, runID, leaseID string, cfg Config, command []string, label string, code int, message string) (CoordinatorRun, error)
FailRunAdmission finalizes only the authenticated original admission, never a workload.
func (*CoordinatorClient) FastSnapshotRestoreStatus ¶ added in v0.17.0
func (c *CoordinatorClient) FastSnapshotRestoreStatus(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorImage, error)
func (*CoordinatorClient) FinishRun ¶
func (c *CoordinatorClient) FinishRun(ctx context.Context, runID string, exitCode int, sync, command time.Duration, log string, truncated bool, results *TestResultSummary, telemetry *RunTelemetrySummary, classification FailureClassification, receipt *terminalRunReceipt) (CoordinatorRun, error)
func (*CoordinatorClient) GenerateReadyPoolIdentity ¶ added in v0.47.0
func (c *CoordinatorClient) GenerateReadyPoolIdentity(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolIdentityV1, error)
func (*CoordinatorClient) GetLease ¶
func (c *CoordinatorClient) GetLease(ctx context.Context, id string) (CoordinatorLease, error)
func (*CoordinatorClient) GetLeaseWithAuthoritativeProviderMetadata ¶ added in v0.38.1
func (c *CoordinatorClient) GetLeaseWithAuthoritativeProviderMetadata(ctx context.Context, id string) (CoordinatorLease, error)
func (*CoordinatorClient) HeartbeatReadyPoolBorrow ¶ added in v0.41.1
func (c *CoordinatorClient) HeartbeatReadyPoolBorrow(ctx context.Context, key, leaseID, borrowToken string) (CoordinatorReadyPoolResponse, error)
func (*CoordinatorClient) HeartbeatTypedReadyPoolBorrow ¶ added in v0.47.0
func (c *CoordinatorClient) HeartbeatTypedReadyPoolBorrow(ctx context.Context, key, leaseID, borrowToken string) (CoordinatorReadyPoolResponse, error)
func (*CoordinatorClient) Image ¶ added in v0.3.0
func (c *CoordinatorClient) Image(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorImage, error)
func (*CoordinatorClient) LeaseShare ¶ added in v0.7.0
func (c *CoordinatorClient) LeaseShare(ctx context.Context, id string) (CoordinatorShare, error)
func (*CoordinatorClient) Leases ¶ added in v0.8.0
func (c *CoordinatorClient) Leases(ctx context.Context, state string, limit int) ([]CoordinatorLease, error)
func (*CoordinatorClient) MarketplaceQuote ¶ added in v0.34.0
func (c *CoordinatorClient) MarketplaceQuote(ctx context.Context, input CoordinatorMarketplaceQuoteRequest) (CoordinatorMarketplaceQuoteResponse, error)
func (*CoordinatorClient) MarketplaceStatus ¶ added in v0.34.0
func (c *CoordinatorClient) MarketplaceStatus(ctx context.Context) (CoordinatorMarketplaceStatusResponse, error)
func (*CoordinatorClient) PollGitHubLogin ¶ added in v0.2.0
func (c *CoordinatorClient) PollGitHubLogin(ctx context.Context, loginID, pollSecret, browserConfirmation string) (CoordinatorGitHubLoginPoll, error)
func (*CoordinatorClient) Pool ¶
func (c *CoordinatorClient) Pool(ctx context.Context, cfg Config) ([]CoordinatorMachine, error)
func (*CoordinatorClient) PromoteImage ¶ added in v0.3.0
func (c *CoordinatorClient) PromoteImage(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorImage, error)
func (*CoordinatorClient) PromoteImageCAS ¶ added in v0.51.0
func (c *CoordinatorClient) PromoteImageCAS(ctx context.Context, imageID string, expected CoordinatorImageDefaultState, clear, retireExpectedCatalog bool, restorePrevious *CoordinatorImageDefaultState, refs ...CoordinatorImageRef) (CoordinatorImagePromotionResult, error)
func (*CoordinatorClient) ProviderReadiness ¶ added in v0.10.0
func (c *CoordinatorClient) ProviderReadiness(ctx context.Context, cfg Config) (CoordinatorProviderReadiness, error)
func (*CoordinatorClient) ReadyPool ¶ added in v0.25.0
func (c *CoordinatorClient) ReadyPool(ctx context.Context, key string) ([]CoordinatorReadyPoolEntry, error)
func (*CoordinatorClient) ReadyPools ¶ added in v0.25.0
func (c *CoordinatorClient) ReadyPools(ctx context.Context) ([]CoordinatorReadyPoolEntry, error)
func (*CoordinatorClient) ReconcileReadyPool ¶ added in v0.41.1
func (c *CoordinatorClient) ReconcileReadyPool(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolReconcileResponse, error)
func (*CoordinatorClient) ReconcileTypedReadyPool ¶ added in v0.47.0
func (c *CoordinatorClient) ReconcileTypedReadyPool(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolReconcileResponse, error)
func (*CoordinatorClient) RegisterLease ¶ added in v0.29.0
func (c *CoordinatorClient) RegisterLease(ctx context.Context, leaseID string, input CoordinatorLeaseRegistration) (CoordinatorLease, error)
func (*CoordinatorClient) RegisterReadyPoolLease ¶ added in v0.25.0
func (c *CoordinatorClient) RegisterReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
func (*CoordinatorClient) RegisterTypedReadyPoolLease ¶ added in v0.47.0
func (c *CoordinatorClient) RegisterTypedReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
func (*CoordinatorClient) ReleaseLease ¶
func (c *CoordinatorClient) ReleaseLease(ctx context.Context, id string, deleteServer bool) (CoordinatorLease, error)
func (*CoordinatorClient) ReleaseLeaseForProvider ¶ added in v0.43.0
func (c *CoordinatorClient) ReleaseLeaseForProvider(ctx context.Context, id string, deleteServer bool, expectedProvider string) (CoordinatorLease, error)
func (*CoordinatorClient) ReleaseReadyPoolFillClaim ¶ added in v0.41.1
func (c *CoordinatorClient) ReleaseReadyPoolFillClaim(ctx context.Context, key, claimToken string) error
func (*CoordinatorClient) ReleaseTypedReadyPoolFillClaim ¶ added in v0.47.0
func (c *CoordinatorClient) ReleaseTypedReadyPoolFillClaim(ctx context.Context, key, claimToken string) error
func (*CoordinatorClient) ResetWebVNC ¶ added in v0.7.0
func (c *CoordinatorClient) ResetWebVNC(ctx context.Context, leaseID string) (CoordinatorWebVNCReset, error)
func (*CoordinatorClient) RetireCatalogImage ¶ added in v0.44.0
func (c *CoordinatorClient) RetireCatalogImage(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorCatalogImageRetirement, error)
func (*CoordinatorClient) RetirePromotedImage ¶ added in v0.48.0
func (c *CoordinatorClient) RetirePromotedImage(ctx context.Context, imageID string, refs ...CoordinatorImageRef) (CoordinatorCatalogImageRetirement, error)
func (*CoordinatorClient) ReturnReadyPoolLease ¶ added in v0.25.0
func (c *CoordinatorClient) ReturnReadyPoolLease(ctx context.Context, key, leaseID, result, reason, borrowToken string) (CoordinatorReadyPoolResponse, error)
func (*CoordinatorClient) ReturnTypedReadyPoolLease ¶ added in v0.47.0
func (c *CoordinatorClient) ReturnTypedReadyPoolLease(ctx context.Context, key string, input map[string]any) (CoordinatorReadyPoolResponse, error)
func (*CoordinatorClient) Run ¶
func (c *CoordinatorClient) Run(ctx context.Context, runID string) (CoordinatorRun, error)
func (*CoordinatorClient) RunEvents ¶ added in v0.3.0
func (c *CoordinatorClient) RunEvents(ctx context.Context, runID string, after, limit int) ([]CoordinatorRunEvent, error)
func (*CoordinatorClient) RunReceipt ¶ added in v0.47.0
func (c *CoordinatorClient) RunReceipt(ctx context.Context, runID string) (terminalRunReceipt, error)
RunReceipt participates in terminal-commit verification; its owner controls the deadline and replay policy, even though the transport is a GET.
func (*CoordinatorClient) Runs ¶
func (c *CoordinatorClient) Runs(ctx context.Context, leaseID, owner, org, state string, limit int) ([]CoordinatorRun, error)
func (*CoordinatorClient) StartGitHubLogin ¶ added in v0.2.0
func (c *CoordinatorClient) StartGitHubLogin(ctx context.Context, pollSecretHash, provider, loopbackRedirectURI string) (CoordinatorGitHubLoginStart, error)
func (*CoordinatorClient) SyncExternalRunners ¶ added in v0.6.0
func (c *CoordinatorClient) SyncExternalRunners(ctx context.Context, provider string, runners []CoordinatorExternalRunner, inventoryScope string) (CoordinatorExternalRunnerSyncResponse, error)
func (*CoordinatorClient) TouchLease ¶
func (c *CoordinatorClient) TouchLease(ctx context.Context, id string) (CoordinatorLease, error)
func (*CoordinatorClient) TouchLeaseForProvider ¶ added in v0.43.0
func (c *CoordinatorClient) TouchLeaseForProvider(ctx context.Context, id, expectedProvider string) (CoordinatorLease, error)
func (*CoordinatorClient) TouchLeaseWithTelemetry ¶ added in v0.6.0
func (c *CoordinatorClient) TouchLeaseWithTelemetry(ctx context.Context, id string, telemetry *LeaseTelemetry) (CoordinatorLease, error)
func (*CoordinatorClient) TouchLeaseWithTelemetryForProvider ¶ added in v0.43.0
func (c *CoordinatorClient) TouchLeaseWithTelemetryForProvider(ctx context.Context, id, expectedProvider string, telemetry *LeaseTelemetry) (CoordinatorLease, error)
func (*CoordinatorClient) TypedReadyPool ¶ added in v0.47.0
func (c *CoordinatorClient) TypedReadyPool(ctx context.Context, key string) ([]CoordinatorReadyPoolEntry, error)
func (*CoordinatorClient) UpdateCheckpointRetention ¶ added in v0.48.0
func (c *CoordinatorClient) UpdateCheckpointRetention(ctx context.Context, id string, retention coordinatorCheckpointRetention) (coordinatorCheckpoint, error)
func (*CoordinatorClient) UpdateLeaseIdleTimeout ¶
func (c *CoordinatorClient) UpdateLeaseIdleTimeout(ctx context.Context, id string, idleTimeout time.Duration) (CoordinatorLease, error)
func (*CoordinatorClient) UpdateLeaseIdleTimeoutForProvider ¶ added in v0.43.0
func (c *CoordinatorClient) UpdateLeaseIdleTimeoutForProvider(ctx context.Context, id, expectedProvider string, idleTimeout time.Duration) (CoordinatorLease, error)
func (*CoordinatorClient) UpdateLeaseIdleTimeoutWithTelemetry ¶ added in v0.6.0
func (c *CoordinatorClient) UpdateLeaseIdleTimeoutWithTelemetry(ctx context.Context, id string, idleTimeout time.Duration, telemetry *LeaseTelemetry) (CoordinatorLease, error)
func (*CoordinatorClient) UpdateLeaseIdleTimeoutWithTelemetryForProvider ¶ added in v0.43.0
func (c *CoordinatorClient) UpdateLeaseIdleTimeoutWithTelemetryForProvider(ctx context.Context, id, expectedProvider string, idleTimeout time.Duration, telemetry *LeaseTelemetry) (CoordinatorLease, error)
func (*CoordinatorClient) UpdateLeaseShare ¶ added in v0.7.0
func (c *CoordinatorClient) UpdateLeaseShare(ctx context.Context, id string, share CoordinatorShare) (CoordinatorShare, error)
func (*CoordinatorClient) UpdateLeaseTailscale ¶ added in v0.5.0
func (c *CoordinatorClient) UpdateLeaseTailscale(ctx context.Context, id string, meta TailscaleMetadata) (CoordinatorLease, error)
func (*CoordinatorClient) UpdateLeaseTailscaleForProvider ¶ added in v0.43.0
func (c *CoordinatorClient) UpdateLeaseTailscaleForProvider(ctx context.Context, id, expectedProvider string, meta TailscaleMetadata) (CoordinatorLease, error)
func (*CoordinatorClient) Usage ¶
func (c *CoordinatorClient) Usage(ctx context.Context, scope, owner, org, month string) (CoordinatorUsageResponse, error)
func (*CoordinatorClient) WebVNCStatus ¶ added in v0.7.0
func (c *CoordinatorClient) WebVNCStatus(ctx context.Context, leaseID string) (CoordinatorWebVNCStatus, error)
func (*CoordinatorClient) Whoami ¶
func (c *CoordinatorClient) Whoami(ctx context.Context) (CoordinatorWhoami, error)
type CoordinatorCostLimits ¶
type CoordinatorCostLimits struct {
MaxActiveLeases int `json:"maxActiveLeases"`
MaxActiveLeasesPerOwner int `json:"maxActiveLeasesPerOwner"`
MaxActiveLeasesPerOrg int `json:"maxActiveLeasesPerOrg"`
CapacityAdminOwners []string `json:"capacityAdminOwners,omitempty"`
MaxActiveLeasesPerCapacityAdmin int `json:"maxActiveLeasesPerCapacityAdmin,omitempty"`
MaxMonthlyUSD float64 `json:"maxMonthlyUSD"`
MaxMonthlyUSDPerOwner float64 `json:"maxMonthlyUSDPerOwner"`
MaxMonthlyUSDPerOrg float64 `json:"maxMonthlyUSDPerOrg"`
}
type CoordinatorCreateRetirement ¶ added in v0.81.0
type CoordinatorCreateRetirement struct {
LeaseID string `json:"leaseId"`
Revision string `json:"revision"`
Binding string `json:"binding"`
AttemptState string `json:"attemptState"`
Owner string `json:"owner,omitempty"`
Org string `json:"org,omitempty"`
CreatedAt string `json:"createdAt,omitempty"`
Fenced bool `json:"fenced"`
Cleanup string `json:"cleanup"`
}
type CoordinatorEgressStatus ¶ added in v0.7.0
type CoordinatorEgressStatus struct {
LeaseID string `json:"leaseID"`
Slug string `json:"slug,omitempty"`
Active bool `json:"active"`
SessionID string `json:"sessionID,omitempty"`
Profile string `json:"profile,omitempty"`
Allow []string `json:"allow,omitempty"`
HostConnected *bool `json:"hostConnected,omitempty"`
ClientConnected *bool `json:"clientConnected,omitempty"`
CreatedAt string `json:"createdAt,omitempty"`
UpdatedAt string `json:"updatedAt,omitempty"`
}
type CoordinatorEgressTicket ¶ added in v0.7.0
type CoordinatorExternalRunner ¶ added in v0.6.0
type CoordinatorExternalRunner struct {
ID string `json:"id"`
Provider string `json:"provider,omitempty"`
Status string `json:"status,omitempty"`
Repo string `json:"repo,omitempty"`
Workflow string `json:"workflow,omitempty"`
Job string `json:"job,omitempty"`
Ref string `json:"ref,omitempty"`
CreatedAt string `json:"createdAt,omitempty"`
Created string `json:"created,omitempty"`
ActionsRepo string `json:"actionsRepo,omitempty"`
ActionsRunID string `json:"actionsRunID,omitempty"`
ActionsRunURL string `json:"actionsRunURL,omitempty"`
ActionsRunStatus string `json:"actionsRunStatus,omitempty"`
ActionsRunConclusion string `json:"actionsRunConclusion,omitempty"`
ActionsWorkflowName string `json:"actionsWorkflowName,omitempty"`
ActionsWorkflowURL string `json:"actionsWorkflowURL,omitempty"`
}
type CoordinatorExternalRunnerSyncResponse ¶ added in v0.6.0
type CoordinatorExternalRunnerSyncResponse struct {
Runners []CoordinatorExternalRunner `json:"runners"`
Stale []CoordinatorExternalRunner `json:"stale"`
}
type CoordinatorFastSnapshotRestore ¶ added in v0.17.0
type CoordinatorGitHubLoginPoll ¶ added in v0.2.0
type CoordinatorGitHubLoginPoll struct {
Status string `json:"status"`
Token string `json:"token,omitempty"`
Owner string `json:"owner,omitempty"`
Org string `json:"org,omitempty"`
Login string `json:"login,omitempty"`
Provider string `json:"provider,omitempty"`
TokenExpiresAt string `json:"tokenExpiresAt,omitempty"`
Error string `json:"error,omitempty"`
}
type CoordinatorGitHubLoginStart ¶ added in v0.2.0
type CoordinatorHTTPError ¶ added in v0.9.0
type CoordinatorHTTPError struct {
Method string
Path string
StatusCode int
Message string
// contains filtered or unexported fields
}
func (CoordinatorHTTPError) Error ¶ added in v0.9.0
func (e CoordinatorHTTPError) Error() string
type CoordinatorID ¶
type CoordinatorID string
func (*CoordinatorID) UnmarshalJSON ¶
func (id *CoordinatorID) UnmarshalJSON(data []byte) error
type CoordinatorImage ¶ added in v0.3.0
type CoordinatorImage struct {
ID string `json:"id"`
Name string `json:"name"`
State string `json:"state"`
Provider string `json:"provider,omitempty"`
Kind string `json:"kind,omitempty"`
Region string `json:"region,omitempty"`
AccountID string `json:"accountId,omitempty"`
Project string `json:"project,omitempty"`
ResourceID string `json:"resourceID,omitempty"`
ResourceUniqueID string `json:"resourceUniqueId,omitempty"`
SnapshotIDs []string `json:"snapshotIds,omitempty"`
Snapshots []string `json:"snapshots,omitempty"`
Direct bool `json:"direct,omitempty"`
Target string `json:"target,omitempty"`
OSImage string `json:"os,omitempty"`
WindowsMode string `json:"windowsMode,omitempty"`
ServerType string `json:"serverType,omitempty"`
Architecture string `json:"architecture,omitempty"`
PromotedAt string `json:"promotedAt,omitempty"`
Revision string `json:"revision,omitempty"`
FastSnapshotRestores []CoordinatorFastSnapshotRestore `json:"fastSnapshotRestores,omitempty"`
Capabilities *imageCapabilities `json:"capabilities,omitempty"`
CatalogOnly bool `json:"catalogOnly,omitempty"`
VariantSelectors *imageVariantSelectors `json:"variantSelectors,omitempty"`
// contains filtered or unexported fields
}
type CoordinatorImageDefaultAliasState ¶ added in v0.51.0
type CoordinatorImageDefaultAliasState struct {
Alias string `json:"alias"`
State string `json:"state"`
Image json.RawMessage `json:"image,omitempty"`
}
type CoordinatorImageDefaultState ¶ added in v0.51.0
type CoordinatorImageDefaultState struct {
State string `json:"state"`
ImageID string `json:"imageId,omitempty"`
Revision string `json:"revision,omitempty"`
Aliases []CoordinatorImageDefaultAliasState `json:"aliases,omitempty"`
}
type CoordinatorImagePromotionResult ¶ added in v0.51.0
type CoordinatorImagePromotionResult struct {
Image *CoordinatorImage `json:"image,omitempty"`
Previous CoordinatorImageDefaultState `json:"previous"`
}
type CoordinatorImageRef ¶ added in v0.14.0
type CoordinatorImageRef struct {
Provider string
Region string
Project string
Kind string
Target string
OSImage string
ServerType string
Architecture string
FastSnapshotRestore bool
FastSnapshotRestoreAZs []string
Capabilities imageCapabilities
CatalogOnly bool
VariantSelectors imageVariantSelectors
}
type CoordinatorLease ¶
type CoordinatorLease struct {
LeasePolicy *CoordinatorLeasePolicy `json:"leasePolicy,omitempty"`
PolicyNotice string `json:"policyNotice,omitempty"`
ImageEvidence *ImageEvidence `json:"imageEvidence,omitempty"`
LifetimePolicy *LeaseLifetimePolicy `json:"lifetimePolicy,omitempty"`
CreationEvents []CreationEvent `json:"creationEvents,omitempty"`
ID string `json:"id"`
Slug string `json:"slug,omitempty"`
Provider string `json:"provider"`
Lifecycle string `json:"lifecycle,omitempty"`
RuntimeAdapterID string `json:"runtimeAdapterID,omitempty"`
RuntimeWorkspaceID string `json:"runtimeAdapterWorkspaceID,omitempty"`
RuntimeRegistrationID string `json:"runtimeAdapterRegistrationID,omitempty"`
TargetOS string `json:"target,omitempty"`
Architecture string `json:"architecture,omitempty"`
WindowsMode string `json:"windowsMode,omitempty"`
Desktop bool `json:"desktop,omitempty"`
DesktopEnv string `json:"desktopEnv,omitempty"`
Browser bool `json:"browser,omitempty"`
Code bool `json:"code,omitempty"`
Network *LeaseNetworkDiagnostics `json:"network,omitempty"`
Tailscale *TailscaleMetadata `json:"tailscale,omitempty"`
Region string `json:"region,omitempty"`
ProviderProject string `json:"providerProject,omitempty"`
Owner string `json:"owner"`
Org string `json:"org"`
Profile string `json:"profile"`
Class string `json:"class"`
Pond string `json:"pond,omitempty"`
ExposedPorts []string `json:"exposedPorts,omitempty"`
ServerType string `json:"serverType"`
RequestedServerType string `json:"requestedServerType,omitempty"`
HostID string `json:"hostId,omitempty"`
HostIDCompat string `json:"hostID,omitempty"`
Market string `json:"market,omitempty"`
ProvisioningAttempts []ProvisioningAttempt `json:"provisioningAttempts,omitempty"`
Image *CoordinatorLeaseImage `json:"image,omitempty"`
ProvisioningTiming *CoordinatorProvisioningTiming `json:"provisioningTiming,omitempty"`
CapacityHints []CapacityHint `json:"capacityHints,omitempty"`
ServerID int64 `json:"serverID"`
CloudID string `json:"cloudID"`
ServerName string `json:"serverName"`
Host string `json:"host"`
SSHUser string `json:"sshUser"`
SSHPort string `json:"sshPort"`
SSHJump *SSHJump `json:"sshJump,omitempty"`
SSHHostKey string `json:"sshHostKey,omitempty"`
ProviderAccessExpiresAt string `json:"providerAccessExpiresAt,omitempty"`
SSHFallbackPorts []string `json:"sshFallbackPorts,omitempty"`
WorkRoot string `json:"workRoot"`
Keep bool `json:"keep"`
State string `json:"state"`
TTLSeconds int `json:"ttlSeconds,omitempty"`
IdleTimeoutSeconds int `json:"idleTimeoutSeconds,omitempty"`
CreatedAt string `json:"createdAt,omitempty"`
UpdatedAt string `json:"updatedAt,omitempty"`
LastTouchedAt string `json:"lastTouchedAt,omitempty"`
ExpiresAt string `json:"expiresAt"`
Telemetry *LeaseTelemetry `json:"telemetry,omitempty"`
TelemetryHistory []*LeaseTelemetry `json:"telemetryHistory,omitempty"`
CleanupAttempts int `json:"cleanupAttempts,omitempty"`
CleanupStatus string `json:"cleanupStatus,omitempty"`
ProviderCleanup *ProviderCleanupEvidence `json:"providerCleanup,omitempty"`
CleanupStartedAt string `json:"cleanupStartedAt,omitempty"`
CleanupClaimExpiresAt string `json:"cleanupClaimExpiresAt,omitempty"`
CleanupFailedAt string `json:"cleanupFailedAt,omitempty"`
CleanupCompletedAt string `json:"cleanupCompletedAt,omitempty"`
CleanupError string `json:"cleanupError,omitempty"`
CleanupRetryAt string `json:"cleanupRetryAt,omitempty"`
ProviderKeyCleanupPending bool `json:"providerKeyCleanupPending,omitempty"`
ProviderKeyCleanupID string `json:"providerKeyCleanupID,omitempty"`
ProvisioningRequestStartedAt string `json:"provisioningRequestStartedAt,omitempty"`
ReleaseDeletesServer *bool `json:"releaseDeletesServer,omitempty"`
FailureError string `json:"failureError,omitempty"`
ProvisioningPhase string `json:"provisioningPhase,omitempty"`
ProvisioningResourceMayExist *bool `json:"provisioningResourceMayExist,omitempty"`
ProvisioningFailureRetryable *bool `json:"provisioningFailureRetryable,omitempty"`
ProviderMetadata map[string]any `json:"providerMetadata,omitempty"`
}
type CoordinatorLeaseCloudAudit ¶ added in v0.14.0
type CoordinatorLeaseCloudAudit struct {
LeaseID string `json:"leaseID"`
Slug string `json:"slug,omitempty"`
Provider string `json:"provider"`
State string `json:"state"`
TargetOS string `json:"target,omitempty"`
Owner string `json:"owner"`
Org string `json:"org"`
Region string `json:"region,omitempty"`
CloudID string `json:"cloudID"`
Host string `json:"host,omitempty"`
ServerType string `json:"serverType,omitempty"`
ExpiresAt string `json:"expiresAt,omitempty"`
CleanupAttempts int `json:"cleanupAttempts,omitempty"`
CleanupError string `json:"cleanupError,omitempty"`
CleanupRetryAt string `json:"cleanupRetryAt,omitempty"`
CloudStatus string `json:"cloudStatus"`
CloudState string `json:"cloudState,omitempty"`
CloudHost string `json:"cloudHost,omitempty"`
CloudServerType string `json:"cloudServerType,omitempty"`
Message string `json:"message,omitempty"`
}
type CoordinatorLeaseImage ¶ added in v0.41.1
type CoordinatorLeaseImage struct {
ID string `json:"id"`
Source string `json:"source"`
Provider string `json:"provider,omitempty"`
Kind string `json:"kind,omitempty"`
Region string `json:"region,omitempty"`
SourceID string `json:"sourceID,omitempty"`
PromotedAt string `json:"promotedAt,omitempty"`
Revision string `json:"revision,omitempty"`
}
type CoordinatorLeasePolicy ¶ added in v0.76.0
type CoordinatorLeasePolicy struct {
DefaultTTLSeconds int `json:"defaultTTLSeconds"`
DefaultIdleTimeoutSeconds int `json:"defaultIdleTimeoutSeconds"`
MaxTTLSeconds int `json:"maxTTLSeconds"`
Extension string `json:"extension"`
AutoExtend string `json:"autoExtend"`
RuntimeExtension bool `json:"runtimeExtension"`
}
type CoordinatorLeaseRegistration ¶ added in v0.29.0
type CoordinatorLeaseRegistration struct {
Slug string `json:"slug,omitempty"`
Provider string `json:"provider"`
TargetOS string `json:"target"`
WindowsMode string `json:"windowsMode,omitempty"`
Desktop bool `json:"desktop,omitempty"`
DesktopEnv string `json:"desktopEnv,omitempty"`
Browser bool `json:"browser,omitempty"`
Code bool `json:"code,omitempty"`
CloudID string `json:"cloudID,omitempty"`
ServerID int64 `json:"serverID,omitempty"`
ServerName string `json:"serverName,omitempty"`
ServerType string `json:"serverType,omitempty"`
Host string `json:"host"`
SSHUser string `json:"sshUser,omitempty"`
SSHPort string `json:"sshPort,omitempty"`
SSHFallbackPorts []string `json:"sshFallbackPorts,omitempty"`
WorkRoot string `json:"workRoot,omitempty"`
Profile string `json:"profile,omitempty"`
Class string `json:"class,omitempty"`
Pond string `json:"pond,omitempty"`
ExposedPorts []string `json:"exposedPorts,omitempty"`
TTLSeconds int `json:"ttlSeconds,omitempty"`
IdleTimeoutSeconds int `json:"idleTimeoutSeconds,omitempty"`
RuntimeAdapterID string `json:"runtimeAdapterID,omitempty"`
RuntimeWorkspaceID string `json:"runtimeAdapterWorkspaceID,omitempty"`
RuntimeRegistrationID string `json:"runtimeAdapterRegistrationID,omitempty"`
}
type CoordinatorLifetimeReadback ¶ added in v0.75.0
type CoordinatorLifetimeReadback struct {
LeaseID string `json:"leaseId"`
Provider string `json:"provider"`
Region string `json:"region"`
InstanceID string `json:"instanceId"`
InstanceState string `json:"instanceState"`
RootVolumeID string `json:"rootVolumeId"`
RootVolumePresent *bool `json:"rootVolumePresent,omitempty"`
RootIdentityEvidence *CoordinatorRootIdentityEvidence `json:"rootIdentityEvidence,omitempty"`
ObservedAt string `json:"observedAt"`
}
type CoordinatorMacHost ¶ added in v0.15.0
type CoordinatorMacHost struct {
ID string `json:"id"`
State string `json:"state"`
Region string `json:"region"`
AvailabilityZone string `json:"availabilityZone"`
InstanceType string `json:"instanceType"`
AutoPlacement string `json:"autoPlacement"`
AllocationTime string `json:"allocationTime,omitempty"`
ReleaseTime string `json:"releaseTime,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
}
type CoordinatorMacHostAllocationDryRun ¶ added in v0.15.0
type CoordinatorMacHostOffering ¶ added in v0.15.0
type CoordinatorMacHostQuota ¶ added in v0.15.0
type CoordinatorMacHostQuota struct {
ServiceCode string `json:"serviceCode,omitempty"`
QuotaCode string `json:"quotaCode"`
QuotaName string `json:"quotaName"`
Value float64 `json:"value"`
Adjustable bool `json:"adjustable,omitempty"`
GlobalQuota bool `json:"globalQuota,omitempty"`
Unit string `json:"unit,omitempty"`
}
type CoordinatorMachine ¶
type CoordinatorMarketplaceFeatures ¶ added in v0.34.0
type CoordinatorMarketplaceQuote ¶ added in v0.34.0
type CoordinatorMarketplaceQuote struct {
ID string `json:"id"`
Mode string `json:"mode"`
Currency string `json:"currency"`
CreditUnit string `json:"creditUnit"`
Strategy string `json:"strategy"`
TTLSeconds int `json:"ttlSeconds"`
Candidates []CoordinatorMarketplaceQuoteCandidate `json:"candidates"`
Selected *CoordinatorMarketplaceQuoteCandidate `json:"selected,omitempty"`
RoutingPlan []CoordinatorMarketplaceRouteTier `json:"routingPlan,omitempty"`
Warnings []string `json:"warnings"`
}
type CoordinatorMarketplaceQuoteCandidate ¶ added in v0.34.0
type CoordinatorMarketplaceQuoteCandidate struct {
Provider string `json:"provider"`
Target string `json:"target"`
Class string `json:"class"`
ServerType string `json:"serverType"`
Priority int `json:"priority"`
Weight float64 `json:"weight"`
TTLSeconds int `json:"ttlSeconds"`
CostHourlyUSD float64 `json:"costHourlyUSD"`
RetailHourlyUSD float64 `json:"retailHourlyUSD"`
EstimatedCostUSD float64 `json:"estimatedCostUSD"`
Credits float64 `json:"credits"`
MarginUSD float64 `json:"marginUSD"`
RouteKey string `json:"routeKey"`
Available bool `json:"available"`
}
type CoordinatorMarketplaceQuoteRequest ¶ added in v0.34.0
type CoordinatorMarketplaceQuoteRequest struct {
Provider string `json:"provider,omitempty"`
Providers []string `json:"providers,omitempty"`
Class string `json:"class,omitempty"`
ServerType string `json:"serverType,omitempty"`
Target string `json:"target,omitempty"`
TTLSeconds int `json:"ttlSeconds,omitempty"`
MaxCredits float64 `json:"maxCredits,omitempty"`
Strategy string `json:"strategy,omitempty"`
}
type CoordinatorMarketplaceQuoteResponse ¶ added in v0.34.0
type CoordinatorMarketplaceQuoteResponse struct {
Quote CoordinatorMarketplaceQuote `json:"quote"`
Marketplace CoordinatorMarketplaceStatus `json:"marketplace"`
Owner string `json:"owner,omitempty"`
Org string `json:"org,omitempty"`
}
type CoordinatorMarketplaceRouteTier ¶ added in v0.34.0
type CoordinatorMarketplaceRouteTier struct {
Priority int `json:"priority"`
Active bool `json:"active"`
Members []CoordinatorMarketplaceRouteTierMember `json:"members"`
}
type CoordinatorMarketplaceRouteTierMember ¶ added in v0.34.0
type CoordinatorMarketplaceSettlement ¶ added in v0.34.0
type CoordinatorMarketplaceStatus ¶ added in v0.34.0
type CoordinatorMarketplaceStatus struct {
Enabled bool `json:"enabled"`
Mode string `json:"mode"`
Currency string `json:"currency"`
CreditUnit string `json:"creditUnit"`
RequireCreditsForLeases bool `json:"requireCreditsForLeases"`
SupportedProviders []string `json:"supportedProviders"`
Features CoordinatorMarketplaceFeatures `json:"features"`
Settlement CoordinatorMarketplaceSettlement `json:"settlement"`
DecisionsRequired []string `json:"decisionsRequired"`
}
type CoordinatorMarketplaceStatusResponse ¶ added in v0.34.0
type CoordinatorMarketplaceStatusResponse struct {
Marketplace CoordinatorMarketplaceStatus `json:"marketplace"`
Owner string `json:"owner,omitempty"`
Org string `json:"org,omitempty"`
}
type CoordinatorMode ¶ added in v0.6.0
type CoordinatorMode string
const ( CoordinatorNever CoordinatorMode = "never" CoordinatorSupported CoordinatorMode = "supported" )
type CoordinatorOrgCapacity ¶ added in v0.71.0
type CoordinatorOrgCapacity struct {
Key string `json:"key"`
CoordinatorCapacityDimension
}
type CoordinatorPoolGrant ¶ added in v0.64.0
type CoordinatorProviderReadiness ¶ added in v0.10.0
type CoordinatorProviderReadiness struct {
Provider string `json:"provider"`
Configured bool `json:"configured"`
Missing []string `json:"missing,omitempty"`
Message string `json:"message,omitempty"`
Checks []DoctorCheck `json:"checks,omitempty"`
}
type CoordinatorProvisioningPhase ¶ added in v0.50.0
type CoordinatorProvisioningTiming ¶ added in v0.41.1
type CoordinatorProvisioningTiming struct {
RequestMs int64 `json:"requestMs"`
NetworkReadyMs int64 `json:"networkReadyMs,omitempty"`
BootstrapMs int64 `json:"bootstrapMs,omitempty"`
TotalMs int64 `json:"totalMs"`
Phases []CoordinatorProvisioningPhase `json:"phases,omitempty"`
}
func (*CoordinatorProvisioningTiming) UnmarshalJSON ¶ added in v0.50.0
func (timing *CoordinatorProvisioningTiming) UnmarshalJSON(data []byte) error
type CoordinatorReadyPoolCapacityCounts ¶ added in v0.41.1
type CoordinatorReadyPoolCounters ¶ added in v0.41.1
type CoordinatorReadyPoolCounters struct {
BorrowRequests int `json:"borrowRequests"`
WarmHits int `json:"warmHits"`
WarmMisses int `json:"warmMisses"`
FillClaimsCreated int `json:"fillClaimsCreated"`
FillClaimsCompleted int `json:"fillClaimsCompleted"`
BorrowHeartbeats int `json:"borrowHeartbeats"`
Quarantined int `json:"quarantined"`
StalePruned int `json:"stalePruned"`
UpdatedAt string `json:"updatedAt"`
}
type CoordinatorReadyPoolEntry ¶ added in v0.25.0
type CoordinatorReadyPoolEntry struct {
BorrowHardDeadline string `json:"borrowHardDeadline,omitempty"`
Key string `json:"key"`
LeaseID string `json:"leaseID"`
State string `json:"state"`
Owner string `json:"owner"`
Org string `json:"org"`
Repo string `json:"repo,omitempty"`
Ref string `json:"ref,omitempty"`
Commit string `json:"commit,omitempty"`
Fingerprint string `json:"fingerprint,omitempty"`
CompatibilityKey string `json:"compatibilityKey,omitempty"`
Identity *CoordinatorReadyPoolIdentityV1 `json:"identity,omitempty"`
Image string `json:"image,omitempty"`
Provider string `json:"provider,omitempty"`
TargetOS string `json:"target,omitempty"`
WindowsMode string `json:"windowsMode,omitempty"`
Class string `json:"class,omitempty"`
ServerType string `json:"serverType,omitempty"`
SSHHost string `json:"sshHost,omitempty"`
SSHUser string `json:"sshUser,omitempty"`
SSHPort string `json:"sshPort,omitempty"`
WorkRoot string `json:"workRoot,omitempty"`
BorrowedBy string `json:"borrowedBy,omitempty"`
BorrowedAt string `json:"borrowedAt,omitempty"`
BorrowHeartbeatAt string `json:"borrowHeartbeatAt,omitempty"`
BorrowExpiresAt string `json:"borrowExpiresAt,omitempty"`
BorrowToken string `json:"borrowToken,omitempty"`
LastReadyAt string `json:"lastReadyAt,omitempty"`
LastUsedAt string `json:"lastUsedAt,omitempty"`
LastResult string `json:"lastResult,omitempty"`
FailureCount int `json:"failureCount,omitempty"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
ExpiresAt string `json:"expiresAt"`
}
type CoordinatorReadyPoolFillClaim ¶ added in v0.41.1
type CoordinatorReadyPoolIdentityV1 ¶ added in v0.47.0
type CoordinatorReadyPoolIdentityV1 struct {
Schema string `json:"schema"`
Image CoordinatorReadyPoolImageIdentity `json:"image"`
Architecture string `json:"architecture"`
SeedDigest string `json:"seedDigest"`
CacheCompatibility string `json:"cacheCompatibility"`
}
type CoordinatorReadyPoolImageIdentity ¶ added in v0.47.0
type CoordinatorReadyPoolReconcileResponse ¶ added in v0.41.1
type CoordinatorReadyPoolReconcileResponse struct {
Desired struct {
Key string `json:"key"`
CompatibilityKey string `json:"compatibilityKey,omitempty"`
Criteria map[string]any `json:"criteria"`
MinReady int `json:"minReady"`
MaxReady int `json:"maxReady"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
} `json:"desired"`
Counts CoordinatorReadyPoolCapacityCounts `json:"counts"`
Satisfied bool `json:"satisfied"`
Reconciling bool `json:"reconciling"`
Capped bool `json:"capped"`
Claim *CoordinatorReadyPoolFillClaim `json:"claim,omitempty"`
Counters CoordinatorReadyPoolCounters `json:"counters"`
}
type CoordinatorReadyPoolResponse ¶ added in v0.25.0
type CoordinatorReadyPoolResponse struct {
Grant *CoordinatorPoolGrant `json:"grant,omitempty"`
BorrowToken string `json:"borrowToken,omitempty"`
ReceiptToken string `json:"receiptToken,omitempty"`
Entry CoordinatorReadyPoolEntry `json:"entry"`
Lease CoordinatorLease `json:"lease"`
}
type CoordinatorRetainedReconcile ¶ added in v0.76.0
type CoordinatorRetainedReconcile struct {
Version int `json:"version"`
Settings struct {
Mode string `json:"mode"`
Delete bool `json:"delete"`
Budget int `json:"budget"`
GraceSeconds int `json:"graceSeconds"`
LookupBudget int `json:"lookupBudget"`
AWSLegacyAccountConfigured bool `json:"awsLegacyAccountConfigured"`
} `json:"settings"`
Cursor string `json:"cursor"`
Cycles int64 `json:"cycles"`
Scanned int64 `json:"scanned"`
LastPassAt string `json:"lastPassAt"`
Counters map[string]map[string]int64 `json:"counters"`
LastPass *struct {
Counters map[string]map[string]int64 `json:"counters"`
Sample []struct {
ID string `json:"id"`
Provider string `json:"provider"`
Outcome string `json:"outcome"`
} `json:"sample"`
} `json:"lastPass,omitempty"`
Backoff map[string]struct {
Until int64 `json:"until"`
Failures int `json:"failures"`
} `json:"backoff"`
}
type CoordinatorRootIdentityEvidence ¶ added in v0.79.2
type CoordinatorRun ¶
type CoordinatorRun struct {
EventAppendIdempotent bool `json:"eventAppendIdempotent,omitempty"`
AdmissionFailedBeforeWork bool `json:"admissionFailedBeforeWork,omitempty"`
ID string `json:"id"`
LeaseID string `json:"leaseID"`
LeaseIDs []string `json:"leaseIDs,omitempty"`
Slug string `json:"slug,omitempty"`
Owner string `json:"owner"`
Org string `json:"org"`
LeaseOwners []CoordinatorRunLeaseOwner `json:"leaseOwners,omitempty"`
Provider string `json:"provider"`
TargetOS string `json:"target,omitempty"`
WindowsMode string `json:"windowsMode,omitempty"`
Class string `json:"class"`
ServerType string `json:"serverType"`
Command []string `json:"command"`
Label string `json:"label,omitempty"`
State string `json:"state"`
Phase string `json:"phase,omitempty"`
ExitCode *int `json:"exitCode,omitempty"`
SyncMs int64 `json:"syncMs,omitempty"`
CommandMs int64 `json:"commandMs,omitempty"`
DurationMs int64 `json:"durationMs,omitempty"`
LogBytes int64 `json:"logBytes"`
LogTruncated bool `json:"logTruncated"`
BlockedStage string `json:"blockedStage,omitempty"`
RetryLikely string `json:"retryLikely,omitempty"`
Results *TestResultSummary `json:"results,omitempty"`
Telemetry *RunTelemetrySummary `json:"telemetry,omitempty"`
StartedAt string `json:"startedAt"`
LastEventAt string `json:"lastEventAt,omitempty"`
EventCount int `json:"eventCount,omitempty"`
EndedAt string `json:"endedAt,omitempty"`
}
type CoordinatorRunEvent ¶ added in v0.3.0
type CoordinatorRunEvent struct {
RunID string `json:"runID"`
Seq int `json:"seq"`
Type string `json:"type"`
Phase string `json:"phase,omitempty"`
Stream string `json:"stream,omitempty"`
Message string `json:"message,omitempty"`
Data string `json:"data,omitempty"`
LeaseID string `json:"leaseID,omitempty"`
Slug string `json:"slug,omitempty"`
Provider string `json:"provider,omitempty"`
TargetOS string `json:"target,omitempty"`
WindowsMode string `json:"windowsMode,omitempty"`
Class string `json:"class,omitempty"`
ServerType string `json:"serverType,omitempty"`
ExitCode *int `json:"exitCode,omitempty"`
CreatedAt string `json:"createdAt"`
}
type CoordinatorRunEventInput ¶ added in v0.3.0
type CoordinatorRunEventInput struct {
ID string `json:"id,omitempty"`
Type string `json:"type,omitempty"`
Phase string `json:"phase,omitempty"`
Stream string `json:"stream,omitempty"`
Message string `json:"message,omitempty"`
Data string `json:"data,omitempty"`
LeaseID string `json:"leaseID,omitempty"`
Slug string `json:"slug,omitempty"`
Provider string `json:"provider,omitempty"`
TargetOS string `json:"target,omitempty"`
WindowsMode string `json:"windowsMode,omitempty"`
Class string `json:"class,omitempty"`
ServerType string `json:"serverType,omitempty"`
ExitCode *int `json:"exitCode,omitempty"`
}
type CoordinatorRunEventResponse ¶ added in v0.3.0
type CoordinatorRunEventResponse struct {
Event CoordinatorRunEvent `json:"event"`
}
type CoordinatorRunEventsResponse ¶ added in v0.3.0
type CoordinatorRunEventsResponse struct {
Events []CoordinatorRunEvent `json:"events"`
}
type CoordinatorRunLeaseOwner ¶ added in v0.32.0
type CoordinatorRunResponse ¶
type CoordinatorRunResponse struct {
Run CoordinatorRun `json:"run"`
}
type CoordinatorRunsResponse ¶
type CoordinatorRunsResponse struct {
Runs []CoordinatorRun `json:"runs"`
}
type CoordinatorShare ¶ added in v0.7.0
type CoordinatorShare struct {
}
type CoordinatorUsageGroup ¶
type CoordinatorUsageGroup struct {
Key string `json:"key"`
Label string `json:"label,omitempty"`
CPUSeconds *int64 `json:"cpuSeconds,omitempty"`
Leases int `json:"leases"`
ActiveLeases int `json:"activeLeases"`
RuntimeSeconds int64 `json:"runtimeSeconds"`
EstimatedUSD float64 `json:"estimatedUSD"`
ReservedUSD float64 `json:"reservedUSD"`
CommittedUSD *float64 `json:"committedUSD,omitempty"`
}
type CoordinatorUsageResponse ¶
type CoordinatorUsageResponse struct {
Usage CoordinatorUsageSummary `json:"usage"`
Limits CoordinatorCostLimits `json:"limits"`
}
type CoordinatorUsageSummary ¶
type CoordinatorUsageSummary struct {
Month string `json:"month"`
Scope string `json:"scope"`
Owner string `json:"owner,omitempty"`
Org string `json:"org,omitempty"`
Leases int `json:"leases"`
ActiveLeases int `json:"activeLeases"`
RuntimeSeconds int64 `json:"runtimeSeconds"`
EstimatedUSD float64 `json:"estimatedUSD"`
ReservedUSD float64 `json:"reservedUSD"`
CommittedUSD *float64 `json:"committedUSD,omitempty"`
ByOwner []CoordinatorUsageGroup `json:"byOwner"`
ByOrg []CoordinatorUsageGroup `json:"byOrg"`
ByProvider []CoordinatorUsageGroup `json:"byProvider"`
ByServerType []CoordinatorUsageGroup `json:"byServerType"`
ByMachine []CoordinatorUsageGroup `json:"byMachine"`
}
type CoordinatorWebVNCCredentialHandoff ¶ added in v0.37.0
type CoordinatorWebVNCEvent ¶ added in v0.7.0
type CoordinatorWebVNCReset ¶ added in v0.7.0
type CoordinatorWebVNCReset struct {
LeaseID string `json:"leaseID"`
Slug string `json:"slug,omitempty"`
BridgeWasConnected bool `json:"bridgeWasConnected"`
ViewerWasConnected bool `json:"viewerWasConnected"`
Command string `json:"command"`
Events []CoordinatorWebVNCEvent `json:"events,omitempty"`
}
type CoordinatorWebVNCStatus ¶ added in v0.7.0
type CoordinatorWebVNCStatus struct {
RemoteRetirementProtocol int `json:"remoteRetirementProtocol,omitempty"`
LeaseID string `json:"leaseID"`
Slug string `json:"slug,omitempty"`
BridgeConnected bool `json:"bridgeConnected"`
ViewerConnected bool `json:"viewerConnected"`
ViewerCount int `json:"viewerCount,omitempty"`
ObserverCount int `json:"observerCount,omitempty"`
AvailableViewerSlots int `json:"availableViewerSlots,omitempty"`
ControllerLabel string `json:"controllerLabel,omitempty"`
Command string `json:"command"`
Message string `json:"message,omitempty"`
Events []CoordinatorWebVNCEvent `json:"events,omitempty"`
}
type CoordinatorWebVNCTicket ¶ added in v0.5.0
type CoordinatorWebVNCViewerBootstrap ¶ added in v0.39.0
type CoordinatorWhoami ¶
type CopyBackend ¶ added in v0.26.1
type CopyBackend interface {
Backend
Copy(ctx context.Context, req CopyRequest) error
}
type CopyRequest ¶ added in v0.26.1
type CreationEvent ¶ added in v0.68.0
type CreationEvent struct {
Phase string `json:"phase"`
At string `json:"at"`
Source string `json:"source"`
Step string `json:"step,omitempty"`
DurationMs *float64 `json:"durationMs,omitempty"`
Count int64 `json:"count,omitempty"`
Errors *int64 `json:"errors,omitempty"`
}
CreationEvent is an observation, never authority for readiness or ownership. At belongs to Source's clock; events must not be subtracted across clocks.
type CreationRejection ¶ added in v0.73.0
type CreationRejection struct {
Version int `json:"version"`
RequestedLeaseID string `json:"requestedLeaseId"`
Code string `json:"code"`
}
CreationRejection describes a requested fixed identity rejected before lease admission. It is not an allocated lease or a cleanup confirmation.
type CrownestConfig ¶ added in v0.34.0
type CrownestConfig struct {
APIURL string `` /* 233-byte string literal not displayed */
ProjectID string `` /* 166-byte string literal not displayed */
Template string `` /* 193-byte string literal not displayed */
TimeoutSecs int `` /* 252-byte string literal not displayed */
ForgetMissing bool `` /* 204-byte string literal not displayed */
}
CrownestConfig owns ordinary bindings; credentials and URL validation remain separate.
type CrownestConfigApplied ¶ added in v0.56.0
type CrownestConfigApplied struct {
InputAccepted bool
}
CrownestConfigApplied records accepted assignments during one application.
type CrownestConfigFlagValues ¶ added in v0.56.0
type CrownestConfigFlagValues struct {
APIURL *string
ProjectID *string
Template *string
TimeoutSecs *int
ForgetMissing *bool
}
CrownestConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterCrownestConfigFlags ¶ added in v0.56.0
func RegisterCrownestConfigFlags(fs *flag.FlagSet, defaults CrownestConfig) CrownestConfigFlagValues
RegisterCrownestConfigFlags registers mechanical bindings without selecting a provider.
func (CrownestConfigFlagValues) Apply ¶ added in v0.56.0
func (values CrownestConfigFlagValues) Apply(cfg *CrownestConfig, fs *flag.FlagSet) (CrownestConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type CuaConfig ¶ added in v0.39.0
type CuaConfig struct {
APIURL string `` /* 156-byte string literal not displayed */
Image string `` /* 138-byte string literal not displayed */
Kind string `` /* 142-byte string literal not displayed */
Region string `` /* 149-byte string literal not displayed */
Workdir string `` /* 172-byte string literal not displayed */
VCPUs int `` /* 155-byte string literal not displayed */
MemoryMB int `` /* 168-byte string literal not displayed */
DiskGB int `` /* 160-byte string literal not displayed */
StartupTimeoutSecs int `` /* 214-byte string literal not displayed */
ExecTimeoutSecs int `` /* 215-byte string literal not displayed */
BridgeCommand string `` /* 189-byte string literal not displayed */
SDKPackage string `` /* 175-byte string literal not displayed */
SDKImport string `` /* 171-byte string literal not displayed */
SDKFallbackImport string `` /* 207-byte string literal not displayed */
}
CuaConfig describes mechanical bindings for the read-only CUA provider. APIURL has no YAML source. Bridge/SDK fields retain trusted-file-only admission; credentials and provider validation remain outside these bindings.
type CuaConfigApplied ¶ added in v0.56.0
type CuaConfigApplied struct {
InputAccepted bool
}
CuaConfigApplied records accepted assignments during one application.
type CuaConfigFlagValues ¶ added in v0.53.0
type CuaConfigFlagValues struct {
APIURL *string
Image *string
Kind *string
Region *string
Workdir *string
VCPUs *int
MemoryMB *int
DiskGB *int
StartupTimeoutSecs *int
ExecTimeoutSecs *int
BridgeCommand *string
SDKPackage *string
SDKImport *string
SDKFallbackImport *string
}
CuaConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterCuaConfigFlags ¶ added in v0.53.0
func RegisterCuaConfigFlags(fs *flag.FlagSet, defaults CuaConfig) CuaConfigFlagValues
RegisterCuaConfigFlags registers mechanical bindings without selecting a provider.
func (CuaConfigFlagValues) Apply ¶ added in v0.53.0
func (values CuaConfigFlagValues) Apply(cfg *CuaConfig, fs *flag.FlagSet) (CuaConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type CubeSandboxConfig ¶ added in v0.37.0
type CubeSandboxConfig struct {
APIKey string `env:"CRABBOX_CUBESANDBOX_API_KEY" envAlias:"CUBE_API_KEY" envAlias2:"E2B_API_KEY" sources:"env"`
APIURL string `` /* 276-byte string literal not displayed */
Domain string `` /* 251-byte string literal not displayed */
Template string `` /* 219-byte string literal not displayed */
Workdir string `` /* 212-byte string literal not displayed */
User string `` /* 203-byte string literal not displayed */
ProxyNodeIP string `` /* 285-byte string literal not displayed */
ProxyPortHTTP int `` /* 355-byte string literal not displayed */
ProxyScheme string `` /* 265-byte string literal not displayed */
}
CubeSandboxConfig describes mechanical bindings; endpoint provenance remains owned by the loader and credential destination policy.
type CubeSandboxConfigApplied ¶ added in v0.65.0
type CubeSandboxConfigApplied struct {
InputAccepted bool
APIURL bool
Domain bool
ProxyNodeIP bool
ProxyPortHTTP bool
ProxyScheme bool
}
CubeSandboxConfigApplied records accepted assignments during one application.
type CubeSandboxConfigFlagValues ¶ added in v0.65.0
type CubeSandboxConfigFlagValues struct {
APIURL *string
Domain *string
Template *string
Workdir *string
User *string
ProxyNodeIP *string
ProxyPortHTTP *int
ProxyScheme *string
}
CubeSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterCubeSandboxConfigFlags ¶ added in v0.65.0
func RegisterCubeSandboxConfigFlags(fs *flag.FlagSet, defaults CubeSandboxConfig) CubeSandboxConfigFlagValues
RegisterCubeSandboxConfigFlags registers mechanical bindings without selecting a provider.
func (CubeSandboxConfigFlagValues) Apply ¶ added in v0.65.0
func (values CubeSandboxConfigFlagValues) Apply(cfg *CubeSandboxConfig, fs *flag.FlagSet) (CubeSandboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type CubeSandboxConfigVisitedFlags ¶ added in v0.65.0
type CubeSandboxConfigVisitedFlags struct {
APIURL bool
Domain bool
ProxyNodeIP bool
ProxyPortHTTP bool
ProxyScheme bool
}
CubeSandboxConfigVisitedFlags records raw flag visits, independently of application.
func CubeSandboxConfigFlagPresence ¶ added in v0.65.0
func CubeSandboxConfigFlagPresence(fs *flag.FlagSet) CubeSandboxConfigVisitedFlags
CubeSandboxConfigFlagPresence reports visits for tracked flag bindings.
type DaytonaConfig ¶ added in v0.6.0
type DaytonaConfig struct {
APIKey string `env:"CRABBOX_DAYTONA_API_KEY" envAlias:"DAYTONA_API_KEY" sources:"env" reportApplied:"true"`
JWTToken string `env:"CRABBOX_DAYTONA_JWT_TOKEN" envAlias:"DAYTONA_JWT_TOKEN" sources:"env" reportApplied:"true"`
OrganizationID string `env:"CRABBOX_DAYTONA_ORGANIZATION_ID" envAlias:"DAYTONA_ORGANIZATION_ID" sources:"env"`
APIURL string `` /* 248-byte string literal not displayed */
Snapshot string `` /* 201-byte string literal not displayed */
Target string `` /* 194-byte string literal not displayed */
User string `` /* 178-byte string literal not displayed */
WorkRoot string `` /* 211-byte string literal not displayed */
SSHGatewayHost string `` /* 248-byte string literal not displayed */
SSHAccessMinutes int `` /* 265-byte string literal not displayed */
}
DaytonaConfig owns mechanical bindings; environment-only credentials do not gain file or argv bindings, and source provenance remains in core wrappers.
type DaytonaConfigApplied ¶ added in v0.61.0
type DaytonaConfigApplied struct {
InputAccepted bool
APIKey bool
JWTToken bool
APIURL bool
SSHGatewayHost bool
}
DaytonaConfigApplied records accepted assignments during one application.
type DaytonaConfigFlagValues ¶ added in v0.61.0
type DaytonaConfigFlagValues struct {
APIURL *string
Snapshot *string
Target *string
User *string
WorkRoot *string
SSHGatewayHost *string
SSHAccessMinutes *int
}
DaytonaConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterDaytonaConfigFlags ¶ added in v0.61.0
func RegisterDaytonaConfigFlags(fs *flag.FlagSet, defaults DaytonaConfig) DaytonaConfigFlagValues
RegisterDaytonaConfigFlags registers mechanical bindings without selecting a provider.
func (DaytonaConfigFlagValues) Apply ¶ added in v0.61.0
func (values DaytonaConfigFlagValues) Apply(cfg *DaytonaConfig, fs *flag.FlagSet) (DaytonaConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type DaytonaConfigVisitedFlags ¶ added in v0.61.0
DaytonaConfigVisitedFlags records raw flag visits, independently of application.
func DaytonaConfigFlagPresence ¶ added in v0.61.0
func DaytonaConfigFlagPresence(fs *flag.FlagSet) DaytonaConfigVisitedFlags
DaytonaConfigFlagPresence reports visits for tracked flag bindings.
type DelegatedArchivePreparationRequest ¶ added in v0.46.0
type DelegatedCheckpointBackend ¶ added in v0.72.0
type DelegatedCheckpointBackend interface {
DelegatedRunBackend
// ResolveCheckpointSource resolves a lease the current repository already
// claims; it never adopts or reclaims one.
ResolveCheckpointSource(ctx context.Context, req ResolveRequest) (LeaseTarget, error)
// ForkNativeCheckpoint creates and claims one lease started from the record.
ForkNativeCheckpoint(ctx context.Context, req DelegatedCheckpointForkRequest) (DelegatedCheckpointFork, error)
}
DelegatedCheckpointBackend lets a delegated-run backend, which exposes no SSH target, create and fork native checkpoints. Its provider still implements NativeCheckpointProvider and NativeCheckpointLifecycleProvider.
type DelegatedCheckpointFork ¶ added in v0.72.0
type DelegatedCheckpointFork struct {
Lease LeaseTarget
Workdir string
}
type DelegatedCheckpointForkRequest ¶ added in v0.72.0
type DelegatedCheckpointForkRequest struct {
Repo Repo
RequestedSlug string
Record NativeCheckpointForkRecord
Workdir string
}
type DelegatedFixedReleaseBackend ¶ added in v0.64.0
type DelegatedFixedReleaseBackend interface {
StopFixed(context.Context, FixedStopRequest) error
}
type DelegatedFixedWarmupBackend ¶ added in v0.64.0
type DelegatedFixedWarmupBackend interface {
WarmupFixed(context.Context, FixedWarmupRequest) error
}
DelegatedFixedWarmupBackend explicitly opts into durable delegated acquisition.
type DelegatedRunBackend ¶ added in v0.6.0
type DelegatedRunBackend interface {
Backend
Warmup(ctx context.Context, req WarmupRequest) error
Run(ctx context.Context, req RunRequest) (RunResult, error)
List(ctx context.Context, req ListRequest) ([]LeaseView, error)
Status(ctx context.Context, req StatusRequest) (StatusView, error)
// Stop owns local claim finalization, including retention. Callers must not
// remove the claim afterward: a replacement may exist once Stop returns.
Stop(ctx context.Context, req StopRequest) error
}
type DelegatedRunDownloadBackend ¶ added in v0.31.0
type DelegatedRunDownloadRequest ¶ added in v0.31.0
type DesktopCredentialProvider ¶ added in v0.28.0
type DesktopCredentialProvider interface {
DesktopCredentials(cfg Config, target SSHTarget) (DesktopCredentials, bool)
}
type DesktopCredentialResolver ¶ added in v0.39.0
type DesktopCredentialResolver interface {
ResolveDesktopCredentials(cfg Config, target SSHTarget) (DesktopCredentials, bool, error)
}
DesktopCredentialResolver is the error-reporting form used by providers whose configured credential source can be present but unavailable at runtime.
type DesktopCredentials ¶ added in v0.28.0
type DesktopLeaseCapabilityProvider ¶ added in v0.63.0
type DesktopLeaseCapabilityProvider interface {
DesktopLeaseWithoutLabel(cfg Config, server Server, leaseID string) (bool, error)
}
DesktopLeaseCapabilityProvider admits an existing macOS desktop without a creation-time desktop label. Providers must verify ownership; normal SSH/RFB authentication and desktop readiness checks still apply afterward.
type DigitalOceanConfig ¶ added in v0.29.0
type DigitalOceanConfig struct {
Region string `config:"region" env:"CRABBOX_DIGITALOCEAN_REGION" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
Image string `` /* 135-byte string literal not displayed */
VPCUUID string `config:"vpc" env:"CRABBOX_DIGITALOCEAN_VPC" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
SSHCIDRs []string `config:"sshCIDRs" env:"CRABBOX_DIGITALOCEAN_SSH_CIDRS" sources:"user,repo,env" fileList:"nonempty-raw" fileStorage:"value"`
}
DigitalOceanConfig contains non-secret settings without provider flags. Token loading and portable OS selection remain separate policy.
type DigitalOceanConfigApplied ¶ added in v0.55.0
DigitalOceanConfigApplied records accepted assignments during one application.
type DockerSandboxConfig ¶ added in v0.26.1
type DockerSandboxConfig struct {
CLIPath string `` /* 195-byte string literal not displayed */
Agent string `` /* 217-byte string literal not displayed */
Template string `` /* 146-byte string literal not displayed */
CPUs float64 `` /* 178-byte string literal not displayed */
Memory string `` /* 143-byte string literal not displayed */
Clone bool `` /* 167-byte string literal not displayed */
Workdir string `` /* 172-byte string literal not displayed */
ExtraWorkspaces []string `` /* 275-byte string literal not displayed */
MCP []string `` /* 224-byte string literal not displayed */
Kit []string `` /* 227-byte string literal not displayed */
}
DockerSandboxConfig owns input bindings; final validation stays provider-owned.
type DockerSandboxConfigApplied ¶ added in v0.62.0
type DockerSandboxConfigApplied struct {
InputAccepted bool
}
DockerSandboxConfigApplied records accepted assignments during one application.
type DockerSandboxConfigFlagValues ¶ added in v0.62.0
type DockerSandboxConfigFlagValues struct {
CLIPath *string
Agent *string
Template *string
CPUs *float64
Memory *string
Clone *bool
Workdir *string
ExtraWorkspaces *appendTrimmedNonemptyListFlag
MCP *appendTrimmedNonemptyListFlag
Kit *appendTrimmedNonemptyListFlag
}
DockerSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterDockerSandboxConfigFlags ¶ added in v0.62.0
func RegisterDockerSandboxConfigFlags(fs *flag.FlagSet, defaults DockerSandboxConfig) DockerSandboxConfigFlagValues
RegisterDockerSandboxConfigFlags registers mechanical bindings without selecting a provider.
func (DockerSandboxConfigFlagValues) Apply ¶ added in v0.62.0
func (values DockerSandboxConfigFlagValues) Apply(cfg *DockerSandboxConfig, fs *flag.FlagSet) (DockerSandboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type DoctorBackend ¶ added in v0.16.0
type DoctorBackend interface {
Backend
Doctor(ctx context.Context, req DoctorRequest) (DoctorResult, error)
}
func ConfigureProviderDoctor ¶ added in v0.59.0
func ConfigureProviderDoctor(provider Provider, cfg Config, rt Runtime) (DoctorBackend, error)
ConfigureProviderDoctor configures only the selected provider. An override may omit acquisition-only requirements; otherwise its ordinary backend owns diagnostics. A nil backend and nil error mean direct doctor is unsupported.
type DoctorCheck ¶ added in v0.19.0
type DoctorProfileConfig ¶ added in v0.15.0
type DoctorProvider ¶ added in v0.16.0
type DoctorProvider interface {
Provider
ConfigureDoctor(cfg Config, rt Runtime) (DoctorBackend, error)
}
DoctorProvider overrides diagnostic configuration when the ordinary backend requires acquisition-only inputs. Otherwise core uses Configure and DoctorBackend.
type DoctorRequest ¶ added in v0.16.0
type DoctorRequest struct {
ProbeSSH bool
}
type DoctorResult ¶ added in v0.16.0
type DoctorResult struct {
Provider string
Message string
Status string
Checks []DoctorCheck
}
func CLIDoctorResult ¶ added in v0.16.0
func CLIDoctorResult(provider string, leases int, runtime string) DoctorResult
func InventoryDoctorResult ¶ added in v0.16.0
func InventoryDoctorResult(provider string, leases int) DoctorResult
type E2BConfig ¶ added in v0.8.0
type E2BConfig struct {
APIKey string `env:"CRABBOX_E2B_API_KEY" envAlias:"E2B_API_KEY" sources:"env" reportApplied:"true"`
APIURL string `` /* 225-byte string literal not displayed */
Domain string `` /* 217-byte string literal not displayed */
Template string `` /* 182-byte string literal not displayed */
Workdir string `` /* 188-byte string literal not displayed */
User string `` /* 179-byte string literal not displayed */
}
E2BConfig describes mechanical bindings for the delegated provider. Credential provenance and destination validation remain owned by core policy.
type E2BConfigApplied ¶ added in v0.54.0
E2BConfigApplied records accepted assignments during one application.
type E2BConfigFlagValues ¶ added in v0.54.0
type E2BConfigFlagValues struct {
APIURL *string
Domain *string
Template *string
Workdir *string
User *string
}
E2BConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterE2BConfigFlags ¶ added in v0.54.0
func RegisterE2BConfigFlags(fs *flag.FlagSet, defaults E2BConfig) E2BConfigFlagValues
RegisterE2BConfigFlags registers mechanical bindings without selecting a provider.
func (E2BConfigFlagValues) Apply ¶ added in v0.54.0
func (values E2BConfigFlagValues) Apply(cfg *E2BConfig, fs *flag.FlagSet) (E2BConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type E2BConfigVisitedFlags ¶ added in v0.54.0
E2BConfigVisitedFlags records raw flag visits, independently of application.
func E2BConfigFlagPresence ¶ added in v0.54.0
func E2BConfigFlagPresence(fs *flag.FlagSet) E2BConfigVisitedFlags
E2BConfigFlagPresence reports visits for tracked flag bindings.
type ExclusiveOneShotAcquireBackend ¶ added in v0.41.3
type ExclusiveOneShotAcquireBackend interface {
AcquireIsExclusiveOneShot() bool
}
ExclusiveOneShotAcquireBackend marks Acquire results that are newly provisioned and exclusive to the caller until the one-shot run completes. Backends are non-exclusive by default.
type ExeDevConfig ¶ added in v0.16.0
type ExeDevConfig struct {
ControlHost string `` /* 254-byte string literal not displayed */
Image string `` /* 184-byte string literal not displayed */
Base string `` /* 195-byte string literal not displayed */
CPUs int `` /* 200-byte string literal not displayed */
Memory string `` /* 220-byte string literal not displayed */
Disk string `` /* 212-byte string literal not displayed */
Command string `` /* 174-byte string literal not displayed */
User string `` /* 164-byte string literal not displayed */
WorkRoot string `` /* 193-byte string literal not displayed */
NoEmail bool `` /* 161-byte string literal not displayed */
}
ExeDevConfig describes mechanical bindings for the SSH lease provider. Control-host provenance and destination validation remain core policy.
type ExeDevConfigApplied ¶ added in v0.54.0
ExeDevConfigApplied records accepted assignments during one application.
type ExeDevConfigFlagValues ¶ added in v0.54.0
type ExeDevConfigFlagValues struct {
ControlHost *string
Image *string
Base *string
CPUs *int
Memory *string
Disk *string
Command *string
User *string
WorkRoot *string
NoEmail *bool
}
ExeDevConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterExeDevConfigFlags ¶ added in v0.54.0
func RegisterExeDevConfigFlags(fs *flag.FlagSet, defaults ExeDevConfig) ExeDevConfigFlagValues
RegisterExeDevConfigFlags registers mechanical bindings without selecting a provider.
func (ExeDevConfigFlagValues) Apply ¶ added in v0.54.0
func (values ExeDevConfigFlagValues) Apply(cfg *ExeDevConfig, fs *flag.FlagSet) (ExeDevConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type ExeDevConfigVisitedFlags ¶ added in v0.54.0
type ExeDevConfigVisitedFlags struct {
ControlHost bool
}
ExeDevConfigVisitedFlags records raw flag visits, independently of application.
func ExeDevConfigFlagPresence ¶ added in v0.54.0
func ExeDevConfigFlagPresence(fs *flag.FlagSet) ExeDevConfigVisitedFlags
ExeDevConfigFlagPresence reports visits for tracked flag bindings.
type ExecLeaseClaimResolver ¶ added in v0.57.0
type ExecLeaseClaimResolver interface {
ResolveExecLeaseUnderClaim(context.Context, ResolveRequest, LeaseClaim) (LeaseTarget, error)
}
ExecLeaseClaimResolver admits only lease kinds whose release paths honor the same claim fence as exec. Core holds a shared fence through execution; the resolver must reject incompatible claims before native effects and must not reenter or publish claims while preparing fresh access.
type ExternalCapabilitiesConfig ¶ added in v0.31.0
type ExternalCapabilitiesConfig struct {
IdempotentLeaseID bool `yaml:"idempotentLeaseId,omitempty" json:"idempotentLeaseId,omitempty"`
}
type ExternalConfig ¶ added in v0.26.1
type ExternalConfig struct {
Command string
Args []string
Config map[string]any
Capabilities ExternalCapabilitiesConfig
Lifecycle ExternalLifecycleConfig
Connection ExternalConnectionConfig
WorkRoot string
RoutingFile string
// contains filtered or unexported fields
}
func LoadExternalRouting ¶ added in v0.26.1
func LoadExternalRouting(path string) (ExternalConfig, error)
func LoadExternalRoutingWithDigest ¶ added in v0.39.0
func LoadExternalRoutingWithDigest(path, expectedDigest string) (ExternalConfig, error)
LoadExternalRoutingWithDigest loads the same descriptor that it validates and rejects any route generation other than expectedDigest. Generated child commands use this to remain bound to the route their parent approved even if the deterministic path is atomically replaced before the child starts.
type ExternalConnectionConfig ¶ added in v0.26.1
type ExternalConnectionConfig struct {
ResourceName string `yaml:"resourceName,omitempty" json:"resourceName,omitempty"`
AllowEnvResourceName bool `yaml:"allowEnvResourceName,omitempty" json:"allowEnvResourceName,omitempty"`
CloudID string `yaml:"cloudId,omitempty" json:"cloudId,omitempty"`
ServerType string `yaml:"serverType,omitempty" json:"serverType,omitempty"`
Labels map[string]string `yaml:"labels,omitempty" json:"labels,omitempty"`
SSH ExternalSSHConnectionConfig `yaml:"ssh,omitempty" json:"ssh,omitempty"`
Desktop ExternalDesktopConfig `yaml:"desktop,omitempty" json:"desktop,omitzero"`
}
type ExternalDesktopConfig ¶ added in v0.39.0
type ExternalLifecycleConfig ¶ added in v0.26.1
type ExternalLifecycleConfig struct {
Doctor ExternalLifecycleOperation `yaml:"doctor,omitempty" json:"doctor,omitempty"`
Acquire ExternalLifecycleOperation `yaml:"acquire,omitempty" json:"acquire,omitempty"`
Resolve ExternalLifecycleOperation `yaml:"resolve,omitempty" json:"resolve,omitempty"`
List ExternalLifecycleOperation `yaml:"list,omitempty" json:"list,omitempty"`
Release ExternalLifecycleOperation `yaml:"release,omitempty" json:"release,omitempty"`
Touch ExternalLifecycleOperation `yaml:"touch,omitempty" json:"touch,omitempty"`
Cleanup ExternalLifecycleOperation `yaml:"cleanup,omitempty" json:"cleanup,omitempty"`
}
type ExternalLifecycleOperation ¶ added in v0.26.1
type ExternalLifecycleOperation struct {
Argv []string `yaml:"argv,omitempty" json:"argv,omitempty"`
Steps [][]string `yaml:"steps,omitempty" json:"steps,omitempty"`
Env map[string]string `yaml:"env,omitempty" json:"env,omitempty"`
AllowEnvArgv bool `yaml:"allowEnvArgv,omitempty" json:"allowEnvArgv,omitempty"`
AllowConfigArgv bool `yaml:"allowConfigArgv,omitempty" json:"allowConfigArgv,omitempty"`
Output string `yaml:"output,omitempty" json:"output,omitempty"`
NamePrefix string `yaml:"namePrefix,omitempty" json:"namePrefix,omitempty"`
RollbackOnFailure bool `yaml:"rollbackOnFailure,omitempty" json:"rollbackOnFailure,omitempty"`
}
type ExternalSSHConnectionConfig ¶ added in v0.26.1
type ExternalSSHConnectionConfig struct {
User string `yaml:"user,omitempty" json:"user,omitempty"`
Host string `yaml:"host,omitempty" json:"host,omitempty"`
Key string `yaml:"key,omitempty" json:"key,omitempty"`
Port string `yaml:"port,omitempty" json:"port,omitempty"`
FallbackPorts []string `yaml:"fallbackPorts,omitempty" json:"fallbackPorts,omitempty"`
ReadyCheck string `yaml:"readyCheck,omitempty" json:"readyCheck,omitempty"`
AuthSecret bool `yaml:"authSecret,omitempty" json:"authSecret,omitempty"`
NoControlMaster bool `yaml:"noControlMaster,omitempty" json:"noControlMaster,omitempty"`
SSHConfigProxy bool `yaml:"sshConfigProxy,omitempty" json:"sshConfigProxy,omitempty"`
ProxyCommand string `yaml:"proxyCommand,omitempty" json:"proxyCommand,omitempty"`
AllowEnv bool `yaml:"allowEnv,omitempty" json:"allowEnv,omitempty"`
TrustProviderOutput bool `yaml:"trustProviderOutput,omitempty" json:"trustProviderOutput,omitempty"`
}
type FailedLeaseHoldBackend ¶ added in v0.73.0
type FailedLeaseHoldBackend interface {
HoldFailedLease(context.Context, string) (LeaseRecoveryHold, error)
}
type FailedLeaseHoldFinalizerBackend ¶ added in v0.73.0
type FailedLeaseHoldFinalizerBackend interface {
FinalizeFailedLeaseHold(context.Context, string) (LeaseRecoveryHold, error)
}
FailedLeaseHoldFinalizerBackend optionally closes an existing hold after read-only absence verification, retaining a durable single-use receipt.
type FailureCaptureMetadata ¶ added in v0.12.0
type FailureCaptureMetadata struct {
Provider string
LeaseID string
Slug string
RunID string
CommandDisplay string
Workdir string
ExitCode int
ActionsRunURL string
Timing timingReport
EnvAllow []string
Env map[string]string
Config Config
StdoutPath string
StderrPath string
CaptureFlagSet bool
// RemoteScriptPath is the current successful upload, generated by loadRunScript.
RemoteScriptPath string
}
type FailureClassification ¶ added in v0.19.0
type FailureClassification struct {
BlockedStage string
ResourceExhaustion ResourceExhaustionReason
RetryLikely string
}
func ClassifyRunFailure ¶ added in v0.19.0
func ClassifyRunFailure(exitCode int, text string, phases []TimingPhase) FailureClassification
func ClassifyRunFailureWithEvidence ¶ added in v0.41.4
func ClassifyRunFailureWithEvidence(exitCode int, text string, phases []TimingPhase, evidence RunFailureEvidence) FailureClassification
type FastAPICloudConfig ¶ added in v0.34.0
type FastAPICloudConfig struct {
Token string `env:"CRABBOX_FASTAPI_CLOUD_TOKEN" envAlias:"FASTAPI_CLOUD_TOKEN" sources:"env" reportApplied:"true"`
APIURL string `` /* 277-byte string literal not displayed */
AppID string `` /* 209-byte string literal not displayed */
TeamID string `` /* 231-byte string literal not displayed */
}
FastAPICloudConfig describes mechanical bindings for the service-control provider. Credential provenance and destination validation remain owned by core policy.
type FastAPICloudConfigApplied ¶ added in v0.54.0
FastAPICloudConfigApplied records accepted assignments during one application.
type FastAPICloudConfigFlagValues ¶ added in v0.54.0
FastAPICloudConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterFastAPICloudConfigFlags ¶ added in v0.54.0
func RegisterFastAPICloudConfigFlags(fs *flag.FlagSet, defaults FastAPICloudConfig) FastAPICloudConfigFlagValues
RegisterFastAPICloudConfigFlags registers mechanical bindings without selecting a provider.
func (FastAPICloudConfigFlagValues) Apply ¶ added in v0.54.0
func (values FastAPICloudConfigFlagValues) Apply(cfg *FastAPICloudConfig, fs *flag.FlagSet) (FastAPICloudConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type FastAPICloudConfigVisitedFlags ¶ added in v0.54.0
type FastAPICloudConfigVisitedFlags struct {
APIURL bool
}
FastAPICloudConfigVisitedFlags records raw flag visits, independently of application.
func FastAPICloudConfigFlagPresence ¶ added in v0.54.0
func FastAPICloudConfigFlagPresence(fs *flag.FlagSet) FastAPICloudConfigVisitedFlags
FastAPICloudConfigFlagPresence reports visits for tracked flag bindings.
type Feature ¶ added in v0.6.0
type Feature string
const ( FeatureSSH Feature = "ssh" FeatureCrabboxSync Feature = "crabbox-sync" FeatureArchiveSync Feature = "archive-sync" FeatureCleanup Feature = "cleanup" FeatureDesktop Feature = "desktop" FeatureBrowser Feature = "browser" FeatureCode Feature = "code" FeatureTailscale Feature = "tailscale" FeatureURLBridge Feature = "url-bridge" FeatureCheckpoint Feature = "workspace-checkpoint" FeatureFork Feature = "workspace-fork" FeatureRestore Feature = "workspace-restore" FeatureSnapshot Feature = "provider-snapshot" FeatureCacheVolume Feature = "cache-volume" FeatureRunProof Feature = "run-proof" FeatureRunSession Feature = "run-session" FeatureRunArtifacts Feature = "run-artifacts" FeatureRunDownloads Feature = "run-downloads" FeatureModuleRun Feature = "module-run" // FeatureShellScriptRun admits shell script input to a delegated command owner. FeatureShellScriptRun Feature = "shell-script-run" // FeatureSSHScriptRun routes explicit scripts through the core SSH owner, // while a hybrid backend may delegate ordinary commands. FeatureSSHScriptRun Feature = "ssh-script-run" // FeatureClaimExec requires ExecLeaseClaimResolver, private POSIX SSH execution, // and provider-owned idle activity that does not require exclusive claim writes. FeatureClaimExec Feature = "claim-exec" // FeatureFixedLeaseID advertises caller-supplied idempotent lease IDs. FeatureFixedLeaseID Feature = "fixed-lease-id" // FeatureFixedCurrentRepoStop requires RepositoryScopedStopBackend for fixed IDs. FeatureFixedCurrentRepoStop Feature = "fixed-current-repo-stop" FeaturePauseResume Feature = "pause-resume" FeatureSessionDiskRetentionV1 Feature = "session-disk-retention-v1" FeatureLeaseHeartbeat Feature = "lease-heartbeat" FeatureMCP Feature = "mcp-attachments" )
const FeaturePreparedArtifactWorkspace Feature = "prepared-artifact-workspace"
type FeatureSet ¶ added in v0.6.0
type FeatureSet []Feature
func ProviderFeaturesForConfig ¶ added in v0.75.0
func ProviderFeaturesForConfig(provider Provider, cfg Config) FeatureSet
func (FeatureSet) Has ¶ added in v0.16.0
func (s FeatureSet) Has(feature Feature) bool
type FirecrackerConfig ¶ added in v0.34.0
type FirecrackerConfig struct {
Binary string `` /* 223-byte string literal not displayed */
Jailer string `` /* 209-byte string literal not displayed */
Kernel string `` /* 258-byte string literal not displayed */
RootFS string `` /* 265-byte string literal not displayed */
User string `` /* 221-byte string literal not displayed */
WorkRoot string `` /* 233-byte string literal not displayed */
CPUs int `` /* 205-byte string literal not displayed */
MemoryMiB int `` /* 211-byte string literal not displayed */
DiskMiB int `` /* 222-byte string literal not displayed */
Network string `` /* 206-byte string literal not displayed */
CNINetwork string `` /* 232-byte string literal not displayed */
CNIConfDir string `` /* 247-byte string literal not displayed */
CNIBinDir string `` /* 233-byte string literal not displayed */
LaunchTimeout time.Duration `` /* 249-byte string literal not displayed */
DeleteOnRelease bool `` /* 235-byte string literal not displayed */
}
FirecrackerConfig describes ordinary inputs; backend and launch policy stay provider-owned.
func (*FirecrackerConfig) ExpandAppliedLocalPaths ¶ added in v0.56.0
func (cfg *FirecrackerConfig) ExpandAppliedLocalPaths(applied FirecrackerConfigApplied)
type FirecrackerConfigApplied ¶ added in v0.56.0
type FirecrackerConfigApplied struct {
InputAccepted bool
Binary bool
Jailer bool
Kernel bool
RootFS bool
User bool
WorkRoot bool
CNIConfDir bool
CNIBinDir bool
DeleteOnRelease bool
}
FirecrackerConfigApplied records accepted assignments during one application.
type FirecrackerConfigFlagValues ¶ added in v0.56.0
type FirecrackerConfigFlagValues struct {
Binary *string
Jailer *string
Kernel *string
RootFS *string
User *string
WorkRoot *string
CPUs *int
MemoryMiB *int
DiskMiB *int
Network *string
CNINetwork *string
CNIConfDir *string
CNIBinDir *string
LaunchTimeout *string
DeleteOnRelease *bool
}
FirecrackerConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterFirecrackerConfigFlags ¶ added in v0.56.0
func RegisterFirecrackerConfigFlags(fs *flag.FlagSet, defaults FirecrackerConfig) FirecrackerConfigFlagValues
RegisterFirecrackerConfigFlags registers mechanical bindings without selecting a provider.
func (FirecrackerConfigFlagValues) Apply ¶ added in v0.56.0
func (values FirecrackerConfigFlagValues) Apply(cfg *FirecrackerConfig, fs *flag.FlagSet) (FirecrackerConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type FirecrackerConfigVisitedFlags ¶ added in v0.56.0
type FirecrackerConfigVisitedFlags struct {
Binary bool
Jailer bool
Kernel bool
RootFS bool
User bool
WorkRoot bool
CNIConfDir bool
CNIBinDir bool
DeleteOnRelease bool
}
FirecrackerConfigVisitedFlags records raw flag visits, independently of application.
func FirecrackerConfigFlagPresence ¶ added in v0.56.0
func FirecrackerConfigFlagPresence(fs *flag.FlagSet) FirecrackerConfigVisitedFlags
FirecrackerConfigFlagPresence reports visits for tracked flag bindings.
type FixedAWSCreateIntentRequest ¶ added in v0.41.1
type FixedAcquireOptions ¶ added in v0.46.0
type FixedAcquireOptions struct {
Retention *SessionDiskRetentionPolicy
Kind FixedLeaseKind
LeaseID string
CheckpointID string
RepoRoot string
LegacyRepoRoot string
Reclaim bool
TargetOS string
WindowsMode string
TTL time.Duration
IdleTimeout time.Duration
Now func() time.Time
// contains filtered or unexported fields
}
type FixedAcquisitionReceipt ¶ added in v0.64.0
type FixedAcquisitionReceipt struct {
LeaseID, Slug, Provider, ResourceID string
}
type FixedAdmission ¶ added in v0.65.0
type FixedAdmission struct {
KeyedRetry *FixedKeyedRetry
FreshOnly bool
RepeatSameIdentity bool
PendingKey, PendingValue string
SubmittedValue string
}
FixedAdmission describes the persisted evidence that permits submission. Inventory absence alone never grants authority to repeat an ambiguous create.
type FixedAllocationResult ¶ added in v0.73.0
type FixedAllocationResult struct {
Schema string `json:"schema"`
Capability string `json:"capability"`
Provider string `json:"provider"`
LeaseID string `json:"leaseId"`
AttemptName string `json:"attemptName"`
AttemptNonce string `json:"attemptNonce"`
Category string `json:"category"`
ProviderCode string `json:"providerCode"`
Allocation string `json:"allocation"`
Companions string `json:"companions"`
Cause error `json:"-"`
}
FixedAllocationResult is emitted only after the canonical fixed rejection finalizer has removed the claim. Consumers must still verify the schema and capability before treating it as a capacity-wait input.
func (*FixedAllocationResult) Error ¶ added in v0.73.0
func (r *FixedAllocationResult) Error() string
func (*FixedAllocationResult) Unwrap ¶ added in v0.73.0
func (r *FixedAllocationResult) Unwrap() error
type FixedAttemptFormat ¶ added in v0.65.0
type FixedAttemptFormat struct {
RejectEmptyObject bool
PositiveIntegers []string
Trimmed, SHA256 []string
JSONKey string
ExactKeys int
Required []string
Equal map[string]string
OptionalEqual map[string]string
}
FixedAttemptFormat describes a legacy payload envelope. There is one reader: adapters provide the schema key, required fields and cardinality constraints. Missing old evidence is returned as missing, never synthesized from inventory.
type FixedAttemptPlan ¶ added in v0.65.0
type FixedAttemptPlan struct {
OwnerLabel string
PrivateLabels map[string]string
UniqueLabel string
UniqueProviders []string
AttemptLabels map[string]string
JSONKey string
Payload any
NonceBytes int
Values map[string]string
NonceKey string
LowerNonce bool
NoncePrefix string
Labels map[string]string
DirectLabels *FixedDirectLabels
FingerprintLabel, NonceLabel string
Identity FixedResourceBinding
}
FixedAttemptPlan contains native creation inputs, never persistence actions. Core generates nonces, assembles identity labels, and commits this plan before admitting the provider mutation. Existing attempts are never regenerated.
type FixedClaimRules ¶ added in v0.65.0
type FixedClaimRules struct {
RequireIntentScope, NumericMatchesID, GenerationAfterPrepared bool
ExpectedID string
RequiredLabels []string
BoundLabels map[string]string
RequireBound, UnboundMustBeBare bool
Kind FixedLeaseKind
States []string
Scope, IntentScope string
RequireCanonicalID, RequireSlug, RequireTimestamp, RequireSHA256 bool
NoCheckpoint, NoFailedAttempts, NoNumericID, SameImmutableID bool
EmptyAttemptMustBePristine bool
}
FixedClaimRules validates the local envelope independently of native reads. Provider descriptors retain stricter legacy checks without private readers.
type FixedCreateIntent ¶ added in v0.41.1
type FixedCreateIntent struct {
Retention *SessionDiskRetentionPolicy `json:"retention,omitempty"`
Version int `json:"version"`
Fingerprint string `json:"fingerprint"`
ProviderScope string `json:"providerScope"`
CheckpointID string `json:"checkpointId,omitempty"`
Slug string `json:"slug"`
CreatedAt string `json:"createdAt"`
State string `json:"state"`
Attempt map[string]string `json:"attempt,omitempty"`
FailedAttempts []string `json:"failedAttempts,omitempty"`
// Version 1 journals preserve legacy ownership. Retained policy requires
// version 2 so older readers refuse the claim before provider effects.
Journal *FixedLeaseJournal `json:"journal,omitempty"`
}
FixedCreateIntent is the durable, provider-neutral envelope for a caller-supplied lease identity. Provider adapters own the opaque attempt fields and their interpretation; the claim layer only persists and locks it.
type FixedCreateRejected ¶ added in v0.67.0
type FixedCreateRejected struct{ Err error }
FixedCreateRejected certifies that a native request failed before allocation. Adapters must classify the allocating request itself, never a later identity, task, or readiness read with the same HTTP/RPC status.
func (*FixedCreateRejected) Error ¶ added in v0.67.0
func (e *FixedCreateRejected) Error() string
func (*FixedCreateRejected) Unwrap ¶ added in v0.67.0
func (e *FixedCreateRejected) Unwrap() error
type FixedDirectLabels ¶ added in v0.65.0
type FixedIntentField ¶ added in v0.65.0
FixedIntentField is an ordered field in a persisted fingerprint schema. Order, casing, and omission are part of the legacy hash contract, not JSON semantics.
type FixedIntentFields ¶ added in v0.65.0
type FixedIntentFields []FixedIntentField
func (FixedIntentFields) MarshalJSON ¶ added in v0.65.0
func (fields FixedIntentFields) MarshalJSON() ([]byte, error)
type FixedKeyPolicy ¶ added in v0.65.0
type FixedKeyPolicy struct{ RequireExisting, UseStored, PreserveProviderKey bool }
PrepareFixedSSHKey preserves the stricter replay-key contract selected by each format before obtaining a key. It never recreates a required lost key.
type FixedKeyedRetry ¶ added in v0.65.0
FixedKeyedRetry permits one recovery submission of an unbound attempt under a provider's expiring idempotency key. The engine owns its clock and counter.
type FixedKeyedSubmission ¶ added in v0.65.0
type FixedKeyedSubmission struct {
Key string `json:"key"`
FirstSubmittedAt string `json:"firstSubmittedAt"`
Count int `json:"count"`
}
FixedKeyedSubmission is written before each admitted native call. Losing a reply (or crashing before sending) consumes that submission permanently.
type FixedLeaseBinding ¶ added in v0.46.0
type FixedLeaseBinding struct {
// InitialLabels preserve provider ownership and cleanup metadata even if
// planning fails before the native attempt is published. Replays ignore them.
InitialLabels map[string]string
AllocateSlug bool
RejectExistingLease bool
RequestedSlug string
Inventory []Server
ProviderScope string
Fingerprint string
Slug string
}
type FixedLeaseJournal ¶ added in v0.65.0
type FixedLeaseJournal struct {
Retention *SessionDiskRetentionState `json:"retention,omitempty"`
Version int `json:"version"`
Phase string `json:"phase"`
Revision uint64 `json:"revision"`
Submission *FixedKeyedSubmission `json:"submission,omitempty"`
}
FixedLeaseJournal records engine progress alongside the original native attempt dialect. Native submission/deletion witnesses remain authoritative; in particular, a legacy empty attempt is not proof of non-submission.
type FixedLeaseKind ¶ added in v0.46.0
type FixedLeaseKind struct {
RemoveKeyAfterRejection bool
ClaimProvider string
IntentVersion int
Label string
// DeletionState retains native validators' existing on-disk cleanup marker.
// Empty leaves the legacy state unchanged; supplied cleanup bindings are
// still journaled before native deletion.
DeletionState string
ResourcePlural string
// AfterTerminal cleans local lease-owned artifacts under the claim fence,
// after the receipt is durable. Failure must not undo remote completion.
AfterTerminal func(LeaseClaim) error
// TerminalIdentityLabels opts into retaining resource/repository identity
// and only these immutable labels. Other kinds keep compact tombstones.
TerminalIdentityLabels []string
}
func (FixedLeaseKind) FinalizeAfterCleanup ¶ added in v0.46.0
func (k FixedLeaseKind) FinalizeAfterCleanup(claim LeaseClaim, action func() error) error
func (FixedLeaseKind) IsFixedClaim ¶ added in v0.46.0
func (k FixedLeaseKind) IsFixedClaim(claim LeaseClaim) bool
func (FixedLeaseKind) ReadTerminal ¶ added in v0.65.0
func (k FixedLeaseKind) ReadTerminal(leaseID string) (bool, error)
func (FixedLeaseKind) ResolveTerminal ¶ added in v0.65.0
func (k FixedLeaseKind) ResolveTerminal(claim LeaseClaim, releaseOnly bool) (LeaseTarget, bool, error)
func (FixedLeaseKind) RetainClaimAfterRelease ¶ added in v0.46.0
func (k FixedLeaseKind) RetainClaimAfterRelease( leaseID string, previous LeaseClaim, providerEvidence bool, extraValidation func(LeaseClaim) error, afterValidation func(LeaseClaim) error, ) (bool, error)
func (FixedLeaseKind) RetainMatchingFingerprint ¶ added in v0.65.0
func (k FixedLeaseKind) RetainMatchingFingerprint(leaseID string, previous LeaseClaim, fingerprint string) (bool, error)
func (FixedLeaseKind) TerminalClaim ¶ added in v0.46.0
func (k FixedLeaseKind) TerminalClaim(claim LeaseClaim, now time.Time) LeaseClaim
func (FixedLeaseKind) ValidateTerminalClaim ¶ added in v0.46.0
func (k FixedLeaseKind) ValidateTerminalClaim(claim, previous LeaseClaim, leaseID string, extra func(LeaseClaim) error) error
type FixedLeaseOperations ¶ added in v0.65.0
type FixedLeaseOperations[T any] struct { Release *FixedReleasePolicy // PlanReservationKey identifies a shared local native-ID namespace. Core // fences selection through durable publication, then unlocks before Submit. PlanReservationKey string // Some APIs resolve prerequisite IDs inside submission. Each resolved // attempt must still be journaled before admitting the target allocation. PlanDuringSubmit bool Admission *FixedAdmission Plan func(context.Context, LeaseClaim) (FixedAttemptPlan, error) Identity func(T) FixedResourceBinding // DeferredAdmission fences native prerequisites before recording submission. DeferredAdmission bool DescribeIntent func(context.Context, *LeaseClaim, bool) (FixedLeaseBinding, error) ObserveExact func(context.Context, *FixedTransaction, FixedObserveMode) (FixedObservation[T], error) Submit func(context.Context, *FixedTransaction) (T, error) PrepareAccess func(context.Context, *FixedTransaction, T) (LeaseTarget, error) DeleteExact func(context.Context, *FixedTransaction, T) error }
FixedLeaseOperations supplies native facts and effects. Core owns attempt assembly, admission, publication, and compatibility through data descriptors.
type FixedMachine0CreateIntentRequest ¶ added in v0.46.0
type FixedObservation ¶ added in v0.65.0
type FixedObservation[T any] struct { // Binding is attested recovery evidence, published by the engine before // access preparation or deletion. Inspection never publishes it. Binding *FixedResourceBinding Candidates []T CanSubmit bool AbsenceProven bool Conflict string }
FixedObservation carries only fully attested candidates. CanSubmit is native proof of non-submission (or safe same-identity resubmission), never inferred from an empty inventory. AbsenceProven applies only to release.
func FixedLookupObservation ¶ added in v0.65.0
func FixedLookupObservation[T any](kind FixedLeaseKind, claim LeaseClaim, resource T, lookupErr error, notFound func(error) bool, attest func(LeaseClaim, T) error) (FixedObservation[T], error)
FixedLookupObservation separates a native not-found observation from the decision to create. Only pristine attempts may submit, and an existing name without durable provenance is never adopted.
func InspectFixedResource ¶ added in v0.65.0
func InspectFixedResource[T any](ctx context.Context, kind FixedLeaseKind, claim LeaseClaim, ops FixedLeaseOperations[T]) (FixedObservation[T], error)
InspectFixedResource does not journal or prepare access. Provider observations cannot accidentally publish a binding through a read-only operation.
type FixedObserveMode ¶ added in v0.65.0
type FixedObserveMode uint8
const ( FixedObserveAcquire FixedObserveMode = iota FixedObserveInspect FixedObserveDelete )
type FixedReadinessRecovery ¶ added in v0.65.0
type FixedReadinessRecovery struct {
Expected LeaseClaim
Keep, IdentityConflict bool
Prepare func()
RollbackExact func() error
Reconcile func() (bool, error)
}
FixedReadinessRecovery keeps uncertainty and Keep policy in core while native callbacks prove exact rollback and reconcile runtime-specific residue.
type FixedReleasePolicy ¶ added in v0.65.0
type FixedReleasePolicy struct {
// Started distinguishes rejection by the ownership fence from failure after
// deletion admission. Cleanup must skip a freshly reclaimed candidate.
Started *bool
RepoRoot string
LegacyRepoRoot string
CheckpointID *string
PristineScopePrefix string
SkipTerminalObservation bool
Outcome *ReleaseLeaseOutcome
Binding *FixedResourceBinding
}
type FixedResolveOptions ¶ added in v0.65.0
type FixedResolveOptions struct {
Kind FixedLeaseKind
Request ResolveRequest
Expected LeaseClaim
Provider, ResourceName, TerminalState string
ValidateTerminal func(LeaseClaim) error
Now func() time.Time
}
FixedResolveOptions supplies routing facts and the existing terminal dialect. Native callbacks prepare access or inspect evidence; core owns the claim CAS, read-only boundary, checkpoint admission and acquired publication.
type FixedResourceBinding ¶ added in v0.65.0
type FixedResourceBinding struct {
ImageEvidence *ImageEvidence
SSH *SSHTarget
AttemptJSONKey string
OnlyUnbound bool
FingerprintLabel string
CloudID, ImmutableID string
NumericID int64
AttemptIdentityKey string
AttemptValues map[string]string
Labels map[string]string
ProviderScope string
}
FixedResourceBinding is evidence supplied by a native operation. Identity is monotonic; even a rejected readiness check cannot erase a returned native ID.
type FixedStopRequest ¶ added in v0.64.0
type FixedStopRequest struct {
StopRequest
ExpectedProviderIdentity ProviderIdentityExpectation
}
type FixedTransaction ¶ added in v0.65.0
type FixedTransaction struct {
Claim *LeaseClaim
// contains filtered or unexported fields
}
FixedTransaction is valid only while core holds the durable claim lock. Claim is a read-only view for adapters. Plans and binding evidence are applied by core; only a certified pre-allocation rejection can clear the intent.
func (*FixedTransaction) Admit ¶ added in v0.65.0
func (tx *FixedTransaction) Admit() error
func (*FixedTransaction) Bind ¶ added in v0.65.0
func (tx *FixedTransaction) Bind(b FixedResourceBinding) error
func (*FixedTransaction) CanSettleCreateRejection ¶ added in v0.73.0
func (tx *FixedTransaction) CanSettleCreateRejection(kind FixedLeaseKind) bool
CanSettleCreateRejection fences rejection settlement to this transaction's first unallocated submission. CloudID can be a name reserved by the plan; the bound journal phase, rather than that name, records allocation custody.
func (*FixedTransaction) CreateLabels ¶ added in v0.65.0
func (tx *FixedTransaction) CreateLabels() map[string]string
func (*FixedTransaction) FailedAttemptSet ¶ added in v0.65.0
func (tx *FixedTransaction) FailedAttemptSet() map[string]bool
func (*FixedTransaction) Observe ¶ added in v0.65.0
func (tx *FixedTransaction) Observe(binding FixedResourceBinding) error
Observe retains partial native evidence before further attestation or errors.
func (*FixedTransaction) PersistDeletionEvidence ¶ added in v0.65.0
func (tx *FixedTransaction) PersistDeletionEvidence() error
func (*FixedTransaction) Record ¶ added in v0.65.0
func (tx *FixedTransaction) Record(phase string) error
func (*FixedTransaction) RejectAttempt ¶ added in v0.65.0
func (tx *FixedTransaction) RejectAttempt(kind FixedLeaseKind, token string, terminal bool) error
RejectAttempt requires a provider-certified definite failure. Transport uncertainty must never call this: it retains the current attempt instead.
type FixedWarmupRequest ¶ added in v0.64.0
type FixedWarmupRequest struct {
WarmupRequest
RequestedLeaseID string
OnAcquired func(FixedAcquisitionReceipt) error
}
type FreestyleConfig ¶ added in v0.29.0
type FreestyleConfig struct {
APIKey string `env:"CRABBOX_FREESTYLE_API_KEY" envAlias:"FREESTYLE_API_KEY" sources:"env"`
APIURL string `` /* 228-byte string literal not displayed */
Workdir string `` /* 196-byte string literal not displayed */
VCPUs int `` /* 241-byte string literal not displayed */
MemoryGB int `` /* 260-byte string literal not displayed */
}
FreestyleConfig owns mechanical inputs; provider validation remains separate.
type FreestyleConfigApplied ¶ added in v0.56.0
type FreestyleConfigApplied struct {
InputAccepted bool
}
FreestyleConfigApplied records accepted assignments during one application.
type FreestyleConfigFlagValues ¶ added in v0.56.0
FreestyleConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterFreestyleConfigFlags ¶ added in v0.56.0
func RegisterFreestyleConfigFlags(fs *flag.FlagSet, defaults FreestyleConfig) FreestyleConfigFlagValues
RegisterFreestyleConfigFlags registers mechanical bindings without selecting a provider.
func (FreestyleConfigFlagValues) Apply ¶ added in v0.56.0
func (values FreestyleConfigFlagValues) Apply(cfg *FreestyleConfig, fs *flag.FlagSet) (FreestyleConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type FreshPRSpec ¶ added in v0.12.0
func (FreshPRSpec) Empty ¶ added in v0.12.0
func (s FreshPRSpec) Empty() bool
func (FreshPRSpec) Slug ¶ added in v0.12.0
func (s FreshPRSpec) Slug() string
func (FreshPRSpec) WorkdirName ¶ added in v0.12.0
func (s FreshPRSpec) WorkdirName() string
type GCPClient ¶ added in v0.11.0
type GCPClient struct {
Project string
Zone string
Zones []string
Image string
Network string
Subnet string
Tags []string
SSHCIDRs []string
RootGB int64
ServiceAccount string
SSHPort string
FallbackPorts []string
// contains filtered or unexported fields
}
func NewGCPClient ¶ added in v0.11.0
func (*GCPClient) CreateServerWithFallback ¶ added in v0.11.0
func (*GCPClient) DeleteServer ¶ added in v0.11.0
func (*GCPClient) EnsureFirewall ¶ added in v0.11.0
func (*GCPClient) ListCrabboxServers ¶ added in v0.11.0
func (*GCPClient) ListCrabboxServersComplete ¶ added in v0.17.0
type GCPConfig ¶ added in v0.65.0
type GCPConfig struct {
Project string
Zone string
Image string
MachineImage string
Snapshot string
Network string
Subnet string
Tags []string
SSHCIDRs []string
RootGB int64
ServiceAccount string
// contains filtered or unexported fields
}
GCPConfig keeps provider settings and their explicit-input intent together. File, environment, and coordinator policies intentionally remain distinct.
type GitHubCodespacesConfig ¶ added in v0.40.0
type GitHubCodespacesConfig struct {
APIURL string `config:"apiUrl" env:"CRABBOX_GITHUB_CODESPACES_API_URL" sources:"user,env" fileIgnoreEmpty:"true" fileStorage:"value"`
GHPath string `` /* 223-byte string literal not displayed */
Repo string `` /* 198-byte string literal not displayed */
Ref string `` /* 191-byte string literal not displayed */
Machine string `` /* 245-byte string literal not displayed */
DevcontainerPath string `` /* 242-byte string literal not displayed */
WorkingDirectory string `` /* 243-byte string literal not displayed */
Geo string `` /* 205-byte string literal not displayed */
IdleTimeout time.Duration `` /* 227-byte string literal not displayed */
RetentionPeriod time.Duration `` /* 268-byte string literal not displayed */
DeleteOnRelease bool `` /* 232-byte string literal not displayed */
WorkRoot string `` /* 259-byte string literal not displayed */
}
GitHubCodespacesConfig is intentionally token-free. Authentication comes from the GitHub CLI credential store or GitHub's standard environment variables at the point of use, never from Crabbox config or argv.
type GitHubCodespacesConfigApplied ¶ added in v0.62.0
type GitHubCodespacesConfigApplied struct {
InputAccepted bool
GHPath bool
Machine bool
RetentionPeriod bool
DeleteOnRelease bool
WorkRoot bool
}
GitHubCodespacesConfigApplied records accepted assignments during one application.
type GitHubCodespacesConfigFlagValues ¶ added in v0.62.0
type GitHubCodespacesConfigFlagValues struct {
GHPath *string
Repo *string
Ref *string
Machine *string
DevcontainerPath *string
WorkingDirectory *string
Geo *string
IdleTimeout *time.Duration
RetentionPeriod *time.Duration
DeleteOnRelease *bool
WorkRoot *string
}
GitHubCodespacesConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterGitHubCodespacesConfigFlags ¶ added in v0.62.0
func RegisterGitHubCodespacesConfigFlags(fs *flag.FlagSet, defaults GitHubCodespacesConfig) GitHubCodespacesConfigFlagValues
RegisterGitHubCodespacesConfigFlags registers mechanical bindings without selecting a provider.
func (GitHubCodespacesConfigFlagValues) Apply ¶ added in v0.62.0
func (values GitHubCodespacesConfigFlagValues) Apply(cfg *GitHubCodespacesConfig, fs *flag.FlagSet) (GitHubCodespacesConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type GitHubCodespacesConfigVisitedFlags ¶ added in v0.62.0
type GitHubCodespacesConfigVisitedFlags struct {
GHPath bool
Machine bool
RetentionPeriod bool
DeleteOnRelease bool
WorkRoot bool
}
GitHubCodespacesConfigVisitedFlags records raw flag visits, independently of application.
func GitHubCodespacesConfigFlagPresence ¶ added in v0.62.0
func GitHubCodespacesConfigFlagPresence(fs *flag.FlagSet) GitHubCodespacesConfigVisitedFlags
GitHubCodespacesConfigFlagPresence reports visits for tracked flag bindings.
type GitHubRepo ¶
func (GitHubRepo) Slug ¶
func (r GitHubRepo) Slug() string
type GuestLeaseExpiryFields ¶ added in v0.76.0
GuestLeaseExpiryFields is the nonsecret bootstrap/refresh contract. Keep only controls automatic release after run; it never changes the expiry decision.
func GuestLeaseExpiryFromLabels ¶ added in v0.76.0
func GuestLeaseExpiryFromLabels(labels map[string]string) GuestLeaseExpiryFields
type HetznerClient ¶
func NewHetznerClient ¶ added in v0.6.0
func NewHetznerClient() (*HetznerClient, error)
func (*HetznerClient) CreateServer ¶
func (*HetznerClient) CreateServerSnapshot ¶ added in v0.44.0
func (c *HetznerClient) CreateServerSnapshot(ctx context.Context, serverID int64, description string, labels map[string]string) (HetznerImage, error)
func (*HetznerClient) CreateServerWithFallback ¶
func (*HetznerClient) DeleteImage ¶ added in v0.44.0
func (c *HetznerClient) DeleteImage(ctx context.Context, imageID int64) error
func (*HetznerClient) DeleteSSHKey ¶
func (c *HetznerClient) DeleteSSHKey(ctx context.Context, name string) error
func (*HetznerClient) DeleteServer ¶
func (c *HetznerClient) DeleteServer(ctx context.Context, id int64) error
func (*HetznerClient) EnsureSSHKey ¶
func (*HetznerClient) GetImage ¶ added in v0.44.0
func (c *HetznerClient) GetImage(ctx context.Context, imageID int64) (HetznerImage, error)
func (*HetznerClient) ListCrabboxServers ¶
func (c *HetznerClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
type HetznerHTTPError ¶ added in v0.44.0
func (HetznerHTTPError) Error ¶ added in v0.44.0
func (e HetznerHTTPError) Error() string
type HetznerImage ¶ added in v0.44.0
type HetznerImage struct {
ID int64 `json:"id"`
Type string `json:"type"`
Status string `json:"status"`
Name string `json:"name"`
Description string `json:"description"`
Architecture string `json:"architecture"`
Labels map[string]string `json:"labels"`
CreatedFrom *struct {
ID int64 `json:"id"`
Name string `json:"name"`
} `json:"created_from"`
}
type HostingerConfig ¶ added in v0.29.0
type HostingerConfig struct {
APIToken string `` /* 144-byte string literal not displayed */
APIURL string `` /* 232-byte string literal not displayed */
ItemID string `` /* 218-byte string literal not displayed */
PaymentMethodID string `` /* 255-byte string literal not displayed */
TemplateID string `` /* 184-byte string literal not displayed */
DataCenterID string `` /* 195-byte string literal not displayed */
HostnamePrefix string `` /* 235-byte string literal not displayed */
User string `` /* 213-byte string literal not displayed */
WorkRoot string `` /* 227-byte string literal not displayed */
AllowPurchase bool `` /* 184-byte string literal not displayed */
ReleaseAction string `` /* 218-byte string literal not displayed */
}
HostingerConfig owns mechanical bindings; conditional file admission and generic connection effects remain in policy wrappers.
type HostingerConfigApplied ¶ added in v0.61.0
HostingerConfigApplied records accepted assignments during one application.
type HostingerConfigFlagValues ¶ added in v0.61.0
type HostingerConfigFlagValues struct {
APIURL *string
ItemID *string
PaymentMethodID *string
TemplateID *string
DataCenterID *string
HostnamePrefix *string
User *string
WorkRoot *string
AllowPurchase *bool
ReleaseAction *string
}
HostingerConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterHostingerConfigFlags ¶ added in v0.61.0
func RegisterHostingerConfigFlags(fs *flag.FlagSet, defaults HostingerConfig) HostingerConfigFlagValues
RegisterHostingerConfigFlags registers mechanical bindings without selecting a provider.
func (HostingerConfigFlagValues) Apply ¶ added in v0.61.0
func (values HostingerConfigFlagValues) Apply(cfg *HostingerConfig, fs *flag.FlagSet) (HostingerConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type HostingerConfigVisitedFlags ¶ added in v0.61.0
HostingerConfigVisitedFlags records raw flag visits, independently of application.
func HostingerConfigFlagPresence ¶ added in v0.61.0
func HostingerConfigFlagPresence(fs *flag.FlagSet) HostingerConfigVisitedFlags
HostingerConfigFlagPresence reports visits for tracked flag bindings.
type HyperVConfig ¶ added in v0.29.0
type HyperVConfig struct {
Image string `` /* 191-byte string literal not displayed */
User string `` /* 236-byte string literal not displayed */
WorkRoot string `` /* 186-byte string literal not displayed */
CPUs int `` /* 210-byte string literal not displayed */
Memory int `` /* 223-byte string literal not displayed */
Switch string `` /* 196-byte string literal not displayed */
GuestPassword string `config:"guestPassword" env:"CRABBOX_HYPERV_GUEST_PASSWORD" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
InitPassword bool `` /* 253-byte string literal not displayed */
}
HyperVConfig declares bindings; target and runtime defaults remain provider-owned.
type HyperVConfigApplied ¶ added in v0.62.0
type HyperVConfigApplied struct {
InputAccepted bool
}
HyperVConfigApplied records accepted assignments during one application.
type HyperVConfigFlagValues ¶ added in v0.62.0
type HyperVConfigFlagValues struct {
Image *string
User *string
WorkRoot *string
CPUs *int
Memory *int
Switch *string
InitPassword *bool
}
HyperVConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterHyperVConfigFlags ¶ added in v0.62.0
func RegisterHyperVConfigFlags(fs *flag.FlagSet, defaults HyperVConfig) HyperVConfigFlagValues
RegisterHyperVConfigFlags registers mechanical bindings without selecting a provider.
func (HyperVConfigFlagValues) Apply ¶ added in v0.62.0
func (values HyperVConfigFlagValues) Apply(cfg *HyperVConfig, fs *flag.FlagSet) (HyperVConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type IdempotentLeaseIDBackend ¶ added in v0.31.0
type IdempotentLeaseIDBackend interface {
SupportsRequestedLeaseID() bool
}
type ImageEvidence ¶ added in v0.58.0
type ImageEvidence struct {
ConfiguredReference string `json:"configuredReference"`
RuntimeImageID string `json:"runtimeImageId"`
RepositoryDigests []string `json:"repositoryDigests"`
RepositoryDigestStatus string `json:"repositoryDigestStatus"`
}
ImageEvidence records the initial runtime image, not an attestation of the container's later writable filesystem.
func CloneImageEvidence ¶ added in v0.58.0
func CloneImageEvidence(evidence *ImageEvidence) *ImageEvidence
type IncusConfig ¶ added in v0.28.0
type IncusConfig struct {
CheckpointMetadata map[string]string `sources:"runtime" yaml:"-" json:"-"`
Remote string `` /* 210-byte string literal not displayed */
Project string `` /* 163-byte string literal not displayed */
Address string `` /* 202-byte string literal not displayed */
Socket string `` /* 194-byte string literal not displayed */
InstanceType string `` /* 218-byte string literal not displayed */
Image string `` /* 207-byte string literal not displayed */
Profile string `` /* 193-byte string literal not displayed */
User string `` /* 182-byte string literal not displayed */
WorkRoot string `` /* 194-byte string literal not displayed */
DeleteOnRelease bool `` /* 202-byte string literal not displayed */
StartTimeout time.Duration `` /* 228-byte string literal not displayed */
LaunchPort string `` /* 221-byte string literal not displayed */
ProxyListenHost string `` /* 237-byte string literal not displayed */
ProxyListenPort string `` /* 218-byte string literal not displayed */
ProxyDevice string `` /* 204-byte string literal not displayed */
TLSServerCert string `` /* 225-byte string literal not displayed */
InsecureTLS bool `` /* 169-byte string literal not displayed */
RemoteImageServer string `` /* 231-byte string literal not displayed */
}
IncusConfig owns source bindings; the provider retains ordered flag policy.
func (*IncusConfig) ExpandAppliedLocalPaths ¶ added in v0.56.0
func (cfg *IncusConfig) ExpandAppliedLocalPaths(applied IncusConfigApplied)
type IncusConfigApplied ¶ added in v0.56.0
type IncusConfigApplied struct {
InputAccepted bool
Socket bool
DeleteOnRelease bool
TLSServerCert bool
}
IncusConfigApplied records accepted assignments during one application.
type IncusConfigFlagValues ¶ added in v0.56.0
type IncusConfigFlagValues struct {
Remote *string
Project *string
Address *string
Socket *string
InstanceType *string
Image *string
Profile *string
User *string
WorkRoot *string
DeleteOnRelease *bool
StartTimeout *string
LaunchPort *string
ProxyListenHost *string
ProxyListenPort *string
ProxyDevice *string
TLSServerCert *string
InsecureTLS *bool
RemoteImageServer *string
}
IncusConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterIncusConfigFlags ¶ added in v0.56.0
func RegisterIncusConfigFlags(fs *flag.FlagSet, defaults IncusConfig) IncusConfigFlagValues
RegisterIncusConfigFlags registers mechanical bindings without selecting a provider.
type IncusConfigVisitedFlags ¶ added in v0.56.0
type IncusConfigVisitedFlags struct {
Remote bool
Project bool
Address bool
Socket bool
InstanceType bool
Image bool
Profile bool
User bool
WorkRoot bool
DeleteOnRelease bool
StartTimeout bool
LaunchPort bool
ProxyListenHost bool
ProxyListenPort bool
ProxyDevice bool
TLSServerCert bool
InsecureTLS bool
RemoteImageServer bool
}
IncusConfigVisitedFlags records raw flag visits, independently of application.
func IncusConfigFlagPresence ¶ added in v0.56.0
func IncusConfigFlagPresence(fs *flag.FlagSet) IncusConfigVisitedFlags
IncusConfigFlagPresence reports visits for tracked flag bindings.
type IsloConfig ¶ added in v0.6.0
type IsloConfig struct {
APIKey string `env:"CRABBOX_ISLO_API_KEY" envAlias:"ISLO_API_KEY" sources:"env" reportApplied:"true"`
BaseURL string `` /* 239-byte string literal not displayed */
Image string `` /* 176-byte string literal not displayed */
Workdir string `` /* 208-byte string literal not displayed */
GatewayProfile string `` /* 197-byte string literal not displayed */
SnapshotName string `` /* 178-byte string literal not displayed */
VCPUs int `` /* 221-byte string literal not displayed */
MemoryMB int `` /* 242-byte string literal not displayed */
DiskGB int `` /* 232-byte string literal not displayed */
// IdlePause opts a sandbox into a provider-enforced idle pause derived from
// IdleTimeout. Off by default: the provider adapter sends no lifecycle
// policy unless it is set.
IdlePause bool `` /* 189-byte string literal not displayed */
}
IsloConfig owns bindings; source provenance and explicit-resource policy use accepted facts.
type IsloConfigApplied ¶ added in v0.62.0
type IsloConfigApplied struct {
InputAccepted bool
APIKey bool
BaseURL bool
Image bool
VCPUs bool
MemoryMB bool
DiskGB bool
}
IsloConfigApplied records accepted assignments during one application.
type IsloConfigFlagValues ¶ added in v0.62.0
type IsloConfigFlagValues struct {
BaseURL *string
Image *string
Workdir *string
GatewayProfile *string
SnapshotName *string
VCPUs *int
MemoryMB *int
DiskGB *int
IdlePause *bool
}
IsloConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterIsloConfigFlags ¶ added in v0.62.0
func RegisterIsloConfigFlags(fs *flag.FlagSet, defaults IsloConfig) IsloConfigFlagValues
RegisterIsloConfigFlags registers mechanical bindings without selecting a provider.
func (IsloConfigFlagValues) Apply ¶ added in v0.62.0
func (values IsloConfigFlagValues) Apply(cfg *IsloConfig, fs *flag.FlagSet) (IsloConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type IsloConfigVisitedFlags ¶ added in v0.62.0
IsloConfigVisitedFlags records raw flag visits, independently of application.
func IsloConfigFlagPresence ¶ added in v0.62.0
func IsloConfigFlagPresence(fs *flag.FlagSet) IsloConfigVisitedFlags
IsloConfigFlagPresence reports visits for tracked flag bindings.
type JSONListBackend ¶ added in v0.6.0
type JUnitCollection ¶ added in v0.61.0
type JUnitCollection struct {
Summary *TestResultSummary
Warnings []error
}
func CollectJUnitResultsWithRunner ¶ added in v0.61.0
func CollectJUnitResultsWithRunner(ctx context.Context, client *runner.Client, workdir string, cfg ResultsConfig, marker string) (JUnitCollection, error)
CollectJUnitResultsWithRunner parses reports collected by an authenticated filesystem runner; provider-native result collection keeps its own contract.
type JobActionsConfig ¶ added in v0.11.0
type JobActionsConfig ActionsWorkflowConfig
type JobConfig ¶ added in v0.11.0
type JobConfig struct {
Provider string
Target string
WindowsMode string
Profile string
Class string
Architecture string
ServerType string
Market string
TTL time.Duration
IdleTimeout time.Duration
Desktop *bool
DesktopEnv string
Browser *bool
Code *bool
Network string
Hydrate JobHydrateConfig
Actions JobActionsConfig
Shell bool
Command string
NoSync bool
SyncOnly bool
Checksum *bool
ForceSyncLarge bool
JUnit []string
Label string
ArtifactGlobs []string
RequiredArtifacts []string
Downloads []string
Stop string
}
type JobHydrateConfig ¶ added in v0.11.0
type KubeVirtConfig ¶ added in v0.26.1
type KubeVirtConfig struct {
Kubectl string `` /* 208-byte string literal not displayed */
Virtctl string `` /* 208-byte string literal not displayed */
Kubeconfig string `` /* 207-byte string literal not displayed */
Context string `` /* 169-byte string literal not displayed */
Namespace string `` /* 195-byte string literal not displayed */
Template string `` /* 216-byte string literal not displayed */
SSHUser string `` /* 185-byte string literal not displayed */
SSHKey string `` /* 187-byte string literal not displayed */
// File admission also requires the mandatory applyKubeVirtFileConfig wrapper.
SSHPublicKey string `` /* 238-byte string literal not displayed */
SSHPort string `` /* 180-byte string literal not displayed */
WorkRoot string `` /* 232-byte string literal not displayed */
DeleteOnRelease bool `` /* 219-byte string literal not displayed */
}
KubeVirtConfig owns mechanical bindings and accepted local-path expansion. File admission remains in applyKubeVirtFileConfig.
func (*KubeVirtConfig) ExpandAppliedLocalPaths ¶ added in v0.55.0
func (cfg *KubeVirtConfig) ExpandAppliedLocalPaths(applied KubeVirtConfigApplied)
ExpandAppliedLocalPaths expands local paths accepted by a file or flag overlay.
type KubeVirtConfigApplied ¶ added in v0.55.0
type KubeVirtConfigApplied struct {
InputAccepted bool
Kubectl bool
Virtctl bool
Kubeconfig bool
Template bool
SSHKey bool
SSHPublicKey bool
WorkRoot bool
DeleteOnRelease bool
}
KubeVirtConfigApplied records accepted assignments during one application.
type KubeVirtConfigFlagValues ¶ added in v0.55.0
type KubeVirtConfigFlagValues struct {
Kubectl *string
Virtctl *string
Kubeconfig *string
Context *string
Namespace *string
Template *string
SSHUser *string
SSHKey *string
SSHPublicKey *string
SSHPort *string
WorkRoot *string
DeleteOnRelease *bool
}
KubeVirtConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterKubeVirtConfigFlags ¶ added in v0.55.0
func RegisterKubeVirtConfigFlags(fs *flag.FlagSet, defaults KubeVirtConfig) KubeVirtConfigFlagValues
RegisterKubeVirtConfigFlags registers mechanical bindings without selecting a provider.
func (KubeVirtConfigFlagValues) Apply ¶ added in v0.55.0
func (values KubeVirtConfigFlagValues) Apply(cfg *KubeVirtConfig, fs *flag.FlagSet) (KubeVirtConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type KubeVirtConfigVisitedFlags ¶ added in v0.55.0
type KubeVirtConfigVisitedFlags struct {
Kubectl bool
Virtctl bool
Kubeconfig bool
Template bool
SSHKey bool
SSHPublicKey bool
WorkRoot bool
DeleteOnRelease bool
}
KubeVirtConfigVisitedFlags records raw flag visits, independently of application.
func KubeVirtConfigFlagPresence ¶ added in v0.55.0
func KubeVirtConfigFlagPresence(fs *flag.FlagSet) KubeVirtConfigVisitedFlags
KubeVirtConfigFlagPresence reports visits for tracked flag bindings.
type LambdaConfig ¶ added in v0.34.0
type LambdaConfig struct {
Region string `yaml:"region,omitempty"`
Type string `yaml:"type,omitempty"`
Image string `yaml:"image,omitempty"`
ImageFamily string `yaml:"imageFamily,omitempty"`
FirewallRuleset string `yaml:"firewallRuleset,omitempty"`
SSHCIDRs []string `yaml:"sshCIDRs,omitempty"`
FilesystemNames []string `yaml:"filesystemNames,omitempty"`
FilesystemMounts []LambdaFilesystemMount `yaml:"filesystemMounts,omitempty"`
}
LambdaConfig owns the complete runtime and file field shape. Native mount interpretation and portable OS selection remain separate policy.
func (LambdaConfig) WithRuntimeDefaults ¶ added in v0.55.0
func (cfg LambdaConfig) WithRuntimeDefaults() LambdaConfig
WithRuntimeDefaults fills the raw configured defaults on a shallow copy. Explicit OS policy and native trim-aware selection remain separate.
type LambdaConfigApplied ¶ added in v0.55.0
type LambdaFilesystemMount ¶ added in v0.34.0
type LeaseClaim ¶ added in v0.6.0
type LeaseClaim = leaseClaim
func AcquireFixedIntent ¶ added in v0.64.0
func AcquireFixedIntent( opts FixedAcquireOptions, prepare func(context.Context, *LeaseClaim, bool) (FixedLeaseBinding, error), acquire func(context.Context, *LeaseClaim, *FixedCreateIntent, func() error) error, ctx context.Context, ) (LeaseClaim, error)
AcquireFixedIntent owns durable fixed acquisition independently of transport. Callbacks publish provider facts through persist and must not reenter claim locks.
func ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurableAfterContext ¶ added in v0.48.0
func ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurableAfterContext(ctx context.Context, leaseID, slug string, cfg Config, providerScope string, server Server, target SSHTarget, repoRoot string, idleTimeout time.Duration, reclaim bool, expected LeaseClaim, expectedExists bool, action func() error) (LeaseClaim, error)
ClaimLeaseTargetForRepoConfigScopeIfUnchangedDurableAfterContext also bounds waiting for the exclusive claim fence. The action must honor ctx itself.
func CloneLeaseClaim ¶ added in v0.65.0
func CloneLeaseClaim(claim LeaseClaim) LeaseClaim
CloneLeaseClaim snapshots all custody and access evidence, including journals.
func CompareAndBindFixedClaim ¶ added in v0.65.0
func CompareAndBindFixedClaim(claim LeaseClaim, bind func(*LeaseClaim, func() error) error) (LeaseClaim, error)
CompareAndBindFixedClaim keeps the expected CAS record separate from the journal the binding callback advances. A shallow intent copy loses that fence.
func PublishFixedRecoveryClaimIfAbsent ¶ added in v0.65.0
func PublishFixedRecoveryClaimIfAbsent(ctx context.Context, kind FixedLeaseKind, claim LeaseClaim) (LeaseClaim, error)
PublishFixedRecoveryClaimIfAbsent durably restores a provider-attested fixed claim before an explicit recovery operation performs any native mutation.
func ReclaimFixedLease ¶ added in v0.65.0
func ReclaimFixedLease(ctx context.Context, claim LeaseClaim, cfg Config, repoRoot string, reclaim bool, lookup func(context.Context, LeaseClaim) (Server, error)) (LeaseClaim, error)
ReclaimFixedLease transfers an attested resource under the original claim CAS. Native lookup must not mutate the resource or local ownership record.
func ServerLeaseClaimSnapshot ¶ added in v0.37.0
func ServerLeaseClaimSnapshot(server Server) (LeaseClaim, bool, bool)
ServerLeaseClaimSnapshot returns the carried claim, whether it existed, and whether a snapshot was explicitly attached.
type LeaseClaimEndpointPreparer ¶ added in v0.29.0
type LeaseExtendRequest ¶ added in v0.76.0
type LeaseExtendResult ¶ added in v0.76.0
type LeaseExtendResult struct {
ID string `json:"id"`
ExpiresAt string `json:"expiresAt"`
Remaining string `json:"remainingLifetime"`
MaxLifetime string `json:"maxLifetime"`
RuntimeExtension bool `json:"runtimeExtension"`
GuestExpiresAt string `json:"guestExpiresAt,omitempty"`
GuestExpiryRefreshPending bool `json:"guestExpiryRefreshPending,omitempty"`
Error string `json:"error,omitempty"`
}
func ExtendDirectLease ¶ added in v0.76.0
func ExtendDirectLease(ctx context.Context, backend Backend, cfg Config, req LeaseExtendRequest, now time.Time, write func(context.Context, Server, LeaseClaim) error) (LeaseExtendResult, error)
ExtendDirectLease serializes provider metadata, claim publication and guest refresh. Provider labels remain authoritative if the guest write fails.
type LeaseExtensionBackend ¶ added in v0.76.0
type LeaseExtensionBackend interface {
ExtendLease(context.Context, LeaseExtendRequest) (LeaseExtendResult, error)
}
LeaseExtensionBackend updates provider metadata under the exact lease claim. File-backed guest guards are refreshed after the provider deadline is saved.
type LeaseHeartbeatBackend ¶ added in v0.61.0
type LeaseHeartbeatBackend interface {
Backend
Heartbeat(ctx context.Context, req LeaseHeartbeatRequest) (LeaseHeartbeatResult, error)
}
LeaseHeartbeatBackend is implemented by providers that keep a lease alive through their own API instead of a Crabbox-managed SSH lease touch. It is optional: the `heartbeat` command reports the same unsupported error for providers that do not implement it.
Providers own lease resolution, ownership and state validation on this path. They must refuse identifiers without an exact local claim.
A heartbeat refreshes idle activity without writing lifecycle policy or changing absolute lifetime limits. `--idle-timeout` is rejected before this capability is reached: it reports the provider's window rather than replacing it.
type LeaseHeartbeatRequest ¶ added in v0.61.0
type LeaseHeartbeatRequest struct {
// ID is the lease id, sandbox name, or slug exactly as the user typed it,
// unresolved and unvalidated.
ID string
}
type LeaseHeartbeatResult ¶ added in v0.61.0
type LeaseHeartbeatResult struct {
LeaseID string
Slug string
State string
// LastTouchedAt is when the provider observed the lease. Core renders it
// as-is and persists nothing on this path, so a local claim's own touch
// time is left alone.
LastTouchedAt time.Time
// IdleTimeout is the provider's OWN idle window, as reported by the
// provider for this lease. Leave it zero when the provider does not report
// one: the rendered view then omits the field rather than substituting
// Crabbox's configured default, which has no bearing on a lease whose idle
// policy the provider owns.
IdleTimeout time.Duration
}
type LeaseHeldResource ¶ added in v0.73.0
type LeaseLifetimeCompute ¶ added in v0.75.0
type LeaseLifetimeExtension ¶ added in v0.75.0
type LeaseLifetimePolicy ¶ added in v0.75.0
type LeaseLifetimePolicy struct {
Mode string `json:"mode"`
Source string `json:"source,omitempty"`
Workload string `json:"workload"`
DeadlineAt string `json:"deadlineAt"`
EffectiveStopAt string `json:"effectiveStopAt,omitempty"`
RetainSeconds int `json:"retainSeconds"`
Extension *LeaseLifetimeExtension `json:"extension,omitempty"`
WarnedAt string `json:"warnedAt,omitempty"`
DeletionWarnedAt string `json:"deletionWarnedAt,omitempty"`
CheckedAt string `json:"checkedAt,omitempty"`
NextCheckAt string `json:"nextCheckAt,omitempty"`
Status string `json:"status,omitempty"`
Error string `json:"error,omitempty"`
StoppedAt string `json:"stoppedAt,omitempty"`
StopStartedAt string `json:"stopStartedAt,omitempty"`
DeleteStartedAt string `json:"deleteStartedAt,omitempty"`
DeleteAfterAt string `json:"deleteAfterAt,omitempty"`
RetainedIdentity string `json:"retainedIdentity,omitempty"`
Warnings []string `json:"warnings,omitempty"`
Readiness *LeaseLifetimeReadiness `json:"readiness,omitempty"`
Compute *LeaseLifetimeCompute `json:"compute,omitempty"`
}
LeaseLifetimePolicy preserves the coordinator's recorded policy and observations.
type LeaseLifetimeReadiness ¶ added in v0.75.0
type LeaseLifetimeRequest ¶ added in v0.75.0
type LeaseNetworkDiagnostics ¶ added in v0.55.0
type LeaseNetworkDiagnostics struct {
SSHSourceCIDRs *[]string `json:"sshSourceCIDRs,omitempty"`
SSHPinnedSourceCIDRs *[]string `json:"sshPinnedSourceCIDRs,omitempty"`
SSHSourceCIDRsComplete *bool `json:"sshSourceCIDRsComplete,omitempty"`
AWSSecurityGroupID *string `json:"awsSecurityGroupID,omitempty"`
AWSSecurityGroupName *string `json:"awsSecurityGroupName,omitempty"`
AWSSubnetID *string `json:"awsSubnetID,omitempty"`
AWSPrivate *bool `json:"awsPrivate,omitempty"`
}
LeaseNetworkDiagnostics retains broker records, not live ingress observations. Pointers preserve unknown fields separately from explicit false or empty values.
type LeaseOptions ¶ added in v0.6.0
type LeaseOptions struct {
TargetOS string
WindowsMode string
Class string
Pond string
ProviderScope string
ServerType string
IdleTimeout time.Duration
TTL time.Duration
Desktop bool
DesktopEnv string
Browser bool
Code bool
Tailscale TailscaleConfig
WorkRoot string
SSHUser string
SSHPort string
SSHKey string
Sync SyncConfig
Results ResultsConfig
EnvAllow []string
ActionsRunner bool
}
type LeaseRecoveryHold ¶ added in v0.73.0
type LeaseRecoveryHold struct {
Schema string `json:"schema"`
Provider string `json:"provider"`
LeaseID string `json:"leaseId"`
Status string `json:"status"`
Resources []LeaseHeldResource `json:"resources"`
UnacceptedChanges string `json:"unacceptedChanges"`
}
A hold records custody or verified absence, never proof that files were salvaged.
type LeaseTarget ¶ added in v0.6.0
type LeaseTarget struct {
Server Server
SSH SSHTarget
LeaseID string
Coordinator *CoordinatorClient
// contains filtered or unexported fields
}
func AcquireFixedLease ¶ added in v0.46.0
func AcquireFixedLease( opts FixedAcquireOptions, prepare func(context.Context, *LeaseClaim, bool) (FixedLeaseBinding, error), acquire func(context.Context, *LeaseClaim, *FixedCreateIntent, func() error) (LeaseTarget, error), ctx context.Context, ) (LeaseTarget, error)
func AcquireFixedResource ¶ added in v0.65.0
func AcquireFixedResource[T any](ctx context.Context, opts FixedAcquireOptions, ops FixedLeaseOperations[T]) (LeaseTarget, error)
AcquireFixedResource keeps the existing claim envelope and all native fingerprint/attempt dialects readable while writing the engine journal.
func CompleteFixedAcquisition ¶ added in v0.65.0
func CompleteFixedAcquisition(lease LeaseTarget, err error, req AcquireRequest) (LeaseTarget, error)
CompleteFixedAcquisition runs acknowledgement outside the claim fence. A failed acknowledgement retains custody and cannot reopen a single-use ID.
func ResolveFixedLeaseTarget ¶ added in v0.65.0
func ResolveFixedLeaseTarget(ctx context.Context, opts FixedResolveOptions, prepare func(context.Context, *LeaseClaim, func() error) (LeaseTarget, error), inspect func(context.Context, LeaseClaim) (LeaseTarget, error), ) (LeaseTarget, error)
type LeaseTelemetry ¶ added in v0.6.0
type LeaseTelemetry struct {
CapturedAt string `json:"capturedAt,omitempty"`
Source string `json:"source,omitempty"`
Load1 *float64 `json:"load1,omitempty"`
Load5 *float64 `json:"load5,omitempty"`
Load15 *float64 `json:"load15,omitempty"`
CPUCount *int64 `json:"cpuCount,omitempty"`
MemoryUsedBytes *int64 `json:"memoryUsedBytes,omitempty"`
MemoryTotalBytes *int64 `json:"memoryTotalBytes,omitempty"`
MemoryPercent *float64 `json:"memoryPercent,omitempty"`
DiskUsedBytes *int64 `json:"diskUsedBytes,omitempty"`
DiskTotalBytes *int64 `json:"diskTotalBytes,omitempty"`
DiskPercent *float64 `json:"diskPercent,omitempty"`
UptimeSeconds *int64 `json:"uptimeSeconds,omitempty"`
}
type LeaseTouchBackend ¶ added in v0.30.0
type LinodeConfig ¶ added in v0.30.0
type LinodeConfig struct {
Region string `config:"region" env:"CRABBOX_LINODE_REGION" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
Image string `` /* 129-byte string literal not displayed */
Type string `` /* 127-byte string literal not displayed */
FirewallID string `config:"firewall" env:"CRABBOX_LINODE_FIREWALL" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
SSHCIDRs []string `config:"sshCIDRs" env:"CRABBOX_LINODE_SSH_CIDRS" sources:"user,repo,env" fileList:"nonempty-raw" fileStorage:"value"`
}
LinodeConfig contains non-secret settings without provider flags. Portable OS resolution and late native validation remain separate policy.
type LinodeConfigApplied ¶ added in v0.55.0
LinodeConfigApplied records accepted assignments during one application.
type ListRequest ¶ added in v0.6.0
type ListRequest struct {
Options LeaseOptions
All bool
Refresh bool
Retained bool
}
type LocalCommandRequest ¶ added in v0.6.0
type LocalCommandRequest struct {
Name string
Args []string
Env []string
Dir string
Stdin io.Reader
Stdout io.Writer
Stderr io.Writer
DisableOutputCapture bool
// CaptureOutputToFiles gives POSIX children synchronous regular-file output.
// Requires a positive capture limit and no streaming writers.
CaptureOutputToFiles bool
// MaxCapturedOutputBytes bounds each internally captured output stream.
// On overflow the command context is canceled so a continuously emitting
// child cannot block forever after the capture buffer fills.
MaxCapturedOutputBytes int
CancelGracePeriod time.Duration
// RequireProcessGroupJoin keeps this call active until its owned standalone
// process group closes, including after cancellation or cleanup grace expiry.
RequireProcessGroupJoin bool
// OnCleanupPending reports grace expiry once while the command still joins.
OnCleanupPending func(error) `json:"-"`
}
type LocalCommandResult ¶ added in v0.6.0
type LocalContainerConfig ¶ added in v0.17.0
type LocalContainerConfig struct {
Runtime string `` /* 252-byte string literal not displayed */
Image string `` /* 222-byte string literal not displayed */
User string `` /* 220-byte string literal not displayed */
WorkRoot string `` /* 245-byte string literal not displayed */
CPUs int `` /* 251-byte string literal not displayed */
Memory string `` /* 217-byte string literal not displayed */
Network string `` /* 226-byte string literal not displayed */
DockerSocket bool `` /* 245-byte string literal not displayed */
NoHostname bool `config:"noHostname" env:"CRABBOX_LOCAL_CONTAINER_NO_HOSTNAME" sources:"user,repo,env"`
OCIRuntime string `` /* 256-byte string literal not displayed */
// Host volumes remain an explicit CLI action, never file or environment input.
Volumes []string `` /* 148-byte string literal not displayed */
CheckpointMetadata map[string]string `sources:"runtime" yaml:"-" json:"-"`
}
LocalContainerConfig owns bindings; creation checks and runtime defaults stay provider-owned.
type LocalContainerConfigApplied ¶ added in v0.56.0
type LocalContainerConfigApplied struct {
InputAccepted bool
Runtime bool
Image bool
WorkRoot bool
}
LocalContainerConfigApplied records accepted assignments during one application.
type LocalContainerConfigFlagValues ¶ added in v0.62.0
type LocalContainerConfigFlagValues struct {
Runtime *string
Image *string
User *string
WorkRoot *string
CPUs *int
Memory *string
Network *string
DockerSocket *bool
OCIRuntime *string
Volumes *[]string
}
LocalContainerConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterLocalContainerConfigFlags ¶ added in v0.62.0
func RegisterLocalContainerConfigFlags(fs *flag.FlagSet, defaults LocalContainerConfig) LocalContainerConfigFlagValues
RegisterLocalContainerConfigFlags registers mechanical bindings without selecting a provider.
type LocalContainerConfigVisitedFlags ¶ added in v0.62.0
type LocalContainerConfigVisitedFlags struct {
Runtime bool
Image bool
User bool
WorkRoot bool
CPUs bool
Memory bool
Network bool
DockerSocket bool
OCIRuntime bool
Volumes bool
}
LocalContainerConfigVisitedFlags records raw flag visits, independently of application.
func LocalContainerConfigFlagPresence ¶ added in v0.62.0
func LocalContainerConfigFlagPresence(fs *flag.FlagSet) LocalContainerConfigVisitedFlags
LocalContainerConfigFlagPresence reports visits for tracked flag bindings.
type LumeConfig ¶ added in v0.40.0
type LumeConfig struct {
CLIPath string `` /* 165-byte string literal not displayed */
Base string `` /* 199-byte string literal not displayed */
Storage string `` /* 168-byte string literal not displayed */
User string `` /* 174-byte string literal not displayed */
WorkRoot string `` /* 193-byte string literal not displayed */
}
LumeConfig describes mechanical bindings; host storage and user-derived work-root resolution remain owned by the provider.
type LumeConfigApplied ¶ added in v0.56.0
type LumeConfigApplied struct {
InputAccepted bool
}
LumeConfigApplied records accepted assignments during one application.
type LumeConfigFlagValues ¶ added in v0.54.0
type LumeConfigFlagValues struct {
CLIPath *string
Base *string
Storage *string
User *string
WorkRoot *string
}
LumeConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterLumeConfigFlags ¶ added in v0.54.0
func RegisterLumeConfigFlags(fs *flag.FlagSet, defaults LumeConfig) LumeConfigFlagValues
RegisterLumeConfigFlags registers mechanical bindings without selecting a provider.
func (LumeConfigFlagValues) Apply ¶ added in v0.54.0
func (values LumeConfigFlagValues) Apply(cfg *LumeConfig, fs *flag.FlagSet) (LumeConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type MXCConfig ¶ added in v0.28.0
type MXCConfig struct {
CLIPath string `` /* 180-byte string literal not displayed */
Version string `` /* 195-byte string literal not displayed */
Containment string `` /* 203-byte string literal not displayed */
Network string `` /* 192-byte string literal not displayed */
ReadOnlyPaths []string `` /* 223-byte string literal not displayed */
ReadWritePaths []string `` /* 227-byte string literal not displayed */
AllowedHosts []string `` /* 216-byte string literal not displayed */
BlockedHosts []string `` /* 216-byte string literal not displayed */
AllowDACLMutation bool `` /* 191-byte string literal not displayed */
AllowWindowsUI bool `` /* 199-byte string literal not displayed */
Experimental bool `` /* 157-byte string literal not displayed */
}
MXCConfig owns inert configuration bindings; execution policy stays in the adapter.
type MXCConfigApplied ¶ added in v0.61.0
type MXCConfigApplied struct {
InputAccepted bool
}
MXCConfigApplied records accepted assignments during one application.
type MXCConfigFlagValues ¶ added in v0.61.0
type MXCConfigFlagValues struct {
CLIPath *string
Version *string
Containment *string
Network *string
ReadOnlyPaths *string
ReadWritePaths *string
AllowedHosts *string
BlockedHosts *string
AllowDACLMutation *bool
AllowWindowsUI *bool
Experimental *bool
}
MXCConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterMXCConfigFlags ¶ added in v0.61.0
func RegisterMXCConfigFlags(fs *flag.FlagSet, defaults MXCConfig) MXCConfigFlagValues
RegisterMXCConfigFlags registers mechanical bindings without selecting a provider.
func (MXCConfigFlagValues) Apply ¶ added in v0.61.0
func (values MXCConfigFlagValues) Apply(cfg *MXCConfig, fs *flag.FlagSet) (MXCConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type Machine0Config ¶ added in v0.45.0
type Machine0Config struct {
CLIPath string `` /* 179-byte string literal not displayed */
Image string `` /* 194-byte string literal not displayed */
ImageVersion int `` /* 229-byte string literal not displayed */
DesktopImage string `` /* 221-byte string literal not displayed */
Size string `` /* 210-byte string literal not displayed */
SizeExplicit bool `sources:"runtime"`
Region string `` /* 176-byte string literal not displayed */
Key string `` /* 204-byte string literal not displayed */
WorkRoot string `` /* 201-byte string literal not displayed */
ReleasePolicy string `` /* 232-byte string literal not displayed */
CreateTimeout time.Duration `` /* 243-byte string literal not displayed */
PollInterval time.Duration `` /* 247-byte string literal not displayed */
}
Machine0Config owns input bindings; runtime selection and validation stay provider-owned.
type Machine0ConfigApplied ¶ added in v0.56.0
Machine0ConfigApplied records accepted assignments during one application.
type Machine0ConfigFlagValues ¶ added in v0.56.0
type Machine0ConfigFlagValues struct {
CLIPath *string
Image *string
ImageVersion *int
DesktopImage *string
Size *string
Region *string
Key *string
WorkRoot *string
ReleasePolicy *string
CreateTimeout *string
PollInterval *string
}
Machine0ConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterMachine0ConfigFlags ¶ added in v0.56.0
func RegisterMachine0ConfigFlags(fs *flag.FlagSet, defaults Machine0Config) Machine0ConfigFlagValues
RegisterMachine0ConfigFlags registers mechanical bindings without selecting a provider.
func (Machine0ConfigFlagValues) Apply ¶ added in v0.56.0
func (values Machine0ConfigFlagValues) Apply(cfg *Machine0Config, fs *flag.FlagSet) (Machine0ConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type Machine0ConfigVisitedFlags ¶ added in v0.56.0
Machine0ConfigVisitedFlags records raw flag visits, independently of application.
func Machine0ConfigFlagPresence ¶ added in v0.56.0
func Machine0ConfigFlagPresence(fs *flag.FlagSet) Machine0ConfigVisitedFlags
Machine0ConfigFlagPresence reports visits for tracked flag bindings.
type MissingLeaseClaimError ¶ added in v0.67.0
MissingLeaseClaimError preserves the resolver's error contract while letting CLI stop explain a missing claim without claiming proof of a previous stop.
func (*MissingLeaseClaimError) Error ¶ added in v0.67.0
func (e *MissingLeaseClaimError) Error() string
func (*MissingLeaseClaimError) Unwrap ¶ added in v0.67.0
func (e *MissingLeaseClaimError) Unwrap() error
type ModalConfig ¶ added in v0.13.0
type ModalConfig struct {
App string `` /* 187-byte string literal not displayed */
Image string `` /* 210-byte string literal not displayed */
Workdir string `` /* 225-byte string literal not displayed */
Python string `` /* 208-byte string literal not displayed */
Environment string `` /* 203-byte string literal not displayed */
Secrets []string `` /* 232-byte string literal not displayed */
}
ModalConfig describes mechanical bindings for the delegated Modal provider. Secrets contains names; native secret lookup and authentication stay in Modal.
type ModalConfigApplied ¶ added in v0.56.0
type ModalConfigApplied struct {
InputAccepted bool
}
ModalConfigApplied records accepted assignments during one application.
type ModalConfigFlagValues ¶ added in v0.54.0
type ModalConfigFlagValues struct {
App *string
Image *string
Workdir *string
Python *string
Environment *string
Secrets *replaceAppendListFlag
}
ModalConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterModalConfigFlags ¶ added in v0.54.0
func RegisterModalConfigFlags(fs *flag.FlagSet, defaults ModalConfig) ModalConfigFlagValues
RegisterModalConfigFlags registers mechanical bindings without selecting a provider.
func (ModalConfigFlagValues) Apply ¶ added in v0.54.0
func (values ModalConfigFlagValues) Apply(cfg *ModalConfig, fs *flag.FlagSet) (ModalConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type MorphConfig ¶ added in v0.29.0
type MorphConfig struct {
APIKey string `` /* 156-byte string literal not displayed */
APIURL string `` /* 211-byte string literal not displayed */
Snapshot string `` /* 165-byte string literal not displayed */
SSHGatewayHost string `` /* 242-byte string literal not displayed */
WorkRoot string `` /* 203-byte string literal not displayed */
DeleteOnRelease bool `` /* 208-byte string literal not displayed */
WakeOnSSH bool `` /* 172-byte string literal not displayed */
}
MorphConfig describes mechanical bindings for the SSH lease provider. Credential source and explicit release-policy markers remain handwritten.
type MorphConfigApplied ¶ added in v0.54.0
type MorphConfigApplied struct {
InputAccepted bool
APIKey bool
APIURL bool
SSHGatewayHost bool
DeleteOnRelease bool
}
MorphConfigApplied records accepted assignments during one application.
type MorphConfigFlagValues ¶ added in v0.54.0
type MorphConfigFlagValues struct {
APIURL *string
Snapshot *string
SSHGatewayHost *string
WorkRoot *string
DeleteOnRelease *bool
WakeOnSSH *bool
}
MorphConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterMorphConfigFlags ¶ added in v0.54.0
func RegisterMorphConfigFlags(fs *flag.FlagSet, defaults MorphConfig) MorphConfigFlagValues
RegisterMorphConfigFlags registers mechanical bindings without selecting a provider.
func (MorphConfigFlagValues) Apply ¶ added in v0.54.0
func (values MorphConfigFlagValues) Apply(cfg *MorphConfig, fs *flag.FlagSet) (MorphConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type MorphConfigVisitedFlags ¶ added in v0.54.0
MorphConfigVisitedFlags records raw flag visits, independently of application.
func MorphConfigFlagPresence ¶ added in v0.54.0
func MorphConfigFlagPresence(fs *flag.FlagSet) MorphConfigVisitedFlags
MorphConfigFlagPresence reports visits for tracked flag bindings.
type MultipassConfig ¶ added in v0.26.0
type MultipassConfig struct {
CLIPath string `` /* 183-byte string literal not displayed */
Image string `` /* 199-byte string literal not displayed */
User string `` /* 223-byte string literal not displayed */
WorkRoot string `` /* 227-byte string literal not displayed */
CPUs int `` /* 247-byte string literal not displayed */
Memory string `` /* 211-byte string literal not displayed */
Disk string `` /* 205-byte string literal not displayed */
LaunchTimeout time.Duration `` /* 244-byte string literal not displayed */
}
MultipassConfig owns input bindings; portable image selection stays with core.
type MultipassConfigApplied ¶ added in v0.56.0
MultipassConfigApplied records accepted assignments during one application.
type MultipassConfigFlagValues ¶ added in v0.56.0
type MultipassConfigFlagValues struct {
CLIPath *string
Image *string
User *string
WorkRoot *string
CPUs *int
Memory *string
Disk *string
LaunchTimeout *string
}
MultipassConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterMultipassConfigFlags ¶ added in v0.56.0
func RegisterMultipassConfigFlags(fs *flag.FlagSet, defaults MultipassConfig) MultipassConfigFlagValues
RegisterMultipassConfigFlags registers mechanical bindings without selecting a provider.
func (MultipassConfigFlagValues) Apply ¶ added in v0.56.0
func (values MultipassConfigFlagValues) Apply(cfg *MultipassConfig, fs *flag.FlagSet) (MultipassConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type MultipassConfigVisitedFlags ¶ added in v0.56.0
MultipassConfigVisitedFlags records raw flag visits, independently of application.
func MultipassConfigFlagPresence ¶ added in v0.56.0
func MultipassConfigFlagPresence(fs *flag.FlagSet) MultipassConfigVisitedFlags
MultipassConfigFlagPresence reports visits for tracked flag bindings.
type NamespaceConfig ¶ added in v0.9.0
type NamespaceConfig struct {
Image string `` /* 192-byte string literal not displayed */
Size string `` /* 202-byte string literal not displayed */
Repository string `` /* 198-byte string literal not displayed */
Site string `` /* 165-byte string literal not displayed */
VolumeSizeGB int `` /* 251-byte string literal not displayed */
AutoStopIdleTimeout time.Duration `` /* 363-byte string literal not displayed */
WorkRoot string `` /* 243-byte string literal not displayed */
DeleteOnRelease bool `` /* 221-byte string literal not displayed */
}
NamespaceConfig owns Devbox bindings; generic flag effects stay with the provider.
type NamespaceConfigApplied ¶ added in v0.56.0
type NamespaceConfigApplied struct {
InputAccepted bool
Size bool
WorkRoot bool
DeleteOnRelease bool
}
NamespaceConfigApplied records accepted assignments during one application.
type NamespaceConfigFlagValues ¶ added in v0.56.0
type NamespaceConfigFlagValues struct {
Image *string
Size *string
Repository *string
Site *string
VolumeSizeGB *int
AutoStopIdleTimeout *string
WorkRoot *string
DeleteOnRelease *bool
}
NamespaceConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterNamespaceConfigFlags ¶ added in v0.56.0
func RegisterNamespaceConfigFlags(fs *flag.FlagSet, defaults NamespaceConfig) NamespaceConfigFlagValues
RegisterNamespaceConfigFlags registers mechanical bindings without selecting a provider.
func (NamespaceConfigFlagValues) Apply ¶ added in v0.56.0
func (values NamespaceConfigFlagValues) Apply(cfg *NamespaceConfig, fs *flag.FlagSet) (NamespaceConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type NamespaceConfigVisitedFlags ¶ added in v0.56.0
NamespaceConfigVisitedFlags records raw flag visits, independently of application.
func NamespaceConfigFlagPresence ¶ added in v0.56.0
func NamespaceConfigFlagPresence(fs *flag.FlagSet) NamespaceConfigVisitedFlags
NamespaceConfigFlagPresence reports visits for tracked flag bindings.
type NamespaceInstanceConfig ¶ added in v0.30.0
type NamespaceInstanceConfig struct {
CLIPath string `` /* 211-byte string literal not displayed */
MachineType string `` /* 239-byte string literal not displayed */
Duration time.Duration `` /* 255-byte string literal not displayed */
Region string `` /* 179-byte string literal not displayed */
Endpoint string `` /* 191-byte string literal not displayed */
Keychain string `` /* 193-byte string literal not displayed */
TenantID string `sources:"runtime"`
Volumes []string `` /* 255-byte string literal not displayed */
WorkRoot string `` /* 224-byte string literal not displayed */
Bare bool `` /* 175-byte string literal not displayed */
}
NamespaceInstanceConfig owns input bindings; native instance defaults stay with the provider.
type NamespaceInstanceConfigApplied ¶ added in v0.56.0
NamespaceInstanceConfigApplied records accepted assignments during one application.
type NamespaceInstanceConfigFlagValues ¶ added in v0.56.0
type NamespaceInstanceConfigFlagValues struct {
CLIPath *string
MachineType *string
Duration *string
Region *string
Endpoint *string
Keychain *string
Volumes *appendTrimmedListFlag
WorkRoot *string
Bare *bool
}
NamespaceInstanceConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterNamespaceInstanceConfigFlags ¶ added in v0.56.0
func RegisterNamespaceInstanceConfigFlags(fs *flag.FlagSet, defaults NamespaceInstanceConfig) NamespaceInstanceConfigFlagValues
RegisterNamespaceInstanceConfigFlags registers mechanical bindings without selecting a provider.
func (NamespaceInstanceConfigFlagValues) Apply ¶ added in v0.56.0
func (values NamespaceInstanceConfigFlagValues) Apply(cfg *NamespaceInstanceConfig, fs *flag.FlagSet) (NamespaceInstanceConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type NamespaceInstanceConfigVisitedFlags ¶ added in v0.56.0
type NamespaceInstanceConfigVisitedFlags struct {
CLIPath bool
}
NamespaceInstanceConfigVisitedFlags records raw flag visits, independently of application.
func NamespaceInstanceConfigFlagPresence ¶ added in v0.56.0
func NamespaceInstanceConfigFlagPresence(fs *flag.FlagSet) NamespaceInstanceConfigVisitedFlags
NamespaceInstanceConfigFlagPresence reports visits for tracked flag bindings.
type NativeCheckpointAbandonProvider ¶ added in v0.48.1
type NativeCheckpointAbandonProvider interface {
PrepareNativeCheckpointAbandon(context.Context, NativeCheckpointCreateRequest) (map[string]string, error)
}
NativeCheckpointAbandonProvider binds positive source-cleanup evidence without asserting that the original image was submitted, absent, or safe to discard.
type NativeCheckpointCapability ¶ added in v0.19.0
type NativeCheckpointCapture ¶ added in v0.48.0
type NativeCheckpointCapture struct {
SourceDisposition string `json:"sourceDisposition"`
Phase string `json:"phase"`
StrategyExplicit bool `json:"strategyExplicit,omitempty"`
SourceID string `json:"sourceId"`
SourceName string `json:"sourceName"`
SourceScope string `json:"sourceScope"`
SourceRevision string `json:"sourceRevision"`
SourceClaimedAt string `json:"sourceClaimedAt"`
SourceIntent string `json:"sourceIntent,omitempty"`
Error string `json:"error,omitempty"`
DiscardFailed bool `json:"discardFailed,omitempty"`
}
NativeCheckpointCapture is the host-owned operation journal. Provider metadata is correlation only; source authority comes from the bound local claim.
type NativeCheckpointCreateRequest ¶ added in v0.28.0
type NativeCheckpointCreateRequest struct {
// Persist durably records cleanup identity before a provider mutates remote resources.
// Providers requiring interruption recovery must stop if persistence fails.
Persist func(NativeCheckpointCreateResult) error
Config Config
Runtime Runtime
ArtifactDir string
Server Server
Target SSHTarget
CheckpointID string
LeaseID string
Name string
RepoName string
Workdir string
Strategy string
NoReboot bool
Wait bool
WaitTimeout time.Duration
Stderr io.Writer
Capture *NativeCheckpointCapture
Metadata map[string]string
}
type NativeCheckpointCreateResult ¶ added in v0.28.0
type NativeCheckpointCreateResult struct {
// ArtifactDir is the provider-owned local directory holding the checkpoint.
ArtifactDir string
// CaptureEstablished attests a fixed capture under the provider's own
// contract. False preserves success semantics and omits the JSON assertion.
CaptureEstablished bool `json:"-"`
Image NativeCheckpointImage
Metadata map[string]string
}
type NativeCheckpointForkFlagProvider ¶ added in v0.29.0
type NativeCheckpointForkLifecycleProvider ¶ added in v0.81.0
type NativeCheckpointForkLifecycleProvider interface {
ForkNativeCheckpoint(context.Context, NativeCheckpointForkLifecycleRequest) (LeaseTarget, error)
}
type NativeCheckpointForkLifecycleRequest ¶ added in v0.81.0
type NativeCheckpointForkLifecycleRequest struct {
OnAcquired func(LeaseTarget) error
Record NativeCheckpointForkRecord
Repo Repo
Keep bool
Reclaim bool
RequestedSlug string
}
NativeCheckpointForkLifecycleRequest asks a provider to create and claim one lease from a local checkpoint record.
type NativeCheckpointForkProvider ¶ added in v0.19.0
type NativeCheckpointForkProvider interface {
ApplyNativeCheckpointForkConfig(req NativeCheckpointForkRequest) error
}
type NativeCheckpointForkRecord ¶ added in v0.19.0
type NativeCheckpointForkRequest ¶ added in v0.19.0
type NativeCheckpointForkRequest struct {
Config *Config
Record NativeCheckpointForkRecord
MarketExplicit bool
AzureOSDisk string
AzureOSDiskExplicit bool
}
type NativeCheckpointImage ¶ added in v0.28.0
type NativeCheckpointLifecycleProvider ¶ added in v0.28.0
type NativeCheckpointLifecycleProvider interface {
NativeCheckpointWorkdir(req NativeCheckpointWorkdirRequest) string
CreateNativeCheckpoint(ctx context.Context, req NativeCheckpointCreateRequest) (NativeCheckpointCreateResult, error)
VerifyNativeCheckpoint(ctx context.Context, req NativeCheckpointResourceRequest) (NativeCheckpointVerifyResult, error)
DeleteNativeCheckpoint(ctx context.Context, req NativeCheckpointResourceRequest) error
}
type NativeCheckpointNotSubmittedError ¶ added in v0.48.1
type NativeCheckpointNotSubmittedError struct{ Cause error }
NativeCheckpointNotSubmittedError attests that this invocation never attempted image submission. An empty result or a failed request cannot establish this.
func (NativeCheckpointNotSubmittedError) Error ¶ added in v0.48.1
func (e NativeCheckpointNotSubmittedError) Error() string
func (NativeCheckpointNotSubmittedError) Unwrap ¶ added in v0.48.1
func (e NativeCheckpointNotSubmittedError) Unwrap() error
type NativeCheckpointProvider ¶ added in v0.19.0
type NativeCheckpointProvider interface {
NativeCheckpointCapability(req NativeCheckpointRequest) (NativeCheckpointCapability, bool)
}
type NativeCheckpointRequest ¶ added in v0.19.0
type NativeCheckpointResourceRequest ¶ added in v0.28.0
type NativeCheckpointResourceRequest struct {
// Persist records recovered identity before deletion; absent on read-only verification.
Persist func(NativeCheckpointCreateResult) error
// LoadConfig is required only when the provider needs current CLI settings.
LoadConfig func() (Config, error)
Config Config
Runtime Runtime
ArtifactDir string
Image NativeCheckpointImage
Metadata map[string]string
Capture *NativeCheckpointCapture
}
func AuthorizedCheckpointReleaseResource ¶ added in v0.48.0
func AuthorizedCheckpointReleaseResource(claim LeaseClaim, checkpointID string) (NativeCheckpointResourceRequest, error)
AuthorizedCheckpointReleaseResource returns the journal's resource only after validating retirement authority. Call under the claim fence for finalization; the checkpoint owner already holds its journal lock before taking that fence.
type NativeCheckpointRestoreProvider ¶ added in v0.81.0
type NativeCheckpointRestoreProvider interface {
RestoreNativeCheckpoint(context.Context, NativeCheckpointRestoreRequest) (NativeCheckpointRestoreResult, error)
}
type NativeCheckpointRestoreRequest ¶ added in v0.81.0
type NativeCheckpointRestoreRequest struct {
Config Config
Runtime Runtime
Record NativeCheckpointForkRecord
LeaseID string
Repo Repo
Reclaim bool
}
NativeCheckpointRestoreRequest restores an existing lease in place from a checkpoint record.
type NativeCheckpointRestoreResult ¶ added in v0.81.0
type NativeCheckpointRestoreResult struct {
Lease LeaseTarget
}
type NativeCheckpointSourcePolicyProvider ¶ added in v0.47.0
type NativeCheckpointSourcePolicyProvider interface {
NativeCheckpointSourceStatusOnly(Config) bool
}
NativeCheckpointSourcePolicyProvider lets API-native capture resolve a source without starting it or minting transport credentials before stop consent.
type NativeCheckpointVerifyResult ¶ added in v0.28.0
type NativeCheckpointWorkdirRequest ¶ added in v0.28.0
type NebiusConfig ¶ added in v0.33.0
type NebiusConfig struct {
CLI string `` /* 162-byte string literal not displayed */
Profile string `` /* 165-byte string literal not displayed */
ParentID string `` /* 176-byte string literal not displayed */
SubnetID string `` /* 168-byte string literal not displayed */
Platform string `` /* 190-byte string literal not displayed */
Preset string `` /* 186-byte string literal not displayed */
ImageFamily string `` /* 218-byte string literal not displayed */
DiskType string `` /* 195-byte string literal not displayed */
DiskSizeGiB int `` /* 237-byte string literal not displayed */
User string `` /* 179-byte string literal not displayed */
PublicIP string `` /* 208-byte string literal not displayed */
SecurityGroupIDs []string `` /* 244-byte string literal not displayed */
ServiceAccountID string `` /* 206-byte string literal not displayed */
RecoveryPolicy string `` /* 220-byte string literal not displayed */
}
NebiusConfig is intentionally non-secret. Authentication stays in the Nebius CLI profile store and is never accepted as Crabbox config or argv.
func (NebiusConfig) WithRuntimeDefaults ¶ added in v0.56.0
func (cfg NebiusConfig) WithRuntimeDefaults() NebiusConfig
WithRuntimeDefaults fills only the existing raw-empty strings and zero disk size. Other settings and slice identity remain unchanged.
type NebiusConfigApplied ¶ added in v0.56.0
type NebiusConfigApplied struct {
InputAccepted bool
}
NebiusConfigApplied records accepted assignments during one application.
type NebiusConfigFlagValues ¶ added in v0.56.0
type NebiusConfigFlagValues struct {
CLI *string
Profile *string
ParentID *string
SubnetID *string
Platform *string
Preset *string
ImageFamily *string
DiskType *string
DiskSizeGiB *int
User *string
PublicIP *string
SecurityGroupIDs *string
ServiceAccountID *string
RecoveryPolicy *string
}
NebiusConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterNebiusConfigFlags ¶ added in v0.56.0
func RegisterNebiusConfigFlags(fs *flag.FlagSet, defaults NebiusConfig) NebiusConfigFlagValues
RegisterNebiusConfigFlags registers mechanical bindings without selecting a provider.
func (NebiusConfigFlagValues) Apply ¶ added in v0.56.0
func (values NebiusConfigFlagValues) Apply(cfg *NebiusConfig, fs *flag.FlagSet) (NebiusConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type NetworkMode ¶ added in v0.5.0
type NetworkMode string
const ( NetworkAuto NetworkMode = "auto" NetworkTailscale NetworkMode = "tailscale" NetworkPublic NetworkMode = "public" )
type NomadConfig ¶ added in v0.35.0
type NomadConfig struct {
Address string `` /* 218-byte string literal not displayed */
Region string `` /* 191-byte string literal not displayed */
Namespace string `` /* 209-byte string literal not displayed */
TokenEnv string `` /* 239-byte string literal not displayed */
CACert string `` /* 231-byte string literal not displayed */
CAPath string `` /* 229-byte string literal not displayed */
ClientCert string `` /* 234-byte string literal not displayed */
ClientKey string `` /* 222-byte string literal not displayed */
TLSServerName string `` /* 225-byte string literal not displayed */
SkipVerify bool `` /* 164-byte string literal not displayed */
Task string `` /* 146-byte string literal not displayed */
Driver string `` /* 153-byte string literal not displayed */
Image string `` /* 155-byte string literal not displayed */
Workdir string `` /* 167-byte string literal not displayed */
JobSpecTemplate string `` /* 224-byte string literal not displayed */
NodePool string `` /* 194-byte string literal not displayed */
Datacenters []string `` /* 237-byte string literal not displayed */
CPU int `` /* 166-byte string literal not displayed */
MemoryMB int `` /* 185-byte string literal not displayed */
DiskMB int `` /* 187-byte string literal not displayed */
AllocReadyTimeout time.Duration `` /* 323-byte string literal not displayed */
EvalTimeout time.Duration `` /* 296-byte string literal not displayed */
ExecTimeoutSecs int `` /* 195-byte string literal not displayed */
}
NomadConfig owns mechanical bindings; token values remain runtime-only.
type NomadConfigApplied ¶ added in v0.61.0
type NomadConfigApplied struct {
InputAccepted bool
Address bool
TokenEnv bool
CACert bool
CAPath bool
ClientCert bool
ClientKey bool
JobSpecTemplate bool
}
NomadConfigApplied records accepted assignments during one application.
type NomadConfigFlagValues ¶ added in v0.61.0
type NomadConfigFlagValues struct {
Address *string
Region *string
Namespace *string
TokenEnv *string
CACert *string
CAPath *string
ClientCert *string
ClientKey *string
TLSServerName *string
SkipVerify *bool
Task *string
Driver *string
Image *string
Workdir *string
JobSpecTemplate *string
NodePool *string
Datacenters *string
CPU *int
MemoryMB *int
DiskMB *int
AllocReadyTimeout *string
EvalTimeout *string
ExecTimeoutSecs *int
}
NomadConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterNomadConfigFlags ¶ added in v0.61.0
func RegisterNomadConfigFlags(fs *flag.FlagSet, defaults NomadConfig) NomadConfigFlagValues
RegisterNomadConfigFlags registers mechanical bindings without selecting a provider.
func (NomadConfigFlagValues) Apply ¶ added in v0.61.0
func (values NomadConfigFlagValues) Apply(cfg *NomadConfig, fs *flag.FlagSet) (NomadConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type NomadConfigVisitedFlags ¶ added in v0.61.0
type NomadConfigVisitedFlags struct {
Address bool
TokenEnv bool
CACert bool
CAPath bool
ClientCert bool
ClientKey bool
JobSpecTemplate bool
}
NomadConfigVisitedFlags records raw flag visits, independently of application.
func NomadConfigFlagPresence ¶ added in v0.61.0
func NomadConfigFlagPresence(fs *flag.FlagSet) NomadConfigVisitedFlags
NomadConfigFlagPresence reports visits for tracked flag bindings.
type NvidiaBrevConfig ¶ added in v0.31.0
type NvidiaBrevConfig struct {
CLI string `` /* 175-byte string literal not displayed */
Org string `` /* 178-byte string literal not displayed */
Type string `` /* 182-byte string literal not displayed */
GPUName string `` /* 203-byte string literal not displayed */
Provider string `` /* 195-byte string literal not displayed */
Mode string `` /* 181-byte string literal not displayed */
Launchable string `` /* 197-byte string literal not displayed */
// applyNvidiaBrevFileConfig owns the additional startup-script file admission.
StartupScript string `` /* 232-byte string literal not displayed */
ReleaseAction string `` /* 257-byte string literal not displayed */
Target string `` /* 236-byte string literal not displayed */
User string `` /* 183-byte string literal not displayed */
WorkRoot string `` /* 256-byte string literal not displayed */
}
NvidiaBrevConfig is intentionally non-secret. Authentication stays in the NVIDIA Brev CLI's own credential store and is never accepted as Crabbox config or argv.
func (NvidiaBrevConfig) WithRuntimeDefaults ¶ added in v0.56.0
func (cfg NvidiaBrevConfig) WithRuntimeDefaults() NvidiaBrevConfig
WithRuntimeDefaults fills raw empty settings; WorkRoot retains its explicit-input resolver.
type NvidiaBrevConfigApplied ¶ added in v0.56.0
type NvidiaBrevConfigApplied struct {
InputAccepted bool
ReleaseAction bool
Target bool
WorkRoot bool
}
NvidiaBrevConfigApplied records accepted assignments during one application.
type NvidiaBrevConfigFlagValues ¶ added in v0.56.0
type NvidiaBrevConfigFlagValues struct {
CLI *string
Org *string
Type *string
GPUName *string
Provider *string
Mode *string
Launchable *string
StartupScript *string
ReleaseAction *string
Target *string
User *string
WorkRoot *string
}
NvidiaBrevConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterNvidiaBrevConfigFlags ¶ added in v0.56.0
func RegisterNvidiaBrevConfigFlags(fs *flag.FlagSet, defaults NvidiaBrevConfig) NvidiaBrevConfigFlagValues
RegisterNvidiaBrevConfigFlags registers mechanical bindings without selecting a provider.
func (NvidiaBrevConfigFlagValues) Apply ¶ added in v0.56.0
func (values NvidiaBrevConfigFlagValues) Apply(cfg *NvidiaBrevConfig, fs *flag.FlagSet) (NvidiaBrevConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type NvidiaBrevConfigVisitedFlags ¶ added in v0.56.0
NvidiaBrevConfigVisitedFlags records raw flag visits, independently of application.
func NvidiaBrevConfigFlagPresence ¶ added in v0.56.0
func NvidiaBrevConfigFlagPresence(fs *flag.FlagSet) NvidiaBrevConfigVisitedFlags
NvidiaBrevConfigFlagPresence reports visits for tracked flag bindings.
type OVHConfig ¶ added in v0.31.0
type OVHConfig struct {
Endpoint string `` /* 194-byte string literal not displayed */
ProjectID string `` /* 181-byte string literal not displayed */
Region string `` /* 166-byte string literal not displayed */
Image string `` /* 217-byte string literal not displayed */
Flavor string `` /* 192-byte string literal not displayed */
}
OVHConfig contains non-secret OVHcloud Public Cloud settings. OVH application credentials are intentionally read from environment variables by the provider client and are not persisted in Crabbox config.
type OVHConfigApplied ¶ added in v0.54.0
OVHConfigApplied records accepted assignments during one application.
type OVHConfigFlagValues ¶ added in v0.54.0
type OVHConfigFlagValues struct {
Endpoint *string
ProjectID *string
Region *string
Image *string
Flavor *string
}
OVHConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterOVHConfigFlags ¶ added in v0.54.0
func RegisterOVHConfigFlags(fs *flag.FlagSet, defaults OVHConfig) OVHConfigFlagValues
RegisterOVHConfigFlags registers mechanical bindings without selecting a provider.
func (OVHConfigFlagValues) Apply ¶ added in v0.54.0
func (values OVHConfigFlagValues) Apply(cfg *OVHConfig, fs *flag.FlagSet) (OVHConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type OVHConfigVisitedFlags ¶ added in v0.54.0
type OVHConfigVisitedFlags struct {
Image bool
}
OVHConfigVisitedFlags records raw flag visits, independently of application.
func OVHConfigFlagPresence ¶ added in v0.54.0
func OVHConfigFlagPresence(fs *flag.FlagSet) OVHConfigVisitedFlags
OVHConfigFlagPresence reports visits for tracked flag bindings.
type OpenComputerConfig ¶ added in v0.29.0
type OpenComputerConfig struct {
APIURL string `` /* 191-byte string literal not displayed */
Workdir string `` /* 260-byte string literal not displayed */
CPU int `` /* 252-byte string literal not displayed */
MemoryMB int `` /* 268-byte string literal not displayed */
TimeoutSecs int `` /* 251-byte string literal not displayed */
ExecTimeoutSecs int `` /* 280-byte string literal not displayed */
Burst bool `` /* 193-byte string literal not displayed */
ForgetMissing bool `` /* 129-byte string literal not displayed */
}
OpenComputerConfig describes mechanical bindings for the delegated provider. APIURL stays unset by default so external OC config precedes the client's built-in URL. API-key resolution remains outside this config structure.
type OpenComputerConfigApplied ¶ added in v0.56.0
type OpenComputerConfigApplied struct {
InputAccepted bool
}
OpenComputerConfigApplied records accepted assignments during one application.
type OpenComputerConfigFlagValues ¶ added in v0.54.0
type OpenComputerConfigFlagValues struct {
APIURL *string
Workdir *string
CPU *int
MemoryMB *int
TimeoutSecs *int
ExecTimeoutSecs *int
Burst *bool
ForgetMissing *bool
}
OpenComputerConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterOpenComputerConfigFlags ¶ added in v0.54.0
func RegisterOpenComputerConfigFlags(fs *flag.FlagSet, defaults OpenComputerConfig) OpenComputerConfigFlagValues
RegisterOpenComputerConfigFlags registers mechanical bindings without selecting a provider.
func (OpenComputerConfigFlagValues) Apply ¶ added in v0.54.0
func (values OpenComputerConfigFlagValues) Apply(cfg *OpenComputerConfig, fs *flag.FlagSet) (OpenComputerConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type OpenSandboxConfig ¶ added in v0.29.0
type OpenSandboxConfig struct {
APIURL string `` /* 188-byte string literal not displayed */
Image string `` /* 162-byte string literal not displayed */
Workdir string `` /* 215-byte string literal not displayed */
CPU string `` /* 177-byte string literal not displayed */
Memory string `` /* 191-byte string literal not displayed */
TimeoutSecs int `` /* 229-byte string literal not displayed */
ExecTimeoutSecs int `` /* 239-byte string literal not displayed */
PlatformOS string `` /* 244-byte string literal not displayed */
PlatformArch string `` /* 258-byte string literal not displayed */
SecureAccess bool `` /* 164-byte string literal not displayed */
UseServerProxy bool `` /* 196-byte string literal not displayed */
ForgetMissing bool `` /* 128-byte string literal not displayed */
}
OpenSandboxConfig describes mechanical bindings for the delegated provider. APIURL has no YAML source; ForgetMissing remains an explicit CLI-only choice. Credentials and provider/request validation stay outside these bindings.
type OpenSandboxConfigApplied ¶ added in v0.56.0
type OpenSandboxConfigApplied struct {
InputAccepted bool
}
OpenSandboxConfigApplied records accepted assignments during one application.
type OpenSandboxConfigFlagValues ¶ added in v0.53.0
type OpenSandboxConfigFlagValues struct {
APIURL *string
Image *string
Workdir *string
CPU *string
Memory *string
TimeoutSecs *int
ExecTimeoutSecs *int
PlatformOS *string
PlatformArch *string
SecureAccess *bool
UseServerProxy *bool
ForgetMissing *bool
}
OpenSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterOpenSandboxConfigFlags ¶ added in v0.53.0
func RegisterOpenSandboxConfigFlags(fs *flag.FlagSet, defaults OpenSandboxConfig) OpenSandboxConfigFlagValues
RegisterOpenSandboxConfigFlags registers mechanical bindings without selecting a provider.
func (OpenSandboxConfigFlagValues) Apply ¶ added in v0.53.0
func (values OpenSandboxConfigFlagValues) Apply(cfg *OpenSandboxConfig, fs *flag.FlagSet) (OpenSandboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type OrdinaryStopAbsenceRecovery ¶ added in v0.64.0
type OrdinaryStopAbsenceRecovery interface {
ReconcileAbsenceOnOrdinaryStop() bool
}
OrdinaryStopAbsenceRecovery preserves an adapter's existing ordinary-stop contract. Other capable adapters require the targeted --force recovery path.
type OrgoConfig ¶ added in v0.37.1
type OrgoConfig struct {
APIKey string `` /* 176-byte string literal not displayed */
APIBase string `` /* 246-byte string literal not displayed */
WorkspaceID string `` /* 235-byte string literal not displayed */
RAMGB int `` /* 204-byte string literal not displayed */
CPUs int `` /* 201-byte string literal not displayed */
DiskGB int `` /* 213-byte string literal not displayed */
Resolution string `` /* 222-byte string literal not displayed */
}
OrgoConfig describes mechanical bindings for the delegated provider. Runtime key normalization and destination validation remain separate policy.
type OrgoConfigApplied ¶ added in v0.54.0
OrgoConfigApplied records accepted assignments during one application.
type OrgoConfigFlagValues ¶ added in v0.54.0
type OrgoConfigFlagValues struct {
APIBase *string
WorkspaceID *string
RAMGB *int
CPUs *int
DiskGB *int
Resolution *string
}
OrgoConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterOrgoConfigFlags ¶ added in v0.54.0
func RegisterOrgoConfigFlags(fs *flag.FlagSet, defaults OrgoConfig) OrgoConfigFlagValues
RegisterOrgoConfigFlags registers mechanical bindings without selecting a provider.
func (OrgoConfigFlagValues) Apply ¶ added in v0.54.0
func (values OrgoConfigFlagValues) Apply(cfg *OrgoConfig, fs *flag.FlagSet) (OrgoConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type OrgoConfigVisitedFlags ¶ added in v0.54.0
type OrgoConfigVisitedFlags struct {
APIBase bool
}
OrgoConfigVisitedFlags records raw flag visits, independently of application.
func OrgoConfigFlagPresence ¶ added in v0.54.0
func OrgoConfigFlagPresence(fs *flag.FlagSet) OrgoConfigVisitedFlags
OrgoConfigFlagPresence reports visits for tracked flag bindings.
type ParallelsClient ¶ added in v0.17.0
type ParallelsClient struct {
Cfg Config
Runner CommandRunner
// WarnClone receives advisory output immediately before clone submission.
WarnClone func(string)
// contains filtered or unexported fields
}
func NewParallelsClient ¶ added in v0.17.0
func NewParallelsClient(cfg Config, runner CommandRunner) *ParallelsClient
func (*ParallelsClient) BootstrapMacOSOverSSH ¶ added in v0.63.0
func (c *ParallelsClient) BootstrapMacOSOverSSH(ctx context.Context, ip string, cfg Config, publicKey string) error
BootstrapMacOSOverSSH installs the per-lease key and performs the normal guest preparation through a pre-provisioned host-side identity. The key path belongs to the Parallels host (local or remote), never to the cloned guest.
func (*ParallelsClient) CreateSnapshot ¶ added in v0.17.0
func (c *ParallelsClient) CreateSnapshot(ctx context.Context, vmID, name, description string) (ParallelsSnapshot, error)
func (*ParallelsClient) Delete ¶ added in v0.17.0
func (c *ParallelsClient) Delete(ctx context.Context, id string) error
func (*ParallelsClient) DeleteSnapshot ¶ added in v0.17.0
func (*ParallelsClient) EnsureGuestReady ¶ added in v0.17.0
func (*ParallelsClient) EnsureHostDir ¶ added in v0.64.0
func (c *ParallelsClient) EnsureHostDir(ctx context.Context, dir string) error
EnsureHostDir creates a directory on the Parallels host. A fixed lease clones into a per-attempt directory, and prlctl requires --dst to exist already.
func (*ParallelsClient) GetVM ¶ added in v0.17.0
func (c *ParallelsClient) GetVM(ctx context.Context, id string) (ParallelsVM, error)
func (*ParallelsClient) InstallSSHKey ¶ added in v0.17.0
func (*ParallelsClient) ListCrabboxServers ¶ added in v0.17.0
func (c *ParallelsClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
func (*ParallelsClient) ListVMs ¶ added in v0.17.0
func (c *ParallelsClient) ListVMs(ctx context.Context) ([]ParallelsVM, error)
func (*ParallelsClient) ListVMsDetailed ¶ added in v0.64.0
func (c *ParallelsClient) ListVMsDetailed(ctx context.Context) ([]ParallelsVM, error)
ListVMsDetailed returns the complete inventory with per-VM detail. The plain listing reports only uuid, name, status and address; the bundle path a fixed lease attests its VM by comes from the info form.
func (*ParallelsClient) POSIXGuestText ¶ added in v0.17.0
func (*ParallelsClient) RemoveHostDirIfEmpty ¶ added in v0.64.0
func (c *ParallelsClient) RemoveHostDirIfEmpty(ctx context.Context, dir string)
RemoveHostDirIfEmpty clears a spent per-attempt directory. It never recurses: only an empty directory is removed, so a surviving VM is never disturbed.
func (*ParallelsClient) ResolveCloneMode ¶ added in v0.69.0
func (c *ParallelsClient) ResolveCloneMode(ctx context.Context) error
ResolveCloneMode defers the default until the execution host is selected. Query hardware on that host, including when its shell runs under Rosetta.
func (*ParallelsClient) ServerIdentity ¶ added in v0.64.0
func (c *ParallelsClient) ServerIdentity(ctx context.Context) (ParallelsServerIdentity, error)
ServerIdentity reads the connected Parallels service identity. A fixed lease binds to this, not to a fleet entry's display name: repointing an entry's host or account at a different machine changes the reported identity.
func (*ParallelsClient) SetLeaseLabels ¶ added in v0.17.0
func (c *ParallelsClient) SetLeaseLabels(leaseID string, labels map[string]string)
func (*ParallelsClient) Snapshot ¶ added in v0.17.0
func (c *ParallelsClient) Snapshot(ctx context.Context, vmID, nameOrID string) (ParallelsSnapshot, error)
func (*ParallelsClient) SnapshotID ¶ added in v0.17.0
func (*ParallelsClient) Snapshots ¶ added in v0.17.0
func (c *ParallelsClient) Snapshots(ctx context.Context, id string) ([]ParallelsSnapshot, error)
func (*ParallelsClient) Start ¶ added in v0.17.0
func (c *ParallelsClient) Start(ctx context.Context, id string) error
func (*ParallelsClient) Stop ¶ added in v0.17.0
func (c *ParallelsClient) Stop(ctx context.Context, id string) error
func (*ParallelsClient) SubmitClone ¶ added in v0.64.0
func (c *ParallelsClient) SubmitClone(ctx context.Context, source, snapshotID, leaseID, slug string, keep bool, beforeSubmit func() error) error
SubmitClone validates the request, calls beforeSubmit immediately before `prlctl clone`, and leaves resource discovery to the caller. A mutable-name lookup cannot attest which incarnation the clone produced.
func (*ParallelsClient) SwitchSnapshot ¶ added in v0.17.0
func (*ParallelsClient) ValidateMacOSBootstrapKey ¶ added in v0.63.0
func (c *ParallelsClient) ValidateMacOSBootstrapKey(ctx context.Context) error
func (*ParallelsClient) Version ¶ added in v0.17.0
func (c *ParallelsClient) Version(ctx context.Context) (string, error)
func (*ParallelsClient) WaitForGuestExec ¶ added in v0.17.0
func (*ParallelsClient) WaitForIP ¶ added in v0.17.0
func (c *ParallelsClient) WaitForIP(ctx context.Context, id string, timeout time.Duration, purpose ParallelsIPWaitPurpose) (_ ParallelsVM, err error)
func (*ParallelsClient) WindowsGuestText ¶ added in v0.17.0
type ParallelsConfig ¶ added in v0.17.0
type ParallelsConfig struct {
Template string
Source string
SourceID string
SourceSnapshot string
SourceSnapshotID string
CloneMode string
Host string
HostUser string
HostKey string
BootstrapKey string
VMRoot string
User string
Password string
WorkRoot string
StartupTimeout time.Duration
Templates map[string]ParallelsTemplateConfig
Hosts []ParallelsHostConfig
SelectedHost string
// Separate from explicitSSHUser: provider overrides must not become generic
// connection settings when switching to another provider.
UserExplicit bool
// MaxVMs caps concurrent Crabbox VMs on the direct host. A selected fleet
// entry's own MaxVMs always wins, and this is not a default for fleet
// entries that omit it.
MaxVMs int
}
type ParallelsHostConfig ¶ added in v0.17.0
type ParallelsIPWaitPurpose ¶ added in v0.64.0
type ParallelsIPWaitPurpose uint8
Acquisition owns clone mode and rollback; resolving an existing VM does not.
const ( ParallelsIPWaitExisting ParallelsIPWaitPurpose = iota ParallelsIPWaitAcquisition )
type ParallelsServerIdentity ¶ added in v0.64.0
type ParallelsServerIdentity struct {
ServerID string `json:"serverId"`
HardwareID string `json:"hardwareId"`
AccountID string `json:"accountId"`
// VMHome is the service's default VM directory. It is the base a fixed
// lease clones into when no vmRoot is configured.
VMHome string `json:"-"`
}
ParallelsServerIdentity is the Parallels service's own account of the machine it runs on. Neither field is derived from configuration, so it attests which machine a connection actually reached rather than which one it was labelled with.
type ParallelsSnapshot ¶ added in v0.17.0
type ParallelsTemplateConfig ¶ added in v0.17.0
type ParallelsVM ¶ added in v0.17.0
type PausableBackend ¶ added in v0.29.0
type PausableBackend interface {
Backend
Pause(ctx context.Context, req PauseRequest) error
Resume(ctx context.Context, req ResumeRequest) error
}
PausableBackend is implemented by providers that can pause a lease, freeing remote compute while preserving its state, and resume it later. It is optional: the `pause`/`resume` commands report a clear error for providers that do not implement it.
type PauseRequest ¶ added in v0.29.0
type PauseRequest struct {
Lifecycle RetentionLifecycleRequest
Options LeaseOptions
ID string
}
type PendingGuestExtension ¶ added in v0.76.0
type PendingGuestExtension struct {
BySeconds int64 `json:"bySeconds"`
TTLSeconds int64 `json:"ttlSeconds"`
Reason string `json:"reason,omitempty"`
OldExpiresAt string `json:"oldExpiresAt"`
NewTTL string `json:"newTTL"`
}
PendingGuestExtension makes a failed file-backed refresh retryable without applying --by twice. It is local recovery state, never provider metadata.
type PhalaConfig ¶ added in v0.33.0
type PhalaConfig struct {
CLIPath string `` /* 179-byte string literal not displayed */
InstanceType string `` /* 262-byte string literal not displayed */
// The dev OS root is read-only; this dedicated writable tmpfs holds the workspace.
WorkRoot string `` /* 206-byte string literal not displayed */
NodeID string `` /* 174-byte string literal not displayed */
Compose string `` /* 219-byte string literal not displayed */
// Nil retains the provider's existing effective default. File admission is wrapper-owned.
Attest *bool `` /* 185-byte string literal not displayed */
}
PhalaConfig holds ordinary settings, not the provider's native credentials.
func (*PhalaConfig) ExpandAppliedLocalPaths ¶ added in v0.56.0
func (cfg *PhalaConfig) ExpandAppliedLocalPaths(applied PhalaConfigApplied)
type PhalaConfigApplied ¶ added in v0.56.0
PhalaConfigApplied records accepted assignments during one application.
type PhalaConfigFlagValues ¶ added in v0.56.0
type PhalaConfigFlagValues struct {
CLIPath *string
InstanceType *string
WorkRoot *string
NodeID *string
Compose *string
Attest *bool
}
PhalaConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterPhalaConfigFlags ¶ added in v0.56.0
func RegisterPhalaConfigFlags(fs *flag.FlagSet, defaults PhalaConfig) PhalaConfigFlagValues
RegisterPhalaConfigFlags registers mechanical bindings without selecting a provider.
type PhalaConfigVisitedFlags ¶ added in v0.56.0
type PhalaConfigVisitedFlags struct {
CLIPath bool
InstanceType bool
WorkRoot bool
NodeID bool
Compose bool
Attest bool
}
PhalaConfigVisitedFlags records raw flag visits, independently of application.
func PhalaConfigFlagPresence ¶ added in v0.56.0
func PhalaConfigFlagPresence(fs *flag.FlagSet) PhalaConfigVisitedFlags
PhalaConfigFlagPresence reports visits for tracked flag bindings.
type PhaseMarkerWriter ¶ added in v0.12.0
type PhaseMarkerWriter = phaseMarkerWriter
func NewPhaseMarkerWriter ¶ added in v0.12.0
func NewPhaseMarkerWriter(tracker *CommandPhaseTracker) *PhaseMarkerWriter
type PondReachabilityMatrix ¶ added in v0.22.0
type PondReachabilityMatrix struct {
Pond string `json:"pond"`
Members []BridgePeer `json:"members"`
Breakdown map[string]int `json:"breakdown"`
Transports []string `json:"transports"`
Cells []ReachabilityCell `json:"cells"`
}
PondReachabilityMatrix is the per-pond reachability matrix surfaced by `crabbox doctor --pond <name>`. Members lists every distinct transport observed in the pond (so callers can interpret the per-row meaning), and Cells is the dense matrix indexed by (from, to) transport pair.
type PortsBackend ¶ added in v0.26.1
type PortsRequest ¶ added in v0.26.1
type PortsRequest struct {
Options LeaseOptions
ID string
Publish []string
Unpublish []string
JSON bool
}
type PreparedArchive ¶ added in v0.46.0
type PreparedArchive struct {
File *os.File
Size int64
Manifest SyncManifest
ManifestDuration time.Duration
PreflightDuration time.Duration
ArchiveDuration time.Duration
// contains filtered or unexported fields
}
func PrepareDelegatedArchive ¶ added in v0.46.0
func PrepareDelegatedArchive(ctx context.Context, req DelegatedArchivePreparationRequest) (*PreparedArchive, error)
PrepareDelegatedArchive builds and bounds a workspace archive before any provider resource exists. The returned archive owns its temporary file; Close removes it. Workspace changes after preparation are intentionally not reflected in the uploaded pre-acquisition snapshot.
func (*PreparedArchive) Close ¶ added in v0.46.0
func (archive *PreparedArchive) Close() error
Close closes the prepared archive and removes its temporary file exactly once.
type PresetConfig ¶ added in v0.15.0
type ProfileConfig ¶ added in v0.15.0
type ProfileConfig struct {
Env map[string]string
EnvAllow []string
ArtifactGlobs []string
Doctor DoctorProfileConfig
Presets map[string]PresetConfig
ProofTemplates map[string]ProofTemplateConfig
}
type ProofTemplateConfig ¶ added in v0.15.0
type Provider ¶ added in v0.6.0
type Provider interface {
// Spec returns stable metadata without runtime configuration or side effects.
Spec() ProviderSpec
RegisterFlags(fs *flag.FlagSet, defaults Config) any
ApplyFlags(cfg *Config, fs *flag.FlagSet, values any) error
Configure(cfg Config, rt Runtime) (Backend, error)
}
func ProviderFor ¶ added in v0.6.0
type ProviderAgentCommander ¶ added in v0.75.0
type ProviderArchitectureCapability ¶ added in v0.44.0
type ProviderAuthentication ¶ added in v0.56.0
type ProviderAuthentication []ProviderAuthenticationRoute
ProviderAuthentication covers provider control-plane access (or the sole connection for SSH/external providers). Guest/bootstrap, image-registry, and deployment credentials remain separate requirements. Local context is not a claim that the complete provider lifecycle needs no credentials.
func DirectProviderAuthentication ¶ added in v0.56.0
func DirectProviderAuthentication(methods ...ProviderAuthenticationMethod) ProviderAuthentication
DirectProviderAuthentication declares possible direct-access interfaces and snapshots the method list without resolving credentials or invoking a client.
type ProviderAuthenticationMethod ¶ added in v0.56.0
type ProviderAuthenticationMethod string
ProviderAuthenticationMethod describes a possible provider-access interface, not credential presence, permission, or a successful authentication check.
const ( ProviderAuthenticationAPIKey ProviderAuthenticationMethod = "api_key" ProviderAuthenticationAPIToken ProviderAuthenticationMethod = "api_token" ProviderAuthenticationSessionToken ProviderAuthenticationMethod = "session_token" ProviderAuthenticationAPICredentials ProviderAuthenticationMethod = "api_credentials" ProviderAuthenticationUsernamePassword ProviderAuthenticationMethod = "username_password" ProviderAuthenticationCLI ProviderAuthenticationMethod = "cli" ProviderAuthenticationSDKCredentials ProviderAuthenticationMethod = "sdk_credentials" ProviderAuthenticationNativeConfig ProviderAuthenticationMethod = "native_config" ProviderAuthenticationSSH ProviderAuthenticationMethod = "ssh" ProviderAuthenticationLocalContext ProviderAuthenticationMethod = "local_context" ProviderAuthenticationExternalContract ProviderAuthenticationMethod = "external_contract" ProviderAuthenticationIdentityToken ProviderAuthenticationMethod = "identity_token" ProviderAuthenticationCoordinator ProviderAuthenticationMethod = "coordinator" ProviderAuthenticationNone ProviderAuthenticationMethod = "none" )
type ProviderAuthenticationRoute ¶ added in v0.56.0
type ProviderAuthenticationRoute struct {
Route string
Methods []ProviderAuthenticationMethod
Description string
}
ProviderAuthenticationRoute declares possible interfaces for a route. Methods are not necessarily alternatives or jointly required; Description qualifies conditional combinations. No route is selected or checked by this metadata.
type ProviderBackendCapabilitySource ¶ added in v0.71.0
type ProviderBackendCapabilitySource interface {
BackendCapabilities() Backend
}
ProviderBackendCapabilitySource exposes a metadata-only backend without configuration, credentials, clients, or side effects. Catalogs inspect its capability interfaces; they must not invoke lifecycle methods.
type ProviderCapabilities ¶ added in v0.22.0
type ProviderCapabilities struct {
Tailscale bool // bidirectional tailnet peer plane
TailscaleEgress bool // outbound-only userspace tailnet access
SSHMesh bool // operator-side `ssh -L` against the lease's SSH endpoint
URLBridge bool // native HTTPS endpoint surface (shares, preview URLs, deployments)
}
ProviderCapabilities is the per-provider truth about which pond transport planes are *physically* possible on its leases. Each plane is independent — some providers advertise more than one (Hetzner / Azure / GCP support both the Tailscale peer mesh and the operator-side SSH-mesh). Islo separately advertises URL ingress plus outbound-only userspace Tailscale access. Older code that asked "which one transport does this provider use" (providerTransportClass) is now a thin Primary() picker; the capability set is the source of truth and the `pond peers` + `pond connect` paths fan out across whichever dialable planes the operator actually wants.
Capabilities are derived from the provider's own FeatureSet, so a provider opts in to a transport plane by declaring the feature, not by being added to a static table. SSH mesh is narrower than FeatureSSH because delegated providers may expose a direct login helper without supporting Crabbox-managed SSH tunnels as their pond transport.
func (ProviderCapabilities) Available ¶ added in v0.22.0
func (c ProviderCapabilities) Available() []string
Available returns every transport this provider can serve, in preference order (peer-to-peer first, then native HTTPS, then operator-routed SSH). The list is consumed by `pond peers` to populate the per-member `transports` field so callers see the full reachability surface.
func (ProviderCapabilities) Primary ¶ added in v0.22.0
func (c ProviderCapabilities) Primary() string
Primary picks the single recommended transport for single-valued surfaces (BridgePeer.Transport, doctor reachability matrix). The preference order matches Available(): peer-to-peer beats native HTTPS beats operator-routed SSH. Providers with no declared capability return TransportNone.
type ProviderClaimScoper ¶ added in v0.40.0
ProviderClaimScoper contributes opaque routing identity to local claims. Core persists and compares the value without interpreting provider fields. The adapter must preserve its historical normalization, including whitespace.
type ProviderClassArchitecture ¶ added in v0.45.0
type ProviderClassArchitecture string
const ( ProviderClassArchitectureAMD64 ProviderClassArchitecture = "amd64" ProviderClassArchitectureARM64 ProviderClassArchitecture = "arm64" ProviderClassArchitectureMixed ProviderClassArchitecture = "mixed" )
type ProviderClassCatalog ¶ added in v0.45.0
type ProviderClassCatalog struct {
Disposition ProviderClassDisposition `json:"disposition"`
Profiles []ProviderClassProfile `json:"profiles"`
}
func ProviderClassCatalogFor ¶ added in v0.45.0
func ProviderClassCatalogFor(provider Provider) ProviderClassCatalog
type ProviderClassDisposition ¶ added in v0.45.0
type ProviderClassDisposition string
const ( ProviderClassDispositionMapped ProviderClassDisposition = "mapped" ProviderClassDispositionUnmapped ProviderClassDisposition = "unmapped" )
type ProviderClassMachine ¶ added in v0.45.0
type ProviderClassMachine struct {
Type string `json:"type"`
Architecture ProviderClassArchitecture `json:"architecture"`
VCPU *int `json:"vcpu"`
Memory *ProviderMemory `json:"memory"`
}
type ProviderClassProfile ¶ added in v0.45.0
type ProviderClassProfile struct {
Class string `json:"class"`
Target string `json:"target"`
WindowsMode string `json:"windowsMode,omitempty"`
Architecture ProviderClassArchitecture `json:"architecture"`
Primary ProviderClassMachine `json:"primary"`
Fallbacks []ProviderClassMachine `json:"fallbacks"`
}
func ProviderClassProfileFromMachines ¶ added in v0.45.0
func ProviderClassProfileFromMachines(class, target, windowsMode string, architecture ProviderClassArchitecture, machines []ProviderClassMachine) ProviderClassProfile
func UniformLinuxAMD64ClassProfiles ¶ added in v0.45.0
func UniformLinuxAMD64ClassProfiles(machine ProviderClassMachine) []ProviderClassProfile
type ProviderClassProfileProvider ¶ added in v0.45.0
type ProviderClassProfileProvider interface {
ClassProfiles() []ProviderClassProfile
}
type ProviderClassSpecProvider ¶ added in v0.45.0
type ProviderClassSpecProvider interface {
ClassSpecs() []ClassSpec
}
ProviderClassSpecProvider reports provider-owned machine class resolutions for the provider matrix.
type ProviderCleanupAction ¶ added in v0.49.1
type ProviderCleanupConfirmation ¶ added in v0.49.1
type ProviderCleanupEvidence ¶ added in v0.49.1
type ProviderCleanupEvidence struct {
Version int `json:"version"`
Provider string `json:"provider"`
LeaseID string `json:"leaseID"`
ServerID int64 `json:"serverID"`
DispatchStartedAt string `json:"dispatchStartedAt,omitempty"`
DeleteNotFoundAt string `json:"deleteNotFoundAt,omitempty"`
Action *ProviderCleanupAction `json:"action,omitempty"`
Confirmation *ProviderCleanupConfirmation `json:"confirmation,omitempty"`
}
ProviderCleanupEvidence is recorded broker evidence, not a live provider observation.
type ProviderCommandRouter ¶ added in v0.47.0
type ProviderCommandRouter interface {
CommandRouting(cfg Config, request CommandRoutingRequest) CommandRouting
}
ProviderCommandRouter owns the non-secret route for generated follow-up commands. Core owns shell rendering and passes Env separately to subprocesses. Adapters use RoutingSafeURL for URL-valued fields, never for opaque paths/selectors.
type ProviderConfigArchitectureDescriber ¶ added in v0.48.0
type ProviderConfigArchitectureDescriber interface {
DescribeImplicitArchitecture(cfg Config) string
}
ProviderConfigArchitectureDescriber describes an omitted architecture for config diagnostics only. It must not probe the runtime or change execution.
type ProviderConfigDefaulter ¶ added in v0.40.0
ProviderConfigDefaulter owns provider-specific defaults that must be applied after generic config parsing. Core then finalizes the target unless the optional ProviderConfigDefaultsPhase leaves that boundary with the caller.
type ProviderConfigDefaultsPhase ¶ added in v0.64.0
type ProviderConfigDefaultsPhase interface {
ConfigDefaultsTargetFinalization() ProviderConfigDefaultsTargetFinalization
}
ProviderConfigDefaultsPhase optionally refines ProviderConfigDefaulter's target finalization boundary. Defaults must remain config-only in either phase.
type ProviderConfigDefaultsTargetFinalization ¶ added in v0.64.0
type ProviderConfigDefaultsTargetFinalization uint8
ProviderConfigDefaultsTargetFinalization identifies who normalizes and validates the target after provider defaults. The zero value preserves dispatcher ownership.
const ( ProviderConfigDefaultsDispatcherFinalizes ProviderConfigDefaultsTargetFinalization = iota // ProviderConfigDefaultsCallerFinalizes preserves the caller's existing phase: // config loading finalizes afterward, while commands may have finalized before // applying provider-native defaults. It does not add a finalization pass. ProviderConfigDefaultsCallerFinalizes )
type ProviderConfigShowField ¶ added in v0.57.0
type ProviderConfigShowField struct {
JSONName string
JSONValue any
TextName string
TextValue string
}
A field may belong to only one format by leaving the other name empty.
type ProviderConfigShowNormalizer ¶ added in v0.48.1
ProviderConfigShowNormalizer projects effective display values for a selected provider only. It must not discover runtimes or change execution config.
type ProviderConfigShowProjector ¶ added in v0.57.0
type ProviderConfigShowProjector interface {
ConfigShowSection(Config) ProviderConfigShowSection
}
ProviderConfigShowProjector supplies passive, already-redacted display data. Implementations may derive pure effective display values from the supplied Config. They must not apply runtime defaults, load config, read environment or native state, resolve credentials, or mutate input state.
type ProviderConfigShowSection ¶ added in v0.57.0
type ProviderConfigShowSection struct {
JSONKey string
TextLabel string
Providers []string
Fields []ProviderConfigShowField
}
type ProviderConfigValidator ¶ added in v0.26.1
type ProviderConfiguredFeatures ¶ added in v0.75.0
type ProviderConfiguredFeatures interface {
ConfiguredFeatures(cfg Config) FeatureSet
ValidateRequestedCapabilities(cfg Config) error
}
ProviderConfiguredFeatures supplies features enabled by trusted runtime configuration. Spec remains the conservative, configuration-free catalog.
type ProviderCoordinatorRequest ¶ added in v0.80.0
ProviderCoordinatorRequest owns provider-specific non-secret admission metadata.
type ProviderCreationOnlyFlagProvider ¶ added in v0.29.0
type ProviderCreationOnlyFlagProvider interface {
CreationOnlyFlagNames() []string
}
type ProviderDiagnosticSecretSource ¶ added in v0.37.0
ProviderDiagnosticSecretSource contributes runtime-only credentials to the final diagnostic redaction pass. Providers should include every credential source that is intentionally absent from Config, including local CLI stores.
type ProviderIdentityExpectation ¶ added in v0.31.0
type ProviderIdentityExpectation struct {
LeaseID string
AttemptLeaseID string
Slug string
ResourceID string
}
ProviderIdentityExpectation is the complete immutable identity known by a lifecycle caller before resolving a resource for destructive release.
type ProviderKind ¶ added in v0.6.0
type ProviderKind string
const ( ProviderKindSSHLease ProviderKind = "ssh-lease" ProviderKindDelegatedRun ProviderKind = "delegated-run" ProviderKindServiceControl ProviderKind = "service-control" )
type ProviderMemory ¶ added in v0.45.0
type ProviderMemory struct {
Value float64 `json:"value"`
Unit ProviderMemoryUnit `json:"unit"`
}
type ProviderMemoryUnit ¶ added in v0.45.0
type ProviderMemoryUnit string
const ( ProviderMemoryUnitMB ProviderMemoryUnit = "MB" ProviderMemoryUnitMiB ProviderMemoryUnit = "MiB" ProviderMemoryUnitGB ProviderMemoryUnit = "GB" ProviderMemoryUnitGiB ProviderMemoryUnit = "GiB" )
type ProviderReadyPoolImageIdentityCapability ¶ added in v0.49.1
type ProviderReadyPoolImageIdentityCapability interface {
ReadyPoolImageIdentityMatchesLease(ProviderReadyPoolImageIdentityRequest) bool
}
type ProviderReadyPoolImageIdentityRequest ¶ added in v0.49.1
type ProviderReadyPoolImageIdentityRequest struct {
Identity CoordinatorReadyPoolImageIdentity
Lease ProviderReadyPoolLeaseImageIdentity
}
type ProviderReadyPoolLeaseImageIdentity ¶ added in v0.49.1
type ProviderReadyPoolLeaseImageIdentity struct {
Provider string
Region string
Project string
Image *CoordinatorLeaseImage
}
type ProviderReadyPoolTargetCapability ¶ added in v0.80.0
ProviderReadyPoolImageIdentityCapability owns provider-specific validation of immutable image evidence returned with a typed ready-pool lease.
type ProviderResourceRequirementsCapability ¶ added in v0.72.0
type ProviderResourceRequirementsCapability interface {
SupportsResourceRequirements(cfg Config) bool
}
ProviderArchitectureCapability owns admission of the complete target/mode/ architecture tuple (including amd64), within ProviderSpec.Targets. Providers without this capability retain core's managed architecture restrictions. Runtime feasibility and explicit assertions are validated by the adapter. ProviderResourceRequirementsCapability admits provisioned CPU/RAM constraints. Providers without this capability must reject constrained acquisition.
type ProviderRouter ¶ added in v0.22.0
type ProviderRoutingFlagProvider ¶ added in v0.22.0
type ProviderRoutingFlagProvider interface {
RoutingFlagNames() []string
}
type ProviderSSHTargetConfigurer ¶ added in v0.47.0
type ProviderServerTypeOverrideProvider ¶ added in v0.45.0
type ProviderServerTypeOverrideProvider interface {
ServerTypeOverrideForConfig(cfg Config) (string, bool)
}
ProviderServerTypeOverrideProvider reports an exact provider-native machine selection that outranks a non-explicit stored ServerType.
type ProviderServerTypeProvider ¶ added in v0.22.0
type ProviderSize ¶ added in v0.45.0
type ProviderSize struct {
Name string `json:"name"`
VCPU int `json:"vcpu"`
RAMGB int `json:"ramGb"`
DiskGB int `json:"diskGb"`
GPU *ProviderSizeGPU `json:"gpu,omitempty"`
Regions []string `json:"regions"`
PricePerHourMicro int64 `json:"pricePerHourMicro"`
TransferGiBPerMonth int64 `json:"transferGiBPerMonth,omitempty"`
EstimatedSnapshotGB int `json:"estimatedSnapshotGb,omitempty"`
DefaultImage string `json:"defaultImage,omitempty"`
ProviderMetadata map[string]string `json:"providerMetadata,omitempty"`
}
type ProviderSizeCatalogBackend ¶ added in v0.45.0
type ProviderSizeCatalogBackend interface {
Backend
SizeCatalog(ctx context.Context, refresh bool) ([]ProviderSize, error)
}
ProviderSizeCatalogBackend exposes a provider's live, provider-owned machine catalog without teaching core about provider-specific size slugs or regions.
type ProviderSizeGPU ¶ added in v0.45.0
type ProviderSizeSelection ¶ added in v0.48.0
type ProviderSizeSelection struct {
Selector ProviderSizeSelector `json:"selector"`
EffectiveType string `json:"effectiveType"`
Region string `json:"region"`
}
type ProviderSizeSelectionBackend ¶ added in v0.48.0
type ProviderSizeSelectionBackend interface {
ProviderSizeCatalogBackend
SizeSelection() ProviderSizeSelection
}
ProviderSizeSelectionBackend reports already-resolved provider configuration; resource facts remain owned by SizeCatalog.
type ProviderSizeSelector ¶ added in v0.48.0
type ProviderSizeSelector string
ProviderSizeSelector declares how a live catalog name selects a machine.
const ProviderSizeSelectorType ProviderSizeSelector = "type"
ProviderSizeSelectorType uses catalog Name verbatim as the existing --type value.
type ProviderSpec ¶ added in v0.6.0
type ProviderSpec struct {
// ClaimExpiryBound is the provider-enforced maximum lifetime after use.
// Zero means that age alone cannot authorize local claim pruning. Only
// opt in when expiry needs no running CLI and any settlement the claim
// guards is itself bounded by the same duration.
ClaimExpiryBound time.Duration
Authentication ProviderAuthentication
Name string
Aliases []string
Family string
Kind ProviderKind
Targets []TargetSpec
Features FeatureSet
Coordinator CoordinatorMode
BrokeredOnly bool
ClassDisposition ProviderClassDisposition
SizeSelection ProviderSizeSelector
// SyncGuardrailFullCandidate counts the complete ordinary workspace transfer.
// False preserves dirty-delta counting when the checkout has changes.
SyncGuardrailFullCandidate bool
// TailscaleEgressOnly marks FeatureTailscale as outbound userspace access,
// not a bidirectional peer endpoint.
TailscaleEgressOnly bool
// ActionsRunnerUnsupported rejects --actions-runner, not ordinary Actions hydration.
ActionsRunnerUnsupported bool
// DesktopLoginPasswordSeparate marks managed Windows desktops whose VNC
// secret differs from the Windows account password.
DesktopLoginPasswordSeparate bool
}
type ProvisioningAttempt ¶ added in v0.3.0
type ProvisioningCandidate ¶ added in v0.59.0
ProvisioningCandidate is one adapter-selected attempt. Order, location, market, and diagnostics belong to the adapter; core never invents another candidate.
type ProxmoxClient ¶ added in v0.12.0
type ProxmoxClient struct {
BaseURL string
TokenID string
TokenSecret string
Node string
Client *http.Client
// GuestBootstrap extends the base SSH bootstrap with provider-owned setup
// and readiness checks for an explicitly selected prepared template.
GuestBootstrap func(Config) (setup, readyChecks string)
}
func NewProxmoxClient ¶ added in v0.12.0
func NewProxmoxClient(cfg Config) (*ProxmoxClient, error)
func (*ProxmoxClient) CreateServer ¶ added in v0.12.0
func (*ProxmoxClient) CreateServerWithVMID ¶ added in v0.64.0
func (*ProxmoxClient) DeleteServer ¶ added in v0.12.0
func (c *ProxmoxClient) DeleteServer(ctx context.Context, id string) error
func (*ProxmoxClient) DeleteServerOnNode ¶ added in v0.30.0
func (c *ProxmoxClient) DeleteServerOnNode(ctx context.Context, node, id string) error
func (*ProxmoxClient) DeleteServerOnNodeChecked ¶ added in v0.48.0
func (c *ProxmoxClient) DeleteServerOnNodeChecked(ctx context.Context, node, id string, check func(Server) error) error
DeleteServerOnNodeChecked lets the provider adapter authorize both destructive steps against freshly read VM configuration, including after stop completes.
func (*ProxmoxClient) DoctorReadiness ¶ added in v0.30.0
func (c *ProxmoxClient) DoctorReadiness(ctx context.Context, cfg Config) ([]ProxmoxReadinessCheck, error)
func (*ProxmoxClient) GetServerOnNode ¶ added in v0.30.0
func (*ProxmoxClient) ListCrabboxServers ¶ added in v0.12.0
func (c *ProxmoxClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
func (*ProxmoxClient) ListCrabboxServersCluster ¶ added in v0.30.0
func (c *ProxmoxClient) ListCrabboxServersCluster(ctx context.Context) ([]Server, error)
func (*ProxmoxClient) ListVMIDsInCluster ¶ added in v0.67.0
func (c *ProxmoxClient) ListVMIDsInCluster(ctx context.Context) ([]int, error)
ListVMIDsInCluster includes templates, unlabelled VMs, and containers: all guest types share the VMID namespace. Filtered inventory cannot prove a gap.
func (*ProxmoxClient) NextVMID ¶ added in v0.64.0
func (c *ProxmoxClient) NextVMID(ctx context.Context) (int, error)
func (*ProxmoxClient) SetLabelsOnNode ¶ added in v0.30.0
func (*ProxmoxClient) VMExistsInCluster ¶ added in v0.30.0
func (*ProxmoxClient) VMIdentityExistsInCluster ¶ added in v0.67.0
func (c *ProxmoxClient) VMIdentityExistsInCluster(ctx context.Context, id, name string) (bool, error)
VMIdentityExistsInCluster includes unlabelled VMs and other guest types. Complete visibility is required: a filtered list is not absence evidence.
func (*ProxmoxClient) VerifyNoActiveCloneTasks ¶ added in v0.67.0
func (c *ProxmoxClient) VerifyNoActiveCloneTasks(ctx context.Context) error
VerifyNoActiveCloneTasks fences absence recovery against a clone that has been accepted but has not published its VM in cluster inventory yet.
type ProxmoxConfig ¶ added in v0.12.0
type ProxmoxConfig struct {
APIURL string `` /* 187-byte string literal not displayed */
TokenID string `` /* 135-byte string literal not displayed */
TokenSecret string `` /* 143-byte string literal not displayed */
Node string `` /* 160-byte string literal not displayed */
TemplateID int `` /* 219-byte string literal not displayed */
DesktopTemplateID int `` /* 225-byte string literal not displayed */
BrowserTemplateID int `` /* 216-byte string literal not displayed */
Storage string `` /* 170-byte string literal not displayed */
Pool string `` /* 167-byte string literal not displayed */
Bridge string `` /* 178-byte string literal not displayed */
User string `` /* 213-byte string literal not displayed */
WorkRoot string `` /* 207-byte string literal not displayed */
FullClone bool `` /* 155-byte string literal not displayed */
InsecureTLS bool `` /* 183-byte string literal not displayed */
}
ProxmoxConfig owns mechanical bindings; provenance and generic connection projections remain in their existing policy wrappers.
type ProxmoxConfigApplied ¶ added in v0.61.0
type ProxmoxConfigApplied struct {
InputAccepted bool
APIURL bool
TokenID bool
TokenSecret bool
User bool
WorkRoot bool
InsecureTLS bool
}
ProxmoxConfigApplied records accepted assignments during one application.
type ProxmoxConfigFlagValues ¶ added in v0.61.0
type ProxmoxConfigFlagValues struct {
APIURL *string
Node *string
TemplateID *int
DesktopTemplateID *int
BrowserTemplateID *int
Storage *string
Pool *string
Bridge *string
User *string
WorkRoot *string
FullClone *bool
InsecureTLS *bool
}
ProxmoxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterProxmoxConfigFlags ¶ added in v0.61.0
func RegisterProxmoxConfigFlags(fs *flag.FlagSet, defaults ProxmoxConfig) ProxmoxConfigFlagValues
RegisterProxmoxConfigFlags registers mechanical bindings without selecting a provider.
func (ProxmoxConfigFlagValues) Apply ¶ added in v0.61.0
func (values ProxmoxConfigFlagValues) Apply(cfg *ProxmoxConfig, fs *flag.FlagSet) (ProxmoxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type ProxmoxConfigVisitedFlags ¶ added in v0.61.0
ProxmoxConfigVisitedFlags records raw flag visits, independently of application.
func ProxmoxConfigFlagPresence ¶ added in v0.61.0
func ProxmoxConfigFlagPresence(fs *flag.FlagSet) ProxmoxConfigVisitedFlags
ProxmoxConfigFlagPresence reports visits for tracked flag bindings.
type ProxmoxDeleteRequestError ¶ added in v0.30.0
type ProxmoxDeleteRequestError struct {
Err error
}
func (*ProxmoxDeleteRequestError) Error ¶ added in v0.30.0
func (e *ProxmoxDeleteRequestError) Error() string
func (*ProxmoxDeleteRequestError) Unwrap ¶ added in v0.30.0
func (e *ProxmoxDeleteRequestError) Unwrap() error
type ProxmoxDeleteTaskError ¶ added in v0.30.0
type ProxmoxDeleteTaskError struct {
Err error
}
func (*ProxmoxDeleteTaskError) Error ¶ added in v0.30.0
func (e *ProxmoxDeleteTaskError) Error() string
func (*ProxmoxDeleteTaskError) Unwrap ¶ added in v0.30.0
func (e *ProxmoxDeleteTaskError) Unwrap() error
type ProxmoxError ¶ added in v0.12.0
type ProxmoxError struct {
Method string
Path string
StatusCode int
Body string
// NativeAuthRejection excludes gateway errors and replies carrying task data.
NativeAuthRejection bool
}
func (*ProxmoxError) Error ¶ added in v0.12.0
func (e *ProxmoxError) Error() string
type ProxmoxReadinessCheck ¶ added in v0.30.0
type RailwayConfig ¶ added in v0.16.0
type RailwayConfig struct {
APIToken string `env:"CRABBOX_RAILWAY_API_TOKEN" envAlias:"RAILWAY_API_TOKEN" sources:"env" reportApplied:"true"`
APIURL string `` /* 266-byte string literal not displayed */
ProjectID string `` /* 232-byte string literal not displayed */
EnvironmentID string `` /* 237-byte string literal not displayed */
}
RailwayConfig describes mechanical bindings for the service-control provider. Credential provenance and destination validation remain owned by core policy.
type RailwayConfigApplied ¶ added in v0.54.0
RailwayConfigApplied records accepted assignments during one application.
type RailwayConfigFlagValues ¶ added in v0.54.0
RailwayConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterRailwayConfigFlags ¶ added in v0.54.0
func RegisterRailwayConfigFlags(fs *flag.FlagSet, defaults RailwayConfig) RailwayConfigFlagValues
RegisterRailwayConfigFlags registers mechanical bindings without selecting a provider.
func (RailwayConfigFlagValues) Apply ¶ added in v0.54.0
func (values RailwayConfigFlagValues) Apply(cfg *RailwayConfig, fs *flag.FlagSet) (RailwayConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type RailwayConfigVisitedFlags ¶ added in v0.54.0
type RailwayConfigVisitedFlags struct {
APIURL bool
}
RailwayConfigVisitedFlags records raw flag visits, independently of application.
func RailwayConfigFlagPresence ¶ added in v0.54.0
func RailwayConfigFlagPresence(fs *flag.FlagSet) RailwayConfigVisitedFlags
RailwayConfigFlagPresence reports visits for tracked flag bindings.
type ReachabilityCell ¶ added in v0.22.0
type ReachabilityCell struct {
From string `json:"from"`
To string `json:"to"`
State string `json:"state"`
Note string `json:"note,omitempty"`
}
ReachabilityCell records a single source→destination cell of the pond reachability matrix. Note carries the honest caveat for non-trivial cells (operator-side bridges, asymmetric reach, …).
type ReleaseLeaseClaimRetainer ¶ added in v0.29.0
type ReleaseLeaseClaimRetainer interface {
// Retained releases must persist terminal state and clear live endpoints
// before ReleaseLease returns.
RetainLeaseClaimAfterRelease(lease LeaseTarget) bool
}
type ReleaseLeaseClaimRetentionVerifier ¶ added in v0.41.1
type ReleaseLeaseClaimRetentionVerifier interface {
// An error leaves claim state untouched so uncertain ownership fails closed.
RetainLeaseClaimAfterReleaseWithClaim(lease LeaseTarget, previous LeaseClaim) (bool, error)
}
type ReleaseLeaseConnectionCleanupPolicy ¶ added in v0.37.0
type ReleaseLeaseConnectionCleanupPolicy interface {
// ReleaseLeaseConnectionCleanupSafe reports whether generic remote cleanup
// may run before the provider's guarded release.
ReleaseLeaseConnectionCleanupSafe() bool
}
ReleaseLeaseConnectionCleanupPolicy lets a provider defer generic connection cleanup until after its guarded release succeeds.
type ReleaseLeaseOutcome ¶ added in v0.48.1
type ReleaseLeaseOutcome struct {
// Terminal means the release owner confirmed the end of the recoverable lease.
Terminal bool
// ForgottenLocally means verified absence removed only the local claim.
ForgottenLocally bool
}
ReleaseLeaseOutcome describes the lease recovery outcome of one release invocation, independently of errors finalizing local state. Zero means retained or unconfirmed.
type ReleaseLeaseOutcomeBackend ¶ added in v0.48.1
type ReleaseLeaseOutcomeBackend interface {
ReleaseLeaseWithOutcome(context.Context, ReleaseLeaseRequest) (ReleaseLeaseOutcome, error)
}
ReleaseLeaseOutcomeBackend performs the same guarded operation as ReleaseLease once, preserving its ordinary error. Providers with retained or asynchronous release semantics must implement this capability. Without it, a successful ReleaseLease ends the recoverable lease; an error leaves the outcome unconfirmed. Claim retention (including terminal receipts) does not determine this outcome.
type ReleaseLeaseReporter ¶ added in v0.19.0
type ReleaseLeaseReporter interface {
ReleaseLeaseMessage(lease LeaseTarget) string
}
type ReleaseLeaseRequest ¶ added in v0.6.0
type ReleaseLeaseRequest struct {
Lease LeaseTarget
CheckpointID string
Force bool
ExpectedProviderIdentity ProviderIdentityExpectation
// DeferProviderCleanupObservation queues coordinator cleanup without waiting
// for provider deletion. Automatic release paths use this so a completed run
// is not held open by asynchronous coordinator cleanup.
DeferProviderCleanupObservation bool
// GuardedRemoteCleanup lets providers that fence release authorization run
// generic remote teardown only after ownership is verified under that fence.
GuardedRemoteCleanup func(context.Context, LeaseTarget)
}
type ReleaseLeaseTargetRefresher ¶ added in v0.37.0
type ReleaseLeaseTargetRefresher interface {
ReleaseLeaseConnectionCleanupPolicy
RefreshReleaseLeaseTarget(context.Context, LeaseTarget) (LeaseTarget, error)
}
ReleaseLeaseTargetRefresher opts a provider into refreshing authorization and connection metadata immediately before automatic lease cleanup.
type ReleaseLeaseWorkspaceCloser ¶ added in v0.67.0
type ReleaseLeaseWorkspaceCloser interface {
RequiresSSHWorkspaceCloseBeforeRelease() bool
}
ReleaseLeaseWorkspacePolicy keeps run-owned authority available for a guarded close after successful lease release. The captured SSH route must still reach the workspace; retaining disk on a stopped host is not sufficient. ReleaseLeaseWorkspaceCloser requests closing run-owned workspace authority while the captured route is reachable, before provider release.
type ReleaseLeaseWorkspacePolicy ¶ added in v0.48.0
type ReleaseLeaseWorkspacePolicy interface {
PreservesSSHWorkspaceAfterRelease() bool
}
type RepositoryScopedStopBackend ¶ added in v0.57.0
type RepositoryScopedStopBackend interface {
StopForRepository(context.Context, StopRequest, string) error
}
RepositoryScopedStopBackend validates the calling repository under its existing exclusive release fence before native or connection cleanup. It must reject unsupported claim kinds; validated terminal replay may be a no-op.
type ResolveRequest ¶ added in v0.6.0
type ResolveRequest struct {
Repo Repo
Options LeaseOptions
ID string
Reclaim bool
ReleaseOnly bool
StatusOnly bool
ReadyProbe bool
Prepare bool
// IncludeDiagnostics opts explicit presentation callers into optional observations.
// It is not a provider protocol field or authority to modify lease state.
IncludeDiagnostics bool `json:"-"`
// RejectAuthSecret prevents interactive callers from launching SSH probes
// for token-as-username targets they cannot safely execute.
RejectAuthSecret bool
// NoLocalStateMutations is reserved for controller-owned identity-bound
// lookups that must not rewrite claims or provider routing before the
// resolved identity has been accepted by the caller.
NoLocalStateMutations bool
ExpectedProviderIdentity ProviderIdentityExpectation
}
func (ResolveRequest) IsReadOnlyStatus ¶ added in v0.37.0
func (r ResolveRequest) IsReadOnlyStatus() bool
IsReadOnlyStatus reports whether resolution may inspect provider inventory without trusting or rewriting local claim state.
type ResolvedLeaseTargetRebinder ¶ added in v0.29.0
type ResolvedLeaseTargetRebinder interface {
RebindResolvedLeaseTarget(target *LeaseTarget, leaseID string) error
}
type ResourceExhaustionReason ¶ added in v0.41.4
type ResourceExhaustionReason string
const (
ResourceExhaustionMemory ResourceExhaustionReason = "memory"
)
type ResultsConfig ¶
type ResumeRequest ¶ added in v0.29.0
type ResumeRequest struct {
Lifecycle RetentionLifecycleRequest
Options LeaseOptions
ID string
}
type RetainedComputeWindow ¶ added in v0.80.0
type RetainedProviderIdentity ¶ added in v0.80.0
type RetentionLifecycleOperation ¶ added in v0.80.0
type RetentionLifecycleRequest ¶ added in v0.80.0
type RetentionLifecycleRequest struct {
OperationID string
OwnerBinding string
ExpectedClaimRevision string
ExpectedProviderIdentity ProviderIdentityExpectation
}
type RunArtifact ¶ added in v0.17.1
type RunArtifact struct {
Kind string `json:"kind"`
Path string `json:"path"`
Template string `json:"template,omitempty"`
Bytes int `json:"bytes,omitempty"`
}
func MaterializeDelegatedRunDownloads ¶ added in v0.31.0
func MaterializeDelegatedRunDownloads(ctx context.Context, backend DelegatedRunDownloadBackend, req RunRequest, leaseID string, stderr io.Writer) ([]RunArtifact, error)
type RunErrorKind ¶ added in v0.34.0
type RunErrorKind string
const ( RunErrorNone RunErrorKind = "" RunErrorCommandExit RunErrorKind = "command-exit" RunErrorTimeout RunErrorKind = "timeout" RunErrorCanceled RunErrorKind = "canceled" RunErrorProvider RunErrorKind = "provider-error" )
func RunErrorKindForResult ¶ added in v0.34.0
func RunErrorKindForResult(result RunResult, err error) RunErrorKind
type RunFailureEvidence ¶ added in v0.41.4
type RunFailureEvidence struct {
ResourceExhaustion ResourceExhaustionReason `json:"resourceExhaustion,omitempty"`
// Hint and Details are optional, bounded presentation data, not classification inputs.
Hint string `json:"hint,omitempty"`
Details map[string]string `json:"details,omitempty"`
}
type RunFailureEvidenceCollector ¶ added in v0.41.4
type RunFailureEvidenceCollector func(context.Context) (RunFailureEvidence, error)
type RunFailureEvidenceRequest ¶ added in v0.41.4
type RunFailureEvidenceRequest struct {
Lease LeaseTarget
}
type RunLeaseClaimResolver ¶ added in v0.49.0
type RunLeaseClaimResolver interface {
ResolveRunLeaseUnderClaim(context.Context, ResolveRequest, LeaseClaim) (LeaseTarget, error)
}
RunLeaseClaimResolver prepares an already-bound canonical lease while core holds its claim lock. It must honor cancellation and must not acquire claim locks or publish local claims; core validates and publishes the result once.
type RunObservation ¶ added in v0.58.0
type RunObservation struct {
// contains filtered or unexported fields
}
RunObservation retains local evidence only; it grants no provider or receipt authority. A nil observation preserves the original terminal and capture writers.
func (*RunObservation) BindLease ¶ added in v0.58.0
func (o *RunObservation) BindLease(leaseID, slug string)
func (*RunObservation) CommandWriters ¶ added in v0.58.0
func (o *RunObservation) CommandWriters(stdout, stderr io.Writer, scope RunOutputScope) (io.Writer, io.Writer)
func (*RunObservation) OmitStream ¶ added in v0.58.0
func (o *RunObservation) OmitStream(stream, reason string)
func (*RunObservation) Phase ¶ added in v0.58.0
func (o *RunObservation) Phase(phase RunPhase)
func (*RunObservation) Results ¶ added in v0.58.0
func (o *RunObservation) Results(results *TestResultSummary, availability string)
type RunOptionsValidator ¶ added in v0.48.0
type RunOptionsValidator interface {
ValidateRunOptions(RunRequest) error
}
RunOptionsValidator optionally checks run flags before a caller acquires a lease, including during dry-run planning. Validation must be side-effect-free: no external I/O or lease-state access, and no dependency on a resolved lease. Providers implement it for admission before Configure; their backend must reuse the same policy at Run entry. No backend creation, processes, credential lookup, or state writes are allowed. Planned reuse has ReuseLease=true and an empty ID; a nonempty ID also implies reuse. Runtime-only fields such as Repo, RunID, and Env may be absent during prewarm admission.
type RunOutputScope ¶ added in v0.58.0
type RunOutputScope string
const ( RunOutputWorkload RunOutputScope = "workload" RunOutputProvider RunOutputScope = "provider-run" )
type RunRequest ¶ added in v0.6.0
type RunRequest struct {
Observation *RunObservation `json:"-" yaml:"-"`
Repo Repo
ID string
ReuseLease bool // Planned reuse without an ID; a nonempty ID also implies reuse.
RunID string
Options LeaseOptions
Keep bool
Reclaim bool
NoSync bool
NoHydrate bool
SyncOnly bool
DebugSync bool
ShellMode bool
ChecksumSync bool
ForceSyncLarge bool
FullResync bool
EnvHelper string
CaptureStdout string
CaptureStderr string
CaptureOnFail bool
KeepOnFailure bool
Preflight bool
Downloads []string
Env map[string]string
EnvSummary bool
ScriptRequested bool
Script *RunScriptSpec
FreshPR FreshPRSpec
ApplyLocalPatch bool
Command []string
CommandLiteralArgs map[int]bool // Profile argument positions that must not introduce shell syntax.
Label string
RequestedSlug string
TimingJSON bool
ArtifactGlobs []string
RequiredArtifactGlobs []string
EmitProof string
ProofTemplate string
ProfileVariables map[string]string
StopAfter string
}
type RunResult ¶ added in v0.6.0
type RunResult struct {
ExitCode int
Status RunStatus
ErrorKind RunErrorKind
Command time.Duration
Total time.Duration
SyncDelegated bool
Session *RunSessionHandle
Provider string
LeaseID string
Slug string
CommandText string
LogExcerpt string
ActionsURL string
Artifacts []RunArtifact
}
func FinalizeRunResult ¶ added in v0.34.0
type RunScriptSpec ¶ added in v0.12.0
type RunSessionHandle ¶ added in v0.21.0
type RunSessionHandle struct {
Provider string `json:"provider"`
LeaseID string `json:"leaseId"`
Slug string `json:"slug,omitempty"`
Reused bool `json:"reused"`
Kept bool `json:"kept"`
ActionsURL string `json:"actionsUrl,omitempty"`
RunID string `json:"runId,omitempty"`
CleanupCommand string `json:"cleanupCommand"`
}
type RunTelemetrySummary ¶ added in v0.6.0
type RunTelemetrySummary struct {
Start *LeaseTelemetry `json:"start,omitempty"`
End *LeaseTelemetry `json:"end,omitempty"`
Samples []*LeaseTelemetry `json:"samples,omitempty"`
}
type RunnerPhase ¶ added in v0.50.0
type RunnerPhase struct {
Name string `json:"name"`
Ms int64 `json:"ms"`
Opaque bool `json:"opaque,omitempty"`
Reason string `json:"reason,omitempty"`
Provider string `json:"provider,omitempty"`
LeaseID string `json:"leaseId,omitempty"`
Slug string `json:"slug,omitempty"`
RunID string `json:"runId,omitempty"`
MachineType string `json:"machineType,omitempty"`
TransferCount int `json:"transferCount,omitempty"`
TransferBytes int64 `json:"transferBytes,omitempty"`
}
type RunpodConfig ¶ added in v0.17.0
type RunpodConfig struct {
APIKey string `env:"CRABBOX_RUNPOD_API_KEY" envAlias:"RUNPOD_API_KEY" sources:"env" reportApplied:"true"`
APIURL string `` /* 243-byte string literal not displayed */
CloudType string `` /* 239-byte string literal not displayed */
InstanceID string `` /* 373-byte string literal not displayed */
Image string `` /* 271-byte string literal not displayed */
TemplateID string `` /* 215-byte string literal not displayed */
DiskGB int `` /* 216-byte string literal not displayed */
User string `` /* 162-byte string literal not displayed */
WorkRoot string `` /* 191-byte string literal not displayed */
}
RunpodConfig describes mechanical bindings; credential provenance and provider runtime defaulting remain separate policy owners.
type RunpodConfigApplied ¶ added in v0.54.0
RunpodConfigApplied records accepted assignments during one application.
type RunpodConfigFlagValues ¶ added in v0.54.0
type RunpodConfigFlagValues struct {
APIURL *string
CloudType *string
InstanceID *string
Image *string
TemplateID *string
DiskGB *int
User *string
WorkRoot *string
}
RunpodConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterRunpodConfigFlags ¶ added in v0.54.0
func RegisterRunpodConfigFlags(fs *flag.FlagSet, defaults RunpodConfig) RunpodConfigFlagValues
RegisterRunpodConfigFlags registers mechanical bindings without selecting a provider.
func (RunpodConfigFlagValues) Apply ¶ added in v0.54.0
func (values RunpodConfigFlagValues) Apply(cfg *RunpodConfig, fs *flag.FlagSet) (RunpodConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type RunpodConfigVisitedFlags ¶ added in v0.54.0
type RunpodConfigVisitedFlags struct {
APIURL bool
}
RunpodConfigVisitedFlags records raw flag visits, independently of application.
func RunpodConfigFlagPresence ¶ added in v0.54.0
func RunpodConfigFlagPresence(fs *flag.FlagSet) RunpodConfigVisitedFlags
RunpodConfigFlagPresence reports visits for tracked flag bindings.
type Runtime ¶ added in v0.6.0
type Runtime struct {
Stdout io.Writer
Stderr io.Writer
Clock Clock
HTTP *http.Client
Exec CommandRunner
}
func RuntimeForProviderOperation ¶ added in v0.45.0
RuntimeForProviderOperation supplies the standard local command runner for provider lifecycle capabilities that are invoked on Provider rather than an already-configured Backend.
type SSHJump ¶ added in v0.75.0
type SSHJump struct {
RelayOnly bool `json:"relayOnly,omitempty"`
Relay bool `json:"relay,omitempty"`
Candidates []SSHJumpCandidate `json:"candidates,omitempty"`
HostKeyAlias string `json:"-"`
Host string `json:"host"`
Port int `json:"port"`
HostKey string `json:"hostKey"`
Fingerprint string `json:"fingerprint,omitempty"`
// contains filtered or unexported fields
}
SSHJump describes an authenticated SSH transport hop; the destination still has its own end-to-end SSH host key and authentication.
type SSHJumpCandidate ¶ added in v0.76.0
type SSHLeaseBackend ¶ added in v0.6.0
type SSHLeaseBackend interface {
SSHLoginBackend
LeaseTouchBackend
Acquire(ctx context.Context, req AcquireRequest) (LeaseTarget, error)
List(ctx context.Context, req ListRequest) ([]LeaseView, error)
ReleaseLease(ctx context.Context, req ReleaseLeaseRequest) error
}
type SSHLoginBackend ¶ added in v0.30.0
type SSHLoginBackend interface {
Backend
Resolve(ctx context.Context, req ResolveRequest) (LeaseTarget, error)
}
type SSHRunActivityBackend ¶ added in v0.49.1
type SSHRunActivityBackend interface {
BeginSSHRunActivity(context.Context, LeaseTarget) (stop func(), err error)
}
SSHRunActivityBackend keeps provider-owned idle activity alive after lease admission, including setup and sync. Stop must cancel and join its work. Calls may hold a shared claim fence and must not reenter or mutate claims.
type SSHRunFailureEvidenceBackend ¶ added in v0.41.4
type SSHRunFailureEvidenceBackend interface {
Backend
BeginRunFailureEvidence(ctx context.Context, req RunFailureEvidenceRequest) (RunFailureEvidenceCollector, error)
}
SSHRunFailureEvidenceBackend optionally captures provider-owned state just before an SSH command starts. The returned collector retains that baseline inside the provider and returns only normalized evidence to core after a command or transport failure.
type SSHTarget ¶
type SSHTarget struct {
SSHJump *SSHJump
User string
Host string
SSHHostKey string
Key string
CertificateFile string
KnownHostsFile string
AuthoritativeKnownHosts bool // Provider-owned trust; recheck it for every connection.
HostKeyAlias string
Port string
FallbackPorts []string
TargetOS string
WindowsMode string
ReadyCheck string
// ReadinessStatus is an optional provider-owned, observational command.
// It may report pending/failed phases; it can never establish readiness.
ReadinessStatus string
AuthSecret bool
NoControlMaster bool
DisableHostKeyChecking bool
NetworkKind NetworkMode
SSHConfigProxy bool
SSHConfigFile string // Provider-owned IdentitiesOnly route; bypass ambient SSH config.
SSHConfigData []byte `json:"-"` // Captured provider config; keep resolution and transport on the same bytes.
ProxyCommand string
ChildEnvDenylist []string
// Transport-only overrides can contain credentials; never serialize them.
ChildEnv map[string]string `json:"-"`
DiagnosticSecrets []string `json:"-"` // Provider credentials echoed by local authentication hooks.
// Refresh provider-owned credential files before a new transport starts.
PrepareConnection func(context.Context) error `json:"-"`
// contains filtered or unexported fields
}
func SSHTargetFromConfig ¶ added in v0.6.0
type ScalewayConfig ¶ added in v0.33.0
type ScalewayConfig struct {
Region string `` /* 201-byte string literal not displayed */
Zone string `` /* 195-byte string literal not displayed */
Image string `` /* 215-byte string literal not displayed */
Type string `` /* 214-byte string literal not displayed */
ProjectID string `` /* 178-byte string literal not displayed */
OrganizationID string `` /* 198-byte string literal not displayed */
SecurityGroup string `` /* 197-byte string literal not displayed */
SSHCIDRs []string `` /* 222-byte string literal not displayed */
}
ScalewayConfig contains non-secret Scaleway Instances settings. SDK profile selection and native validation remain provider policy.
type ScalewayConfigApplied ¶ added in v0.55.0
ScalewayConfigApplied records accepted assignments during one application.
type ScalewayConfigFlagValues ¶ added in v0.55.0
type ScalewayConfigFlagValues struct {
Region *string
Zone *string
Image *string
Type *string
ProjectID *string
OrganizationID *string
SecurityGroup *string
SSHCIDRs *string
}
ScalewayConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterScalewayConfigFlags ¶ added in v0.55.0
func RegisterScalewayConfigFlags(fs *flag.FlagSet, defaults ScalewayConfig) ScalewayConfigFlagValues
RegisterScalewayConfigFlags registers mechanical bindings without selecting a provider.
func (ScalewayConfigFlagValues) Apply ¶ added in v0.55.0
func (values ScalewayConfigFlagValues) Apply(cfg *ScalewayConfig, fs *flag.FlagSet) (ScalewayConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type ScalewayConfigVisitedFlags ¶ added in v0.55.0
ScalewayConfigVisitedFlags records raw flag visits, independently of application.
func ScalewayConfigFlagPresence ¶ added in v0.55.0
func ScalewayConfigFlagPresence(fs *flag.FlagSet) ScalewayConfigVisitedFlags
ScalewayConfigFlagPresence reports visits for tracked flag bindings.
type SchemaValidationResult ¶ added in v0.40.0
type SealosDevboxConfig ¶ added in v0.37.0
type SealosDevboxConfig struct {
Kubectl string `` /* 213-byte string literal not displayed */
Kubeconfig string `` /* 212-byte string literal not displayed */
Context string `` /* 174-byte string literal not displayed */
Namespace string `` /* 200-byte string literal not displayed */
Image string `` /* 169-byte string literal not displayed */
TemplateID string `` /* 192-byte string literal not displayed */
CPU string `` /* 181-byte string literal not displayed */
Memory string `` /* 195-byte string literal not displayed */
StorageLimit string `` /* 215-byte string literal not displayed */
Network string `` /* 221-byte string literal not displayed */
SSHGatewayHost string `` /* 200-byte string literal not displayed */
SSHGatewayPort string `` /* 215-byte string literal not displayed */
SSHUser string `` /* 190-byte string literal not displayed */
WorkRoot string `` /* 237-byte string literal not displayed */
NodeHost string `` /* 188-byte string literal not displayed */
DeleteOnRelease bool `` /* 219-byte string literal not displayed */
}
SealosDevboxConfig owns source bindings and accepted local-path expansion. Native validation remains with the provider.
func (*SealosDevboxConfig) ExpandAppliedLocalPaths ¶ added in v0.55.0
func (cfg *SealosDevboxConfig) ExpandAppliedLocalPaths(applied SealosDevboxConfigApplied)
ExpandAppliedLocalPaths expands local paths accepted by a file or flag overlay.
type SealosDevboxConfigApplied ¶ added in v0.55.0
type SealosDevboxConfigApplied struct {
InputAccepted bool
Kubectl bool
Kubeconfig bool
WorkRoot bool
DeleteOnRelease bool
}
SealosDevboxConfigApplied records accepted assignments during one application.
type SealosDevboxConfigFlagValues ¶ added in v0.55.0
type SealosDevboxConfigFlagValues struct {
Kubectl *string
Kubeconfig *string
Context *string
Namespace *string
Image *string
TemplateID *string
CPU *string
Memory *string
StorageLimit *string
Network *string
SSHGatewayHost *string
SSHGatewayPort *string
SSHUser *string
WorkRoot *string
NodeHost *string
DeleteOnRelease *bool
}
SealosDevboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterSealosDevboxConfigFlags ¶ added in v0.55.0
func RegisterSealosDevboxConfigFlags(fs *flag.FlagSet, defaults SealosDevboxConfig) SealosDevboxConfigFlagValues
RegisterSealosDevboxConfigFlags registers mechanical bindings without selecting a provider.
func (SealosDevboxConfigFlagValues) Apply ¶ added in v0.55.0
func (values SealosDevboxConfigFlagValues) Apply(cfg *SealosDevboxConfig, fs *flag.FlagSet) (SealosDevboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type SealosDevboxConfigVisitedFlags ¶ added in v0.55.0
type SealosDevboxConfigVisitedFlags struct {
Kubectl bool
Kubeconfig bool
WorkRoot bool
DeleteOnRelease bool
}
SealosDevboxConfigVisitedFlags records raw flag visits, independently of application.
func SealosDevboxConfigFlagPresence ¶ added in v0.55.0
func SealosDevboxConfigFlagPresence(fs *flag.FlagSet) SealosDevboxConfigVisitedFlags
SealosDevboxConfigFlagPresence reports visits for tracked flag bindings.
type SemaphoreConfig ¶ added in v0.8.0
type SemaphoreConfig struct {
Host string `` /* 234-byte string literal not displayed */
Token string `` /* 163-byte string literal not displayed */
Project string `` /* 204-byte string literal not displayed */
Machine string `` /* 194-byte string literal not displayed */
OSImage string `` /* 189-byte string literal not displayed */
IdleTimeout string `` /* 198-byte string literal not displayed */
}
SemaphoreConfig describes mechanical bindings for the SSH lease provider. Effective flag/runtime fallbacks do not populate the raw configuration.
type SemaphoreConfigApplied ¶ added in v0.54.0
SemaphoreConfigApplied records accepted assignments during one application.
type SemaphoreConfigFlagValues ¶ added in v0.54.0
type SemaphoreConfigFlagValues struct {
Host *string
Project *string
Machine *string
OSImage *string
IdleTimeout *string
}
SemaphoreConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterSemaphoreConfigFlags ¶ added in v0.54.0
func RegisterSemaphoreConfigFlags(fs *flag.FlagSet, defaults SemaphoreConfig) SemaphoreConfigFlagValues
RegisterSemaphoreConfigFlags registers mechanical bindings without selecting a provider.
func (SemaphoreConfigFlagValues) Apply ¶ added in v0.54.0
func (values SemaphoreConfigFlagValues) Apply(cfg *SemaphoreConfig, fs *flag.FlagSet) (SemaphoreConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type SemaphoreConfigVisitedFlags ¶ added in v0.54.0
type SemaphoreConfigVisitedFlags struct {
Host bool
}
SemaphoreConfigVisitedFlags records raw flag visits, independently of application.
func SemaphoreConfigFlagPresence ¶ added in v0.54.0
func SemaphoreConfigFlagPresence(fs *flag.FlagSet) SemaphoreConfigVisitedFlags
SemaphoreConfigFlagPresence reports visits for tracked flag bindings.
type ServeAvailabilityConfig ¶ added in v0.78.0
type ServeAvailabilityConfig struct {
Mode string `yaml:"mode,omitempty"`
MaxHostCPU *float64 `yaml:"maxHostCPU,omitempty"`
RequireUserIdle string `yaml:"requireUserIdle,omitempty"`
RequireACPower *bool `yaml:"requireACPower,omitempty"`
MaxMemoryPressure string `yaml:"maxMemoryPressure,omitempty"`
}
type ServeConfig ¶ added in v0.75.0
type ServeConfig struct {
Availability ServeAvailabilityConfig `yaml:"availability,omitempty"`
AdvertiseAddresses []string `yaml:"advertiseAddresses,omitempty"`
NoLANCandidates bool `yaml:"noLANCandidates,omitempty"`
SSHPort int `yaml:"sshPort,omitempty"`
Machine string `yaml:"machine,omitempty"`
Fallback string `yaml:"fallback,omitempty"`
}
type Server ¶
type Server struct {
LifetimePolicy *LeaseLifetimePolicy `json:"lifetimePolicy,omitempty"`
CloudID string
Provider string
HostID string
ImmutableID string `json:"-"` // Provider-generated identity for same-name replacement checks.
ID int64 `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
Labels map[string]string `json:"labels"`
ProviderMetadata map[string]any `json:"provider_metadata,omitempty"`
ImageEvidence *ImageEvidence `json:"imageEvidence,omitempty"`
PublicNet struct {
IPv4 struct {
IP string `json:"ip"`
} `json:"ipv4"`
} `json:"public_net"`
// PrivateNet is set by Azure / Proxmox via direct field assignment
// (azure.go:903, proxmox.go:605) and, on the Hetzner code path, via JSON
// unmarshal of the API response. Hetzner returns `private_net` as an array
// of network attachments (per docs.hetzner.cloud/#servers-get-all-servers),
// while the original shape modeled it as a single struct — a mismatch that
// crashed every Hetzner call with `cannot unmarshal array into Go struct
// field`. The named `privateNet` type below absorbs both shapes:
// best-effort populates IPv4.IP from the first array entry, and accepts
// the legacy struct shape so direct field assignment in Azure / Proxmox
// keeps the field shape unchanged for callers.
PrivateNet privateNet `json:"private_net"`
ServerType ServerTypeInfo `json:"server_type"`
Location *ServerLocationInfo `json:"location,omitempty"`
Image *ServerImageInfo `json:"image,omitempty"`
AzureUserAssignedIdentityIDs []string `json:"-"` // Observed VM attachments, never inferred from tags.
// contains filtered or unexported fields
}
func FindServerByAlias ¶ added in v0.6.0
func WaitForServerIP ¶ added in v0.6.0
type ServerImageInfo ¶ added in v0.44.0
type ServerImageInfo struct {
Architecture string `json:"architecture"`
}
type ServerLocationInfo ¶ added in v0.44.0
type ServerLocationInfo struct {
Name string `json:"name"`
}
type ServerProvisioner ¶ added in v0.59.0
type ServerProvisioner struct {
Prepare func(context.Context, Config) error
Create func(context.Context, Config) (Server, error)
CanRetry func(error) bool
}
ServerProvisioner separates admission from a remote create. Preparation errors stop immediately, without capacity fallback or rewriting the original error. Create must settle its own partial resources before CanRetry permits another attempt. Core does not infer deletion authority from a failed create response.
type ServerTypeInfo ¶ added in v0.44.0
type SessionDiskRetentionPolicy ¶ added in v0.80.0
type SessionDiskRetentionPolicy struct {
Mode string `json:"mode"`
OwnerBinding string `json:"ownerBinding"`
ComputeWindowSeconds int `json:"computeWindowSeconds"`
}
SessionDiskRetentionPolicy is immutable acquisition policy, not an extension of a legacy allocation deadline. It grants no compute by itself.
type SessionDiskRetentionState ¶ added in v0.80.0
type SessionDiskRetentionState struct {
DesiredState string `json:"desiredState"`
ComputeWindow RetainedComputeWindow `json:"computeWindow"`
Operation *RetentionLifecycleOperation `json:"operation,omitempty"`
}
type SessionDiskRetentionView ¶ added in v0.80.0
type SessionDiskRetentionView struct {
Identity RetainedProviderIdentity `json:"identity"`
SessionDiskRetentionPolicy
SessionDiskRetentionState
Schema string `json:"schema"`
ClaimRevision string `json:"claimRevision"`
PolicyVerified bool `json:"policyVerified"`
ObservedState string `json:"observedState"`
StopPending bool `json:"stopPending"`
}
type ShardConfig ¶ added in v0.35.0
type SmolvmConfig ¶ added in v0.30.0
type SmolvmConfig struct {
APIKey string `env:"CRABBOX_SMOLVM_API_KEY" envAlias:"SMOLMACHINES_API_KEY" envAlias2:"SMK_API_KEY" sources:"env" reportApplied:"true"`
BaseURL string `` /* 240-byte string literal not displayed */
Image string `` /* 210-byte string literal not displayed */
Workdir string `` /* 220-byte string literal not displayed */
CPUs int `` /* 221-byte string literal not displayed */
MemoryMB int `` /* 236-byte string literal not displayed */
Network string `` /* 191-byte string literal not displayed */
Keep bool `` /* 149-byte string literal not displayed */
}
SmolvmConfig describes mechanical bindings for the delegated provider. Credential provenance and destination validation remain owned by core policy.
type SmolvmConfigApplied ¶ added in v0.54.0
SmolvmConfigApplied records accepted assignments during one application.
type SmolvmConfigFlagValues ¶ added in v0.54.0
type SmolvmConfigFlagValues struct {
BaseURL *string
Image *string
Workdir *string
CPUs *int
MemoryMB *int
Network *string
Keep *bool
}
SmolvmConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterSmolvmConfigFlags ¶ added in v0.54.0
func RegisterSmolvmConfigFlags(fs *flag.FlagSet, defaults SmolvmConfig) SmolvmConfigFlagValues
RegisterSmolvmConfigFlags registers mechanical bindings without selecting a provider.
func (SmolvmConfigFlagValues) Apply ¶ added in v0.54.0
func (values SmolvmConfigFlagValues) Apply(cfg *SmolvmConfig, fs *flag.FlagSet) (SmolvmConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type SmolvmConfigVisitedFlags ¶ added in v0.54.0
type SmolvmConfigVisitedFlags struct {
BaseURL bool
}
SmolvmConfigVisitedFlags records raw flag visits, independently of application.
func SmolvmConfigFlagPresence ¶ added in v0.54.0
func SmolvmConfigFlagPresence(fs *flag.FlagSet) SmolvmConfigVisitedFlags
SmolvmConfigFlagPresence reports visits for tracked flag bindings.
type SpritesConfig ¶ added in v0.9.0
type SpritesConfig struct {
Token string `` /* 143-byte string literal not displayed */
APIURL string `` /* 245-byte string literal not displayed */
WorkRoot string `` /* 209-byte string literal not displayed */
}
SpritesConfig owns mechanical bindings; provider prevalidation and source provenance remain in their existing wrappers.
type SpritesConfigApplied ¶ added in v0.61.0
SpritesConfigApplied records accepted assignments during one application.
type SpritesConfigFlagValues ¶ added in v0.61.0
SpritesConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterSpritesConfigFlags ¶ added in v0.61.0
func RegisterSpritesConfigFlags(fs *flag.FlagSet, defaults SpritesConfig) SpritesConfigFlagValues
RegisterSpritesConfigFlags registers mechanical bindings without selecting a provider.
func (SpritesConfigFlagValues) Apply ¶ added in v0.61.0
func (values SpritesConfigFlagValues) Apply(cfg *SpritesConfig, fs *flag.FlagSet) (SpritesConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type SpritesConfigVisitedFlags ¶ added in v0.61.0
type SpritesConfigVisitedFlags struct {
APIURL bool
}
SpritesConfigVisitedFlags records raw flag visits, independently of application.
func SpritesConfigFlagPresence ¶ added in v0.61.0
func SpritesConfigFlagPresence(fs *flag.FlagSet) SpritesConfigVisitedFlags
SpritesConfigFlagPresence reports visits for tracked flag bindings.
type StaticConfig ¶ added in v0.4.0
type StaticConfig struct {
ID string `config:"id" env:"CRABBOX_STATIC_ID" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
Name string `config:"name" env:"CRABBOX_STATIC_NAME" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
Host string `` /* 174-byte string literal not displayed */
User string `` /* 153-byte string literal not displayed */
Port string `` /* 153-byte string literal not displayed */
WorkRoot string `` /* 175-byte string literal not displayed */
// Some SSH servers close a multiplexed session before sending exit-status,
// so a command that succeeded exits 255 and fails workspace ownership closed.
NoControlMaster bool `` /* 212-byte string literal not displayed */
// StartCommand and StopCommand are local argv arrays. Their JSON env and
// flag encodings are outside configgen's scalar/list codecs.
StartCommand []string `sources:"runtime"`
StopCommand []string `sources:"runtime"`
Power StaticPowerConfig `sources:"runtime"`
PowerAcknowledgeStop bool `sources:"runtime"`
}
StaticConfig holds configured inputs; target projection and SSH credentials remain separate.
type StaticConfigApplied ¶ added in v0.62.0
StaticConfigApplied records accepted assignments during one application.
type StaticConfigFlagValues ¶ added in v0.62.0
type StaticConfigFlagValues struct {
Host *string
User *string
Port *string
WorkRoot *string
NoControlMaster *bool
}
StaticConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterStaticConfigFlags ¶ added in v0.62.0
func RegisterStaticConfigFlags(fs *flag.FlagSet, defaults StaticConfig) StaticConfigFlagValues
RegisterStaticConfigFlags registers mechanical bindings without selecting a provider.
func (StaticConfigFlagValues) Apply ¶ added in v0.62.0
func (values StaticConfigFlagValues) Apply(cfg *StaticConfig, fs *flag.FlagSet) (StaticConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type StaticConfigVisitedFlags ¶ added in v0.62.0
type StaticConfigVisitedFlags struct {
Host bool
}
StaticConfigVisitedFlags records raw flag visits, independently of application.
func StaticConfigFlagPresence ¶ added in v0.62.0
func StaticConfigFlagPresence(fs *flag.FlagSet) StaticConfigVisitedFlags
StaticConfigFlagPresence reports visits for tracked flag bindings.
type StaticPowerConfig ¶ added in v0.67.0
type StatusRequest ¶ added in v0.6.0
type StatusTouchClaimAuthorizer ¶ added in v0.44.0
type StatusTouchClaimAuthorizer interface {
AuthorizeStatusTouchClaim(context.Context, LeaseTarget, LeaseClaim) error
}
StatusTouchClaimAuthorizer lets a provider fully authorize an exact claim whose ownership scope must be hydrated or validated at runtime.
type StatusTouchClaimValidator ¶ added in v0.37.0
type StatusTouchClaimValidator interface {
StatusTouchClaimMatches(LeaseTarget, LeaseClaim) bool
}
StatusTouchClaimValidator lets a provider require identity labels that core cannot interpret before status --wait extends a remotely visible lease.
type StatusView ¶ added in v0.6.0
type StatusView struct {
Retention *SessionDiskRetentionView `json:"retention,omitempty"`
LeasePolicy *CoordinatorLeasePolicy `json:"leasePolicy,omitempty"`
RemainingLifetime string `json:"remainingLifetime,omitempty"`
MaxLifetime string `json:"maxLifetime,omitempty"`
LifetimePolicy *LeaseLifetimePolicy `json:"lifetimePolicy,omitempty"`
ID string `json:"id"`
Slug string `json:"slug,omitempty"`
Provider string `json:"provider"`
TargetOS string `json:"target"`
WorkRoot string `json:"workroot,omitempty"`
WindowsMode string `json:"windowsMode,omitempty"`
State string `json:"state"`
ServerID string `json:"serverId"`
ServerType string `json:"serverType"`
ImageEvidence *ImageEvidence `json:"imageEvidence,omitempty"`
// ProviderResourceID optionally exposes an immutable provider resource ID.
// ServerID keeps each provider's existing identity semantics; for Islo it
// is the sandbox name rather than the immutable sandbox ID.
ProviderResourceID string `json:"providerResourceId,omitempty"`
Host string `json:"host"`
Pond string `json:"pond,omitempty"`
Network NetworkMode `json:"network"`
NetworkDiagnostics *LeaseNetworkDiagnostics `json:"networkDiagnostics,omitempty"`
Tailscale *TailscaleMetadata `json:"tailscale,omitempty"`
SSHHost string `json:"sshHost"`
SSHHostKey string `json:"sshHostKey,omitempty"`
ProviderAccessExpiresAt string `json:"providerAccessExpiresAt,omitempty"`
SSHUser string `json:"sshUser"`
SSHPort string `json:"sshPort"`
SSHFallbackPorts []string `json:"sshFallbackPorts,omitempty"`
SSHKey string `json:"sshKey"`
LastTouchedAt string `json:"lastTouchedAt,omitempty"`
IdleFor string `json:"idleFor,omitempty"`
IdleTimeout string `json:"idleTimeout,omitempty"`
ExpiresAt string `json:"expiresAt,omitempty"`
CleanupStatus string `json:"cleanupStatus,omitempty"`
ProviderCleanup *ProviderCleanupEvidence `json:"providerCleanup,omitempty"`
CleanupStartedAt string `json:"cleanupStartedAt,omitempty"`
CleanupCompletedAt string `json:"cleanupCompletedAt,omitempty"`
CleanupError string `json:"cleanupError,omitempty"`
CleanupRetryAt string `json:"cleanupRetryAt,omitempty"`
ReleaseDeletesServer *bool `json:"releaseDeletesServer,omitempty"`
FailureError string `json:"failureError,omitempty"`
ProvisioningPhase string `json:"provisioningPhase,omitempty"`
ProvisioningResourceMayExist *bool `json:"provisioningResourceMayExist,omitempty"`
ProvisioningFailureRetryable *bool `json:"provisioningFailureRetryable,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
ProviderMetadata map[string]any `json:"providerMetadata,omitempty"`
HasHost bool `json:"hasHost"`
Ready bool `json:"ready"`
Telemetry *LeaseTelemetry `json:"telemetry,omitempty"`
TelemetryHistory []*LeaseTelemetry `json:"telemetryHistory,omitempty"`
}
type StopReclaimBackend ¶ added in v0.35.0
type StopReclaimBackend interface {
Backend
ReclaimAndStop(ctx context.Context, req StopRequest) error
}
StopReclaimBackend supports an explicit one-shot adoption before stopping an exactly identified resource. Providers without a strong adoption contract do not implement it.
type StopRequest ¶ added in v0.6.0
type StopRequest struct {
Options LeaseOptions
ID string
}
type StreamingListBackend ¶ added in v0.76.0
type StreamingListBackend interface {
Backend
StreamList(context.Context, ListRequest, func(ListPage) error) error
}
StreamingListBackend emits bounded pages in display order. Callbacks are synchronous: returning an error cancels outstanding reads.
type SuperserveConfig ¶ added in v0.30.0
type SuperserveConfig struct {
BaseURL string `` /* 250-byte string literal not displayed */
Template string `` /* 168-byte string literal not displayed */
Snapshot string `` /* 145-byte string literal not displayed */
Workdir string `` /* 186-byte string literal not displayed */
TimeoutSecs int `` /* 205-byte string literal not displayed */
ExecTimeoutSecs int `` /* 232-byte string literal not displayed */
NetworkAllowOut []string `` /* 233-byte string literal not displayed */
NetworkDenyOut []string `` /* 229-byte string literal not displayed */
ForgetMissing bool `` /* 204-byte string literal not displayed */
}
SuperserveConfig owns mechanical bindings. The runtime API key remains absent from configuration and argv; provider validation stays in its existing phase.
type SuperserveConfigApplied ¶ added in v0.61.0
type SuperserveConfigApplied struct {
InputAccepted bool
}
SuperserveConfigApplied records accepted assignments during one application.
type SuperserveConfigFlagValues ¶ added in v0.61.0
type SuperserveConfigFlagValues struct {
BaseURL *string
Template *string
Snapshot *string
Workdir *string
TimeoutSecs *int
ExecTimeoutSecs *int
NetworkAllowOut *string
NetworkDenyOut *string
ForgetMissing *bool
}
SuperserveConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterSuperserveConfigFlags ¶ added in v0.61.0
func RegisterSuperserveConfigFlags(fs *flag.FlagSet, defaults SuperserveConfig) SuperserveConfigFlagValues
RegisterSuperserveConfigFlags registers mechanical bindings without selecting a provider.
func (SuperserveConfigFlagValues) Apply ¶ added in v0.61.0
func (values SuperserveConfigFlagValues) Apply(cfg *SuperserveConfig, fs *flag.FlagSet) (SuperserveConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type SyncConfig ¶
type SyncConfig struct {
Source string
Compression string
Excludes []string
Includes []string
Delete bool
Checksum bool
GitSeed bool
GitSeedSource string
GitOverlay bool
Fingerprint bool
BaseRef string
Timeout time.Duration
WarnFiles int
WarnBytes int64
FailFiles int
FailBytes int64
AllowLarge bool
}
type SyncExcludeRules ¶ added in v0.41.4
type SyncExcludeRules struct {
// contains filtered or unexported fields
}
SyncExcludeRules keeps ordered matcher provenance internal while allowing provider adapters to pass the rules back to the core manifest owner.
func SyncExcludes ¶ added in v0.6.0
func SyncExcludes(root string, cfg Config) (SyncExcludeRules, error)
type SyncManifest ¶
type SyncManifest struct {
Files []string
Deleted []string
Changed []string
OverlayFiles []string
ProtectedTrackedExcludes []SyncProtectedTrackedExclude
Bytes int64
ChangedBytes int64
OverlayBytes int64
// contains filtered or unexported fields
}
func BuildSyncManifestFiltered ¶ added in v0.26.1
func BuildSyncManifestFiltered(root string, excludes SyncExcludeRules, includes []string) (SyncManifest, error)
func FullSyncGuardrailManifest ¶ added in v0.50.0
func FullSyncGuardrailManifest(manifest SyncManifest) SyncManifest
FullSyncGuardrailManifest selects the complete transfer without changing the caller's dirty-delta diagnostics or the archive's file manifest.
func (SyncManifest) DeletedNUL ¶
func (m SyncManifest) DeletedNUL() []byte
func (SyncManifest) NUL ¶
func (m SyncManifest) NUL() []byte
func (SyncManifest) OverlayNUL ¶ added in v0.47.0
func (m SyncManifest) OverlayNUL() []byte
type SyncProtectedTrackedExclude ¶ added in v0.41.4
type TailnetPeerValidator ¶ added in v0.29.0
type TailnetPeerValidator interface {
ValidateTailnetPeer(ctx context.Context, leaseID string) (TailscaleMetadata, error)
}
TailnetPeerValidator lets dual-plane delegated providers revalidate a local tailnet claim before it is advertised as reachable.
type TailscaleConfig ¶ added in v0.5.0
type TailscaleMetadata ¶ added in v0.5.0
type TailscaleMetadata struct {
Enabled bool `json:"enabled"`
Hostname string `json:"hostname,omitempty"`
FQDN string `json:"fqdn,omitempty"`
IPv4 string `json:"ipv4,omitempty"`
Tags []string `json:"tags,omitempty"`
State string `json:"state,omitempty"`
Error string `json:"error,omitempty"`
Version string `json:"version,omitempty"`
DeviceID string `json:"deviceID,omitempty"`
ExitNode string `json:"exitNode,omitempty"`
ExitNodeAllowLANAccess bool `json:"exitNodeAllowLanAccess,omitempty"`
}
type TailscaleMetadataBackend ¶ added in v0.29.0
type TailscaleMetadataBackend interface {
Backend
UpdateTailscaleMetadata(ctx context.Context, lease LeaseTarget, meta TailscaleMetadata) (Server, error)
}
type TargetSpec ¶ added in v0.6.0
type TartConfig ¶ added in v0.26.1
type TartConfig struct {
Image string `` /* 187-byte string literal not displayed */
User string `` /* 192-byte string literal not displayed */
Password string `config:"password" env:"CRABBOX_TART_PASSWORD" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
WorkRoot string `config:"workRoot" env:"CRABBOX_TART_WORK_ROOT" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
CPUs int `` /* 179-byte string literal not displayed */
Memory int `` /* 192-byte string literal not displayed */
Disk int `` /* 198-byte string literal not displayed */
}
TartConfig declares bindings; ordered resource validation remains provider-owned.
type TartConfigApplied ¶ added in v0.62.0
TartConfigApplied records accepted assignments during one application.
type TartConfigFlagValues ¶ added in v0.62.0
TartConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterTartConfigFlags ¶ added in v0.62.0
func RegisterTartConfigFlags(fs *flag.FlagSet, defaults TartConfig) TartConfigFlagValues
RegisterTartConfigFlags registers mechanical bindings without selecting a provider.
type TartConfigVisitedFlags ¶ added in v0.62.0
TartConfigVisitedFlags records raw flag visits, independently of application.
func TartConfigFlagPresence ¶ added in v0.62.0
func TartConfigFlagPresence(fs *flag.FlagSet) TartConfigVisitedFlags
TartConfigFlagPresence reports visits for tracked flag bindings.
type TencentCloudConfig ¶ added in v0.34.0
type TencentCloudConfig struct {
Region string `` /* 201-byte string literal not displayed */
Zone string `` /* 206-byte string literal not displayed */
Image string `` /* 200-byte string literal not displayed */
Type string `` /* 202-byte string literal not displayed */
VPCID string `` /* 175-byte string literal not displayed */
SubnetID string `` /* 187-byte string literal not displayed */
SecurityGroupID string `` /* 218-byte string literal not displayed */
SSHCIDRs []string `` /* 280-byte string literal not displayed */
RootGB int64 `` /* 232-byte string literal not displayed */
InternetChargeType string `` /* 238-byte string literal not displayed */
InternetMaxBandwidthOut int64 `` /* 293-byte string literal not displayed */
APIEndpoint string `` /* 198-byte string literal not displayed */
}
TencentCloudConfig contains non-secret CVM settings. Native credentials, endpoint families and class selection remain provider policy.
type TencentCloudConfigApplied ¶ added in v0.55.0
type TencentCloudConfigApplied struct {
InputAccepted bool
Region bool
Zone bool
Image bool
Type bool
}
TencentCloudConfigApplied records accepted assignments during one application.
type TencentCloudConfigFlagValues ¶ added in v0.55.0
type TencentCloudConfigFlagValues struct {
Region *string
Zone *string
Image *string
Type *string
VPCID *string
SubnetID *string
SecurityGroupID *string
SSHCIDRs *string
RootGB *int64
InternetChargeType *string
InternetMaxBandwidthOut *int64
APIEndpoint *string
}
TencentCloudConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterTencentCloudConfigFlags ¶ added in v0.55.0
func RegisterTencentCloudConfigFlags(fs *flag.FlagSet, defaults TencentCloudConfig) TencentCloudConfigFlagValues
RegisterTencentCloudConfigFlags registers mechanical bindings without selecting a provider.
func (TencentCloudConfigFlagValues) Apply ¶ added in v0.55.0
func (values TencentCloudConfigFlagValues) Apply(cfg *TencentCloudConfig, fs *flag.FlagSet) (TencentCloudConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type TencentCloudConfigVisitedFlags ¶ added in v0.55.0
TencentCloudConfigVisitedFlags records raw flag visits, independently of application.
func TencentCloudConfigFlagPresence ¶ added in v0.55.0
func TencentCloudConfigFlagPresence(fs *flag.FlagSet) TencentCloudConfigVisitedFlags
TencentCloudConfigFlagPresence reports visits for tracked flag bindings.
type TenkiConfig ¶ added in v0.26.1
type TenkiConfig struct {
CLIPath string `` /* 188-byte string literal not displayed */
Endpoint string `` /* 221-byte string literal not displayed */
Gateway string `` /* 230-byte string literal not displayed */
Workspace string `` /* 205-byte string literal not displayed */
Project string `` /* 197-byte string literal not displayed */
Image string `` /* 171-byte string literal not displayed */
Snapshot string `` /* 173-byte string literal not displayed */
WorkRoot string `` /* 202-byte string literal not displayed */
CPUs int `` /* 192-byte string literal not displayed */
MemoryMB int `` /* 209-byte string literal not displayed */
DiskGB int `` /* 211-byte string literal not displayed */
}
TenkiConfig owns mechanical bindings; destination provenance and provider normalization and validation remain in their existing policy phases.
type TenkiConfigApplied ¶ added in v0.61.0
TenkiConfigApplied records accepted assignments during one application.
type TenkiConfigFlagValues ¶ added in v0.61.0
type TenkiConfigFlagValues struct {
CLIPath *string
Endpoint *string
Gateway *string
Workspace *string
Project *string
Image *string
Snapshot *string
WorkRoot *string
CPUs *int
MemoryMB *int
DiskGB *int
}
TenkiConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterTenkiConfigFlags ¶ added in v0.61.0
func RegisterTenkiConfigFlags(fs *flag.FlagSet, defaults TenkiConfig) TenkiConfigFlagValues
RegisterTenkiConfigFlags registers mechanical bindings without selecting a provider.
func (TenkiConfigFlagValues) Apply ¶ added in v0.61.0
func (values TenkiConfigFlagValues) Apply(cfg *TenkiConfig, fs *flag.FlagSet) (TenkiConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type TenkiConfigVisitedFlags ¶ added in v0.61.0
TenkiConfigVisitedFlags records raw flag visits, independently of application.
func TenkiConfigFlagPresence ¶ added in v0.61.0
func TenkiConfigFlagPresence(fs *flag.FlagSet) TenkiConfigVisitedFlags
TenkiConfigFlagPresence reports visits for tracked flag bindings.
type TensorlakeConfig ¶ added in v0.12.0
type TensorlakeConfig struct {
APIKey string `env:"CRABBOX_TENSORLAKE_API_KEY" envAlias:"TENSORLAKE_API_KEY" sources:"env" reportApplied:"true"`
APIURL string `` /* 264-byte string literal not displayed */
CLIPath string `` /* 201-byte string literal not displayed */
Image string `` /* 178-byte string literal not displayed */
Snapshot string `` /* 196-byte string literal not displayed */
OrganizationID string `` /* 242-byte string literal not displayed */
ProjectID string `` /* 217-byte string literal not displayed */
Namespace string `` /* 211-byte string literal not displayed */
Workdir string `` /* 256-byte string literal not displayed */
CPUs float64 `` /* 186-byte string literal not displayed */
MemoryMB int `` /* 239-byte string literal not displayed */
DiskMB int `` /* 237-byte string literal not displayed */
TimeoutSecs int `` /* 248-byte string literal not displayed */
NoInternet bool `` /* 163-byte string literal not displayed */
}
TensorlakeConfig describes mechanical bindings for the delegated provider. Native invocation, scope validation and credential policy remain separate.
type TensorlakeConfigApplied ¶ added in v0.54.0
TensorlakeConfigApplied records accepted assignments during one application.
type TensorlakeConfigFlagValues ¶ added in v0.54.0
type TensorlakeConfigFlagValues struct {
APIURL *string
CLIPath *string
Image *string
Snapshot *string
OrganizationID *string
ProjectID *string
Namespace *string
Workdir *string
CPUs *float64
MemoryMB *int
DiskMB *int
TimeoutSecs *int
NoInternet *bool
}
TensorlakeConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterTensorlakeConfigFlags ¶ added in v0.54.0
func RegisterTensorlakeConfigFlags(fs *flag.FlagSet, defaults TensorlakeConfig) TensorlakeConfigFlagValues
RegisterTensorlakeConfigFlags registers mechanical bindings without selecting a provider.
func (TensorlakeConfigFlagValues) Apply ¶ added in v0.54.0
func (values TensorlakeConfigFlagValues) Apply(cfg *TensorlakeConfig, fs *flag.FlagSet) (TensorlakeConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type TensorlakeConfigVisitedFlags ¶ added in v0.54.0
type TensorlakeConfigVisitedFlags struct {
APIURL bool
}
TensorlakeConfigVisitedFlags records raw flag visits, independently of application.
func TensorlakeConfigFlagPresence ¶ added in v0.54.0
func TensorlakeConfigFlagPresence(fs *flag.FlagSet) TensorlakeConfigVisitedFlags
TensorlakeConfigFlagPresence reports visits for tracked flag bindings.
type TestFailure ¶
type TestResultSummary ¶
type TestResultSummary struct {
Format string `json:"format"`
Files []string `json:"files"`
Suites int `json:"suites"`
Tests int `json:"tests"`
Failures int `json:"failures"`
Errors int `json:"errors"`
Skipped int `json:"skipped"`
TimeSeconds float64 `json:"timeSeconds"`
Failed []TestFailure `json:"failed"`
}
type TimingPhase ¶ added in v0.6.0
type TimingPhase struct {
Name string `json:"name"`
Ms int64 `json:"ms,omitempty"`
Skipped bool `json:"skipped,omitempty"`
Reason string `json:"reason,omitempty"`
}
func FinishCommandPhaseTracker ¶ added in v0.12.0
func FinishCommandPhaseTracker(tracker *CommandPhaseTracker, at time.Time) []TimingPhase
type TimingReport ¶ added in v0.6.0
type TimingReport struct {
SSHRoute string `json:"sshRoute,omitempty"`
CreationRejected *CreationRejection `json:"creationRejected,omitempty"`
CreationEvents []CreationEvent `json:"creationEvents,omitempty"`
Provider string `json:"provider"`
LeaseID string `json:"leaseId,omitempty"`
Slug string `json:"slug,omitempty"`
RunnerTotalMs int64 `json:"runnerTotalMs,omitempty"`
TerminalPending bool `json:"terminalPending,omitempty"`
RunnerPhases []RunnerPhase `json:"runnerPhases,omitempty"`
LeaseMs int64 `json:"leaseMs,omitempty"`
BootstrapMs int64 `json:"bootstrapMs,omitempty"`
SyncMs int64 `json:"syncMs"`
SyncPhases []TimingPhase `json:"syncPhases,omitempty"`
SyncSkipped bool `json:"syncSkipped"`
SyncDelegated bool `json:"syncDelegated,omitempty"`
SyncMode string `json:"syncMode,omitempty"`
SyncTransferFiles int `json:"syncTransferFiles,omitempty"`
SyncTransferBytes int64 `json:"syncTransferBytes,omitempty"`
SyncSeedBytes int64 `json:"syncSeedBytes,omitempty"`
SyncFallbackReason string `json:"syncFallbackReason,omitempty"`
HydrateMs int64 `json:"hydrateMs,omitempty"`
ProbeMs int64 `json:"probeMs,omitempty"`
CommandMs int64 `json:"commandMs"`
CommandPhases []TimingPhase `json:"commandPhases,omitempty"`
TotalMs int64 `json:"totalMs"`
EndToEndMs int64 `json:"endToEndMs"`
ExitCode int `json:"exitCode"`
RunStatus RunStatus `json:"runStatus,omitempty"`
ErrorKind RunErrorKind `json:"errorKind,omitempty"`
ActionsRunURL string `json:"actionsRunUrl,omitempty"`
RunID string `json:"runId,omitempty"`
Label string `json:"label,omitempty"`
MachineType string `json:"machineType,omitempty"`
ImageEvidence *ImageEvidence `json:"imageEvidence,omitempty"`
RepoPath string `json:"repoPath,omitempty"`
Workdir string `json:"workdir,omitempty"`
StopCommand string `json:"stopCommand,omitempty"`
IdleTimeout string `json:"idleTimeout,omitempty"`
BlockedStage string `json:"blockedStage,omitempty"`
ResourceExhaustion ResourceExhaustionReason `json:"resourceExhaustion,omitempty"`
FailureEvidence *RunFailureEvidence `json:"failureEvidence,omitempty"`
RetryLikely string `json:"retryLikely,omitempty"`
Artifacts []runArtifact `json:"artifacts,omitempty"`
SchemaValidations []SchemaValidationResult `json:"schemaValidations,omitempty"`
ArtifactChanges []ArtifactChangeResult `json:"artifactChanges,omitempty"`
LeaseStopped *bool `json:"leaseStopped,omitempty"`
LeaseStopErr string `json:"leaseStopError,omitempty"`
LeaseRetainedReason string `json:"leaseRetainedReason,omitempty"`
}
func TimingReportWithRunResult ¶ added in v0.34.0
func TimingReportWithRunResult(report TimingReport, result RunResult, err error) TimingReport
TimingReportWithRunResult copies normalized run outcome fields onto a timing report.
type TouchRequest ¶ added in v0.6.0
type UnikraftCloudConfig ¶ added in v0.37.0
type UnikraftCloudConfig struct {
APIKey string `` /* 220-byte string literal not displayed */
APIURL string `` /* 277-byte string literal not displayed */
Metro string `` /* 271-byte string literal not displayed */
Image string `` /* 237-byte string literal not displayed */
MemoryMB int `` /* 187-byte string literal not displayed */
}
UnikraftCloudConfig owns mechanical bindings; endpoint derivation and provider guards remain separate from source admission.
type UnikraftCloudConfigApplied ¶ added in v0.61.0
UnikraftCloudConfigApplied records accepted assignments during one application.
type UnikraftCloudConfigFlagValues ¶ added in v0.61.0
type UnikraftCloudConfigFlagValues struct {
APIURL *string
Metro *string
Image *string
MemoryMB *int
}
UnikraftCloudConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterUnikraftCloudConfigFlags ¶ added in v0.61.0
func RegisterUnikraftCloudConfigFlags(fs *flag.FlagSet, defaults UnikraftCloudConfig) UnikraftCloudConfigFlagValues
RegisterUnikraftCloudConfigFlags registers mechanical bindings without selecting a provider.
func (UnikraftCloudConfigFlagValues) Apply ¶ added in v0.61.0
func (values UnikraftCloudConfigFlagValues) Apply(cfg *UnikraftCloudConfig, fs *flag.FlagSet) (UnikraftCloudConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type UnikraftCloudConfigVisitedFlags ¶ added in v0.61.0
type UnikraftCloudConfigVisitedFlags struct {
APIURL bool
}
UnikraftCloudConfigVisitedFlags records raw flag visits, independently of application.
func UnikraftCloudConfigFlagPresence ¶ added in v0.61.0
func UnikraftCloudConfigFlagPresence(fs *flag.FlagSet) UnikraftCloudConfigVisitedFlags
UnikraftCloudConfigFlagPresence reports visits for tracked flag bindings.
type UpstashBoxConfig ¶ added in v0.18.0
type UpstashBoxConfig struct {
APIKey string `env:"CRABBOX_UPSTASH_BOX_API_KEY" envAlias:"UPSTASH_BOX_API_KEY" sources:"env" reportApplied:"true"`
BaseURL string `` /* 280-byte string literal not displayed */
Runtime string `` /* 228-byte string literal not displayed */
Size string `` /* 205-byte string literal not displayed */
Workdir string `` /* 240-byte string literal not displayed */
KeepAlive bool `` /* 165-byte string literal not displayed */
}
UpstashBoxConfig describes mechanical bindings for the delegated provider. Credential provenance and destination validation remain owned by core policy.
type UpstashBoxConfigApplied ¶ added in v0.54.0
UpstashBoxConfigApplied records accepted assignments during one application.
type UpstashBoxConfigFlagValues ¶ added in v0.54.0
type UpstashBoxConfigFlagValues struct {
BaseURL *string
Runtime *string
Size *string
Workdir *string
KeepAlive *bool
}
UpstashBoxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterUpstashBoxConfigFlags ¶ added in v0.54.0
func RegisterUpstashBoxConfigFlags(fs *flag.FlagSet, defaults UpstashBoxConfig) UpstashBoxConfigFlagValues
RegisterUpstashBoxConfigFlags registers mechanical bindings without selecting a provider.
func (UpstashBoxConfigFlagValues) Apply ¶ added in v0.54.0
func (values UpstashBoxConfigFlagValues) Apply(cfg *UpstashBoxConfig, fs *flag.FlagSet) (UpstashBoxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type UpstashBoxConfigVisitedFlags ¶ added in v0.54.0
type UpstashBoxConfigVisitedFlags struct {
BaseURL bool
}
UpstashBoxConfigVisitedFlags records raw flag visits, independently of application.
func UpstashBoxConfigFlagPresence ¶ added in v0.54.0
func UpstashBoxConfigFlagPresence(fs *flag.FlagSet) UpstashBoxConfigVisitedFlags
UpstashBoxConfigFlagPresence reports visits for tracked flag bindings.
type VastConfig ¶ added in v0.35.0
type VastConfig struct {
APIKey string `env:"CRABBOX_VAST_API_KEY" envAlias:"VAST_API_KEY" sources:"env" reportApplied:"true"`
APIURL string `` /* 248-byte string literal not displayed */
InstanceType string `` /* 245-byte string literal not displayed */
GPUName string `` /* 170-byte string literal not displayed */
GPUCount int `` /* 205-byte string literal not displayed */
Image string `` /* 228-byte string literal not displayed */
TemplateID string `` /* 182-byte string literal not displayed */
Runtype string `` /* 196-byte string literal not displayed */
DiskGB int `` /* 211-byte string literal not displayed */
MaxDphTotal float64 `` /* 146-byte string literal not displayed */
MinReliability float64 `` /* 160-byte string literal not displayed */
Order string `` /* 205-byte string literal not displayed */
User string `` /* 179-byte string literal not displayed */
WorkRoot string `` /* 238-byte string literal not displayed */
ReleaseAction string `` /* 248-byte string literal not displayed */
}
VastConfig contains Vast.ai provider settings. APIKey is populated only from CRABBOX_VAST_API_KEY / VAST_API_KEY and must not be persisted or printed.
type VastConfigApplied ¶ added in v0.54.0
type VastConfigApplied struct {
InputAccepted bool
APIKey bool
APIURL bool
InstanceType bool
WorkRoot bool
ReleaseAction bool
}
VastConfigApplied records accepted assignments during one application.
type VastConfigFlagValues ¶ added in v0.54.0
type VastConfigFlagValues struct {
APIURL *string
InstanceType *string
GPUName *string
GPUCount *int
Image *string
TemplateID *string
Runtype *string
DiskGB *int
MaxDphTotal *float64
MinReliability *float64
Order *string
User *string
WorkRoot *string
ReleaseAction *string
}
VastConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterVastConfigFlags ¶ added in v0.54.0
func RegisterVastConfigFlags(fs *flag.FlagSet, defaults VastConfig) VastConfigFlagValues
RegisterVastConfigFlags registers mechanical bindings without selecting a provider.
func (VastConfigFlagValues) Apply ¶ added in v0.54.0
func (values VastConfigFlagValues) Apply(cfg *VastConfig, fs *flag.FlagSet) (VastConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type VastConfigVisitedFlags ¶ added in v0.54.0
type VastConfigVisitedFlags struct {
APIURL bool
InstanceType bool
WorkRoot bool
ReleaseAction bool
}
VastConfigVisitedFlags records raw flag visits, independently of application.
func VastConfigFlagPresence ¶ added in v0.54.0
func VastConfigFlagPresence(fs *flag.FlagSet) VastConfigVisitedFlags
VastConfigFlagPresence reports visits for tracked flag bindings.
type VercelSandboxConfig ¶ added in v0.31.0
type VercelSandboxConfig struct {
Runtime string `` /* 196-byte string literal not displayed */
Workdir string `` /* 199-byte string literal not displayed */
ProjectID string `` /* 170-byte string literal not displayed */
TeamID string `` /* 158-byte string literal not displayed */
Scope string `` /* 166-byte string literal not displayed */
VCPUs float64 `` /* 171-byte string literal not displayed */
TimeoutSecs int `` /* 206-byte string literal not displayed */
ExecTimeoutSecs int `` /* 229-byte string literal not displayed */
Persistent bool `` /* 186-byte string literal not displayed */
Snapshot string `` /* 178-byte string literal not displayed */
SnapshotMode string `` /* 186-byte string literal not displayed */
NetworkPolicy string `` /* 227-byte string literal not displayed */
NetworkAllow []string `` /* 184-byte string literal not displayed */
NetworkDeny []string `` /* 176-byte string literal not displayed */
Ports []string `` /* 161-byte string literal not displayed */
ForgetMissing bool `` /* 212-byte string literal not displayed */
}
VercelSandboxConfig is the typed source for mechanical configuration wiring. Every field explicitly permits user/repo YAML, environment, and flags. Credentials and destinations are intentionally absent: runtime auth and credential policy stay in the provider. Cross-field validation stays there too.
type VercelSandboxConfigApplied ¶ added in v0.56.0
type VercelSandboxConfigApplied struct {
InputAccepted bool
}
VercelSandboxConfigApplied records accepted assignments during one application.
type VercelSandboxConfigFlagValues ¶ added in v0.47.0
type VercelSandboxConfigFlagValues struct {
Runtime *string
Workdir *string
ProjectID *string
TeamID *string
Scope *string
VCPUs *float64
TimeoutSecs *int
ExecTimeoutSecs *int
Persistent *bool
Snapshot *string
SnapshotMode *string
NetworkPolicy *string
NetworkAllow *string
NetworkDeny *string
Ports *string
ForgetMissing *bool
}
VercelSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterVercelSandboxConfigFlags ¶ added in v0.47.0
func RegisterVercelSandboxConfigFlags(fs *flag.FlagSet, defaults VercelSandboxConfig) VercelSandboxConfigFlagValues
RegisterVercelSandboxConfigFlags registers mechanical bindings without selecting a provider.
func (VercelSandboxConfigFlagValues) Apply ¶ added in v0.47.0
func (values VercelSandboxConfigFlagValues) Apply(cfg *VercelSandboxConfig, fs *flag.FlagSet) (VercelSandboxConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type VultrConfig ¶ added in v0.34.0
type VultrConfig struct {
Region string `config:"region" env:"CRABBOX_VULTR_REGION" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
OS string `config:"os" env:"CRABBOX_VULTR_OS" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
Image string `config:"image" env:"CRABBOX_VULTR_IMAGE" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
Snapshot string `config:"snapshot" env:"CRABBOX_VULTR_SNAPSHOT" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
FirewallGroup string `config:"firewallGroup" env:"CRABBOX_VULTR_FIREWALL_GROUP" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
VPCIDs []string `config:"vpcIds" env:"CRABBOX_VULTR_VPC_IDS" sources:"user,repo,env" fileList:"nonempty-raw" fileStorage:"value"`
SSHCIDRs []string `config:"sshCIDRs" env:"CRABBOX_VULTR_SSH_CIDRS" sources:"user,repo,env" fileList:"nonempty-raw" fileStorage:"value"`
UserScheme string `config:"userScheme" env:"CRABBOX_VULTR_USER_SCHEME" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
}
VultrConfig contains non-secret settings without provider flags. Boot-source selection and native validation remain provider policy.
func (VultrConfig) WithRuntimeDefaults ¶ added in v0.55.0
func (cfg VultrConfig) WithRuntimeDefaults() VultrConfig
WithRuntimeDefaults returns a shallow copy with only raw-empty Region and UserScheme filled. It does not normalize values or select generic SSH policy.
type VultrConfigApplied ¶ added in v0.56.0
type VultrConfigApplied struct {
InputAccepted bool
}
VultrConfigApplied records accepted assignments during one application.
type WandbConfig ¶ added in v0.20.0
type WandbConfig struct {
APIKey string `config:"apiKey" env:"CRABBOX_WANDB_API_KEY" sources:"user,repo,env" fileIgnoreEmpty:"true" fileStorage:"value"`
DefaultImage string `` /* 238-byte string literal not displayed */
MaxLifetimeSeconds int `` /* 303-byte string literal not displayed */
}
WandbConfig drives W&B Sandboxes. The client owns the vendor API-key and netrc fallback chain; the loader applies only its explicit primary override.
type WandbConfigApplied ¶ added in v0.56.0
type WandbConfigApplied struct {
InputAccepted bool
}
WandbConfigApplied records accepted assignments during one application.
type WandbConfigFlagValues ¶ added in v0.54.0
WandbConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterWandbConfigFlags ¶ added in v0.54.0
func RegisterWandbConfigFlags(fs *flag.FlagSet, defaults WandbConfig) WandbConfigFlagValues
RegisterWandbConfigFlags registers mechanical bindings without selecting a provider.
func (WandbConfigFlagValues) Apply ¶ added in v0.54.0
func (values WandbConfigFlagValues) Apply(cfg *WandbConfig, fs *flag.FlagSet) (WandbConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type WarmupRequest ¶ added in v0.6.0
type WarmupRequest struct {
Repo Repo
Options LeaseOptions
Keep bool
Reclaim bool
ActionsRunner bool
RequestedSlug string
TimingJSON bool
// BeforeComplete runs synchronous, best-effort core bookkeeping once after
// successful acquisition/retention and before final output. Providers opting
// in must include it in total timing; it cannot fail or roll back the lease.
BeforeComplete func()
}
type WarpBuildConfig ¶ added in v0.81.0
type WarpBuildConfig struct {
Token string `env:"CRABBOX_WARPBUILD_TOKEN" envAlias:"WB_TOKEN" sources:"env"`
CLIPath string `` /* 181-byte string literal not displayed */
RunnerLabel string `` /* 236-byte string literal not displayed */
Workdir string `` /* 242-byte string literal not displayed */
}
WarpBuildConfig keeps the native CLI and its credential in trusted inputs.
type WarpBuildConfigApplied ¶ added in v0.81.0
type WarpBuildConfigApplied struct {
InputAccepted bool
}
WarpBuildConfigApplied records accepted assignments during one application.
type WarpBuildConfigFlagValues ¶ added in v0.81.0
WarpBuildConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterWarpBuildConfigFlags ¶ added in v0.81.0
func RegisterWarpBuildConfigFlags(fs *flag.FlagSet, defaults WarpBuildConfig) WarpBuildConfigFlagValues
RegisterWarpBuildConfigFlags registers mechanical bindings without selecting a provider.
func (WarpBuildConfigFlagValues) Apply ¶ added in v0.81.0
func (values WarpBuildConfigFlagValues) Apply(cfg *WarpBuildConfig, fs *flag.FlagSet) (WarpBuildConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type WindowsSandboxConfig ¶ added in v0.30.0
type WindowsSandboxConfig struct {
Workdir string `` /* 241-byte string literal not displayed */
TempRoot string `` /* 241-byte string literal not displayed */
Networking string `` /* 241-byte string literal not displayed */
VGPU string `` /* 218-byte string literal not displayed */
Clipboard string `` /* 250-byte string literal not displayed */
ProtectedClient string `` /* 265-byte string literal not displayed */
AudioInput string `` /* 245-byte string literal not displayed */
VideoInput string `` /* 245-byte string literal not displayed */
PrinterRedirection string `` /* 277-byte string literal not displayed */
MemoryMB int `` /* 257-byte string literal not displayed */
}
WindowsSandboxConfig owns input bindings; ordered flag validation stays in the provider.
type WindowsSandboxConfigApplied ¶ added in v0.62.0
WindowsSandboxConfigApplied records accepted assignments during one application.
type WindowsSandboxConfigFlagValues ¶ added in v0.62.0
type WindowsSandboxConfigFlagValues struct {
Workdir *string
TempRoot *string
Networking *string
VGPU *string
Clipboard *string
ProtectedClient *string
AudioInput *string
VideoInput *string
PrinterRedirection *string
MemoryMB *int
}
WindowsSandboxConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterWindowsSandboxConfigFlags ¶ added in v0.62.0
func RegisterWindowsSandboxConfigFlags(fs *flag.FlagSet, defaults WindowsSandboxConfig) WindowsSandboxConfigFlagValues
RegisterWindowsSandboxConfigFlags registers mechanical bindings without selecting a provider.
type WindowsSandboxConfigVisitedFlags ¶ added in v0.62.0
type WindowsSandboxConfigVisitedFlags struct {
Workdir bool
TempRoot bool
Networking bool
VGPU bool
Clipboard bool
ProtectedClient bool
AudioInput bool
VideoInput bool
PrinterRedirection bool
MemoryMB bool
}
WindowsSandboxConfigVisitedFlags records raw flag visits, independently of application.
func WindowsSandboxConfigFlagPresence ¶ added in v0.62.0
func WindowsSandboxConfigFlagPresence(fs *flag.FlagSet) WindowsSandboxConfigVisitedFlags
WindowsSandboxConfigFlagPresence reports visits for tracked flag bindings.
type XCPNgConfig ¶ added in v0.29.0
type XCPNgConfig struct {
APIURL string `` /* 160-byte string literal not displayed */
Username string `` /* 164-byte string literal not displayed */
Password string `config:"password" env:"CRABBOX_XCP_NG_PASSWORD" sources:"user,env" fileIgnoreEmpty:"true" fileStorage:"value"`
Template string `` /* 194-byte string literal not displayed */
TemplateUUID string `` /* 208-byte string literal not displayed */
SR string `` /* 183-byte string literal not displayed */
SRUUID string `` /* 197-byte string literal not displayed */
Network string `` /* 187-byte string literal not displayed */
NetworkUUID string `` /* 201-byte string literal not displayed */
Host string `` /* 162-byte string literal not displayed */
User string `` /* 211-byte string literal not displayed */
WorkRoot string `` /* 204-byte string literal not displayed */
InsecureTLS bool `` /* 154-byte string literal not displayed */
}
XCPNgConfig owns mechanical bindings; selector-pair replacement and generic connection effects remain explicit policy outside the generated overlays.
type XCPNgConfigApplied ¶ added in v0.61.0
type XCPNgConfigApplied struct {
InputAccepted bool
Template bool
TemplateUUID bool
SR bool
SRUUID bool
Network bool
NetworkUUID bool
User bool
WorkRoot bool
}
XCPNgConfigApplied records accepted assignments during one application.
type XCPNgConfigFlagValues ¶ added in v0.61.0
type XCPNgConfigFlagValues struct {
APIURL *string
Username *string
Template *string
TemplateUUID *string
SR *string
SRUUID *string
Network *string
NetworkUUID *string
Host *string
User *string
WorkRoot *string
InsecureTLS *bool
}
XCPNgConfigFlagValues holds parsed values; only visited flags are applied.
func RegisterXCPNgConfigFlags ¶ added in v0.61.0
func RegisterXCPNgConfigFlags(fs *flag.FlagSet, defaults XCPNgConfig) XCPNgConfigFlagValues
RegisterXCPNgConfigFlags registers mechanical bindings without selecting a provider.
func (XCPNgConfigFlagValues) Apply ¶ added in v0.61.0
func (values XCPNgConfigFlagValues) Apply(cfg *XCPNgConfig, fs *flag.FlagSet) (XCPNgConfigApplied, error)
Apply copies explicit flag values. Provider validation must run afterward.
type XCPNgConfigVisitedFlags ¶ added in v0.61.0
type XCPNgConfigVisitedFlags struct {
Template bool
TemplateUUID bool
SR bool
SRUUID bool
Network bool
NetworkUUID bool
User bool
WorkRoot bool
}
XCPNgConfigVisitedFlags records raw flag visits, independently of application.
func XCPNgConfigFlagPresence ¶ added in v0.61.0
func XCPNgConfigFlagPresence(fs *flag.FlagSet) XCPNgConfigVisitedFlags
XCPNgConfigFlagPresence reports visits for tracked flag bindings.
Source Files
¶
- absence.go
- actions.go
- actions_flags.go
- actions_runner.go
- actions_runner_receipt.go
- actions_workspace.go
- adapter_connect.go
- adapter_ingress.go
- adapter_socket_linux.go
- adapter_socket_unix.go
- admin.go
- admin_create_retirement.go
- admin_lifetime.go
- admin_retained.go
- app.go
- artifacts.go
- artifacts_manifest.go
- artifacts_open_unix.go
- artifacts_private_other.go
- artifacts_publish.go
- attest.go
- auth.go
- aws.go
- aws_acquire_state.go
- aws_checkpoint_capture.go
- aws_fixed_attempt.go
- aws_fixed_create_intent.go
- aws_resources.go
- aws_ssh_cidr.go
- aws_windows_bootstrap.go
- azure.go
- azure_cleanup_retry.go
- azure_cli.go
- azure_login.go
- azure_orphan_cleanup.go
- azure_sdk.go
- bench.go
- bootstrap.go
- bootstrap_generated.go
- cache.go
- capabilities.go
- capacity.go
- capsule.go
- checkpoint.go
- checkpoint_abandon.go
- checkpoint_capture.go
- checkpoint_native.go
- checkpoint_readiness.go
- checkpoint_store.go
- claim.go
- claim_fence_probe_off.go
- claim_lock.go
- claim_replace_unix.go
- claim_transaction.go
- claims.go
- claims_prune.go
- cli_kong.go
- cloudinit_transport.go
- code.go
- command_capture.go
- command_capture_unix.go
- command_group.go
- command_group_linux.go
- command_intent.go
- command_routing.go
- config.go
- config_actions.go
- config_agentsandbox.go
- config_agentsandbox_generated.go
- config_anthropic_sandbox_runtime.go
- config_anthropic_sandbox_runtime_generated.go
- config_apple_container.go
- config_apple_vm.go
- config_aws_lambda_microvm.go
- config_aws_lambda_microvm_generated.go
- config_azure.go
- config_azure_dynamic_sessions.go
- config_azure_dynamic_sessions_generated.go
- config_azure_sandbox.go
- config_azure_sandbox_generated.go
- config_blacksmith.go
- config_blacksmith_generated.go
- config_blaxel.go
- config_blaxel_generated.go
- config_boxd.go
- config_boxd_generated.go
- config_cloud_run_sandbox.go
- config_cloud_run_sandbox_generated.go
- config_cloudflare.go
- config_cloudflare_generated.go
- config_cloudflare_sandbox.go
- config_cloudflare_sandbox_generated.go
- config_cmd.go
- config_coder.go
- config_coder_generated.go
- config_codesandbox.go
- config_codesandbox_generated.go
- config_crownest.go
- config_crownest_generated.go
- config_cua.go
- config_cua_generated.go
- config_cubesandbox.go
- config_cubesandbox_generated.go
- config_daytona.go
- config_daytona_generated.go
- config_digitalocean.go
- config_digitalocean_generated.go
- config_docker_sandbox.go
- config_docker_sandbox_generated.go
- config_e2b.go
- config_e2b_generated.go
- config_environment.go
- config_exe_dev.go
- config_exe_dev_generated.go
- config_fastapi_cloud.go
- config_fastapi_cloud_generated.go
- config_file_overlay.go
- config_firecracker.go
- config_firecracker_generated.go
- config_flag_application.go
- config_flag_registration.go
- config_freestyle.go
- config_freestyle_generated.go
- config_gcp.go
- config_git_seed_source.go
- config_github_codespaces.go
- config_github_codespaces_generated.go
- config_hostinger.go
- config_hostinger_generated.go
- config_hyperv.go
- config_hyperv_generated.go
- config_incus.go
- config_incus_generated.go
- config_input_coverage.go
- config_input_provenance.go
- config_input_values.go
- config_islo.go
- config_islo_generated.go
- config_kubevirt.go
- config_kubevirt_generated.go
- config_lambda.go
- config_linode.go
- config_linode_generated.go
- config_list_flag.go
- config_local_container.go
- config_local_container_generated.go
- config_lume.go
- config_lume_generated.go
- config_machine0.go
- config_machine0_generated.go
- config_modal.go
- config_modal_generated.go
- config_morph.go
- config_morph_generated.go
- config_multipass.go
- config_multipass_generated.go
- config_mxc.go
- config_mxc_generated.go
- config_namespace.go
- config_namespace_generated.go
- config_namespace_instance.go
- config_namespace_instance_generated.go
- config_nebius.go
- config_nebius_generated.go
- config_nomad.go
- config_nomad_generated.go
- config_nvidia_brev.go
- config_nvidia_brev_generated.go
- config_opencomputer.go
- config_opencomputer_generated.go
- config_opensandbox.go
- config_opensandbox_generated.go
- config_orgo.go
- config_orgo_generated.go
- config_ovh.go
- config_ovh_generated.go
- config_phala.go
- config_phala_generated.go
- config_provider_status.go
- config_proxmox.go
- config_proxmox_generated.go
- config_railway.go
- config_railway_generated.go
- config_runpod.go
- config_runpod_generated.go
- config_scaleway.go
- config_scaleway_generated.go
- config_sealos_devbox.go
- config_sealos_devbox_generated.go
- config_selectors.go
- config_semaphore.go
- config_semaphore_generated.go
- config_show_projection.go
- config_smolvm.go
- config_smolvm_generated.go
- config_sprites.go
- config_sprites_generated.go
- config_static.go
- config_static_generated.go
- config_superserve.go
- config_superserve_generated.go
- config_tart.go
- config_tart_generated.go
- config_tencentcloud.go
- config_tencentcloud_generated.go
- config_tenki.go
- config_tenki_generated.go
- config_tensorlake.go
- config_tensorlake_generated.go
- config_unikraft_cloud.go
- config_unikraft_cloud_generated.go
- config_upstash_box.go
- config_upstash_box_generated.go
- config_vast.go
- config_vast_generated.go
- config_vercel_sandbox.go
- config_vercel_sandbox_generated.go
- config_vultr.go
- config_vultr_generated.go
- config_wandb.go
- config_wandb_generated.go
- config_warpbuild.go
- config_warpbuild_generated.go
- config_windows_sandbox.go
- config_windows_sandbox_generated.go
- config_xcpng.go
- config_xcpng_generated.go
- connect.go
- control_ws.go
- controller.go
- controller_acquire_identity.go
- controller_command_linux.go
- controller_command_unix.go
- controller_fileops_unix.go
- controller_listener_linux.go
- controller_platform_unix.go
- controller_service.go
- controller_state_lock_unix.go
- controller_subprocess.go
- controller_syncdir_unix.go
- controller_token_unix.go
- coordinator.go
- coordinator_checkpoint.go
- coordinator_list.go
- coordinator_read_retry.go
- coordinator_read_retry_other.go
- coordinator_registration.go
- cp.go
- cp_archive.go
- cp_recovery.go
- cp_sftp_version_other.go
- cp_windows_sftp.go
- cp_windows_sftp_scripts.go
- creation_timing.go
- credential_input.go
- credential_provenance.go
- daemon_unix.go
- delegated_archive_sync.go
- delegated_downloads.go
- desktop.go
- desktop_input.go
- desktop_proof.go
- diagnostic_redaction.go
- direct_leases.go
- doctor.go
- doctor_all.go
- doctor_pond.go
- durable_directory.go
- durable_directory_other.go
- egress.go
- egress_cleanup_linux.go
- egress_runtime.go
- egress_upstream.go
- errors.go
- exec.go
- extend.go
- external_routing.go
- external_routing_secure_unix.go
- file_snapshot_unix.go
- fixed_allocation_result.go
- fixed_create_intent_common.go
- fixed_lease.go
- fixed_lease_claim.go
- fixed_lease_engine.go
- fixed_lease_protocol.go
- fixed_lease_resolve.go
- fixed_session_retention.go
- flag_metadata.go
- flags.go
- fmt.go
- gcp.go
- git_seed_diagnostics.go
- guest_expiry.go
- hcloud.go
- hcloud_userdata.go
- heartbeat.go
- herdr_plugin.go
- history.go
- hold.go
- http_redirect.go
- image.go
- image_capabilities.go
- image_evidence.go
- init.go
- init_detect.go
- inspect.go
- job.go
- json_output.go
- lease.go
- lease_flags.go
- lease_lifetime.go
- lease_ssh_root.go
- linux_readiness_generated.go
- list_render.go
- local_history_read.go
- local_history_reference.go
- local_history_store.go
- local_history_store_unix.go
- local_history_types.go
- machine0_fixed_create_intent.go
- macos_bootstrap.go
- macos_webvnc.go
- managed_state_spelling_other.go
- managed_state_sync.go
- marketplace.go
- media.go
- namespace_instance_proxy.go
- network.go
- open.go
- os_image.go
- os_image_resolve.go
- parallels.go
- pause.go
- pending_finish.go
- pending_finish_unix.go
- phala_proxy.go
- pond.go
- pond_acl.go
- pond_bridge.go
- pond_bridge_doctor.go
- pond_mesh.go
- pond_mesh_cancel_unix.go
- pond_mesh_daemon.go
- pool.go
- ports.go
- powershell_quote.go
- preflight_tools.go
- prewarm.go
- process_snapshot.go
- profiles.go
- provider_authentication.go
- provider_backend.go
- provider_categories_generated.go
- provider_classes.go
- provider_coordinator.go
- provider_coordinator_list.go
- provider_doctor.go
- provider_flag_application.go
- provider_labels.go
- provider_name.go
- providers.go
- providers_common.go
- providers_describe.go
- providers_sizes.go
- provisioning.go
- proxmox.go
- ready_pool.go
- ready_pool_access.go
- ready_pool_identity.go
- ready_pool_scrub.go
- receipt.go
- remote_filesystem.go
- remote_filesystem_native.go
- remote_runtime.go
- remote_runtime_cache.go
- remote_runtime_posix.go
- remote_runtime_prerequisite.go
- remote_runtime_scope.go
- remote_runtime_wsl.go
- remote_runtime_wsl_stage.go
- remote_runtime_wsl_upload.go
- repo.go
- rescue.go
- resource_requirements.go
- results.go
- results_parse.go
- results_remote.go
- results_runner.go
- rfb_screenshot.go
- run.go
- run_artifact_change.go
- run_artifact_match.go
- run_artifact_schema.go
- run_artifacts.go
- run_capture.go
- run_claim_admission.go
- run_download.go
- run_download_space_unix.go
- run_env_profile.go
- run_env_transport.go
- run_failure.go
- run_failure_download.go
- run_failure_output.go
- run_failure_output_unix.go
- run_fresh_pr.go
- run_local_output.go
- run_local_output_permissions_unix.go
- run_local_output_unix.go
- run_observability.go
- run_observation.go
- run_output_events.go
- run_phase.go
- run_preflight_macos.go
- run_preflight_venv.go
- run_recorder.go
- run_script.go
- run_timeline.go
- runlog.go
- runtime_clock.go
- screenshot.go
- serve.go
- serve_relay_control.go
- serve_relay_diagnostics.go
- serve_relay_transport.go
- shard.go
- share.go
- shell_env.go
- sleep_context.go
- slug.go
- source_copy.go
- source_snapshot.go
- source_snapshot_copy.go
- source_snapshot_symlink_other.go
- ssh.go
- ssh_child_environment.go
- ssh_cmd.go
- ssh_control_unix.go
- ssh_diagnostics_unix.go
- ssh_forward_startup.go
- ssh_host_trust.go
- ssh_input_other.go
- ssh_jump_candidates.go
- ssh_output.go
- ssh_readiness.go
- ssh_stream_other.go
- ssh_transfer.go
- ssh_transport_command_other.go
- ssh_transport_command_quote.go
- ssh_transport_permissions_other.go
- ssh_transport_session.go
- ssh_wsl_stage.go
- state_file.go
- static.go
- status.go
- sync_archive.go
- sync_cold.go
- sync_compression.go
- sync_digest.go
- sync_digest_linux.go
- sync_git_local.go
- sync_git_local_artifact.go
- sync_git_local_inventory.go
- sync_git_local_receiver.go
- sync_git_local_snapshot.go
- sync_git_overlay.go
- sync_git_overlay_parent_unix.go
- sync_git_overlay_times_unix.go
- sync_jj.go
- sync_plan.go
- sync_seed_delta.go
- sync_source.go
- sync_windows_target.go
- target.go
- telemetry.go
- timing.go
- tunnel.go
- usage.go
- version.go
- vnc.go
- watch.go
- wayvnc_relay.go
- webvnc.go
- webvnc_assets.go
- webvnc_bootstrap_file_nonwindows.go
- webvnc_cleanup_unix.go
- webvnc_command_unix.go
- webvnc_local.go
- webvnc_local_platform_supported.go
- webvnc_lock_unix.go
- webvnc_process_linux.go
- webvnc_tree_unix.go
- windows_desktop_launcher_service.go
- windows_interactive_task.go
- windows_powershell_transport.go
- work_root.go
- workspace_owner.go
- workspace_owner_control.go
- workspace_owner_diagnostic.go
- workspace_owner_wsl.go