Documentation
¶
Index ¶
- Constants
- func AcquireAttempts(keep bool) int
- func AllocateDirectLeaseSlug(leaseID string, servers []Server) string
- func AllowedEnv(allow []string) map[string]string
- func AsExitError(err error, target *ExitError) bool
- func Blank(value, fallback string) string
- func BootstrapAWSWindowsDesktop(ctx context.Context, cfg Config, target *SSHTarget, publicKey string, ...) error
- func BootstrapWaitTimeout(cfg Config) time.Duration
- func CheckSyncPreflight(manifest SyncManifest, cfg Config, force bool, stderr io.Writer) error
- func ClaimLeaseForRepoProvider(leaseID, slug, provider, repoRoot string, idleTimeout time.Duration, ...) error
- func DeleteServer(ctx context.Context, cfg Config, server Server) error
- func DirectLeaseLabels(cfg Config, leaseID, slug, provider, market string, keep bool, now time.Time) map[string]string
- func DurationMinutesCeil(duration time.Duration) int
- func EnsureAWSSSHCIDRs(ctx context.Context, cfg *Config)
- func EnsureTestboxKey(leaseID string) (string, string, error)
- func EnsureTestboxKeyForConfig(cfg Config, leaseID string) (string, string, error)
- func FlagWasSet(fs *flag.FlagSet, name string) bool
- func IdleForString(value string, now time.Time) string
- func IsBootstrapWaitError(err error) bool
- func IsCanonicalLeaseID(value string) bool
- func IsGCPNotFound(err error) bool
- func IsShellEnvAssignment(word string) bool
- func LeadingEnvAssignment(command []string) 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 MoveStoredTestboxKey(oldLeaseID, newLeaseID string) error
- func NewLeaseID() string
- func NewLeaseSlug(leaseID string) string
- func NoProviderFlags() any
- func NormalizeLeaseSlug(value string) string
- func ParseServerID(s string) (int64, bool)
- func ProviderKeyForLease(leaseID string) string
- func RegisterProvider(provider Provider)
- func RejectDelegatedSyncOptions(provider string, req RunRequest) error
- func RemoteJoin(cfg Config, parts ...string) string
- func RemoveLeaseClaim(leaseID string)
- func RemoveStoredTestboxKey(leaseID string)
- func Run(ctx context.Context, args []string) error
- func ServerSlug(server Server) string
- func ServerTypeForProviderClass(provider, class string) string
- 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 ShouldUseShell(command []string) bool
- func StaticLease(cfg Config) (Server, SSHTarget, string, error)
- func SummarizeJSON(data []byte) string
- func SyncExcludes(root string, cfg Config) ([]string, error)
- func TestboxKeyPath(leaseID string) (string, error)
- func TouchDirectLeaseLabels(labels map[string]string, cfg Config, state string, now time.Time) map[string]string
- 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 WriteTimingJSON(w io.Writer, report TimingReport) error
- type AWSClient
- func (c *AWSClient) CreateServerWithFallback(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool, ...) (Server, Config, error)
- func (c *AWSClient) DeleteSSHKey(ctx context.Context, name 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) GetServer(ctx context.Context, id string) (Server, error)
- func (c *AWSClient) ListCrabboxServers(ctx context.Context) ([]Server, 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) WaitForServerIP(ctx context.Context, id string) (Server, error)
- type AccessConfig
- type AcquireRequest
- type ActionsConfig
- type App
- type AzureClient
- func (c *AzureClient) CreateServerWithFallback(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool, ...) (Server, Config, error)
- func (c *AzureClient) DeleteServer(ctx context.Context, name string) error
- func (c *AzureClient) EnsureSharedInfra(ctx context.Context) error
- func (c *AzureClient) GetServer(ctx context.Context, name string) (Server, error)
- func (c *AzureClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
- 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 Backend
- type BlacksmithConfig
- type CacheConfig
- type CapacityConfig
- type CapacityHint
- type CleanupBackend
- type CleanupRequest
- type Clock
- type CommandRunner
- type Config
- type CoordinatorArtifactUploadGrant
- type CoordinatorArtifactUploadInput
- type CoordinatorArtifactUploadRequest
- type CoordinatorArtifactUploadResponse
- type CoordinatorClient
- func (c *CoordinatorClient) AdminDeleteLease(ctx context.Context, id string) (CoordinatorLease, error)
- func (c *CoordinatorClient) AdminLeases(ctx context.Context, state, owner, org string, limit int) ([]CoordinatorLease, error)
- func (c *CoordinatorClient) AdminReleaseLease(ctx context.Context, id string, deleteServer bool) (CoordinatorLease, 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) CreateArtifactUploads(ctx context.Context, input CoordinatorArtifactUploadRequest) (CoordinatorArtifactUploadResponse, 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) (CoordinatorImage, error)
- func (c *CoordinatorClient) CreateLease(ctx context.Context, cfg Config, publicKey string, keep bool, ...) (CoordinatorLease, error)
- func (c *CoordinatorClient) CreateRun(ctx context.Context, leaseID string, cfg Config, command []string) (CoordinatorRun, error)
- func (c *CoordinatorClient) CreateWebVNCTicket(ctx context.Context, leaseID string) (CoordinatorWebVNCTicket, 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) FinishRun(ctx context.Context, runID string, exitCode int, sync, command time.Duration, ...) (CoordinatorRun, error)
- func (c *CoordinatorClient) GetLease(ctx context.Context, id string) (CoordinatorLease, error)
- func (c *CoordinatorClient) Health(ctx context.Context) error
- func (c *CoordinatorClient) Image(ctx context.Context, imageID string) (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) PollGitHubLogin(ctx context.Context, loginID, pollSecret string) (CoordinatorGitHubLoginPoll, error)
- func (c *CoordinatorClient) Pool(ctx context.Context, cfg Config) ([]CoordinatorMachine, error)
- func (c *CoordinatorClient) PromoteImage(ctx context.Context, imageID string) (CoordinatorImage, error)
- func (c *CoordinatorClient) ProviderReadiness(ctx context.Context, provider string) (CoordinatorProviderReadiness, error)
- func (c *CoordinatorClient) ReleaseLease(ctx context.Context, id string, deleteServer bool) (CoordinatorLease, error)
- func (c *CoordinatorClient) ResetWebVNC(ctx context.Context, leaseID string) (CoordinatorWebVNCReset, 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) Runs(ctx context.Context, leaseID, owner, org, state string, limit int) ([]CoordinatorRun, error)
- func (c *CoordinatorClient) StartGitHubLogin(ctx context.Context, pollSecretHash, provider 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) TouchLeaseWithTelemetry(ctx context.Context, id string, telemetry *LeaseTelemetry) (CoordinatorLease, error)
- func (c *CoordinatorClient) UpdateLeaseIdleTimeout(ctx context.Context, id string, idleTimeout time.Duration) (CoordinatorLease, error)
- func (c *CoordinatorClient) UpdateLeaseIdleTimeoutWithTelemetry(ctx context.Context, id 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) 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 CoordinatorEgressStatus
- type CoordinatorEgressTicket
- type CoordinatorExternalRunner
- type CoordinatorExternalRunnerSyncResponse
- type CoordinatorGitHubLoginPoll
- type CoordinatorGitHubLoginStart
- type CoordinatorHTTPError
- type CoordinatorID
- type CoordinatorImage
- type CoordinatorLease
- type CoordinatorMachine
- type CoordinatorMode
- type CoordinatorProviderReadiness
- type CoordinatorRun
- type CoordinatorRunEvent
- type CoordinatorRunEventInput
- type CoordinatorRunEventResponse
- type CoordinatorRunEventsResponse
- type CoordinatorRunResponse
- type CoordinatorRunsResponse
- type CoordinatorShare
- type CoordinatorShareRole
- type CoordinatorUsageGroup
- type CoordinatorUsageResponse
- type CoordinatorUsageSummary
- type CoordinatorWebVNCEvent
- type CoordinatorWebVNCReset
- type CoordinatorWebVNCStatus
- type CoordinatorWebVNCTicket
- type CoordinatorWhoami
- type DaytonaConfig
- type DelegatedRunBackend
- type E2BConfig
- type ExitError
- type Feature
- type FeatureSet
- 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) SetLabels(ctx context.Context, name string, labels map[string]string) error
- func (c *GCPClient) WaitForServerIP(ctx context.Context, name string) (Server, error)
- type GitHubRepo
- type HetznerClient
- func (c *HetznerClient) CreateServer(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool) (Server, error)
- func (c *HetznerClient) CreateServerWithFallback(ctx context.Context, cfg Config, publicKey, leaseID, slug string, keep bool, ...) (Server, Config, 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, 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 IsloConfig
- type JSONListBackend
- type JobActionsConfig
- type JobConfig
- type JobHydrateConfig
- type LeaseClaim
- type LeaseOptions
- type LeaseTarget
- type LeaseTelemetry
- type LeaseView
- type ListRequest
- type LocalCommandRequest
- type LocalCommandResult
- type NamespaceConfig
- type NetworkMode
- type Provider
- type ProviderKind
- type ProviderSpec
- type ProvisioningAttempt
- type ReleaseLeaseRequest
- type Repo
- type ResolveRequest
- type ResultsConfig
- type RunRequest
- type RunResult
- type RunTelemetrySummary
- type Runtime
- type SSHKey
- type SSHLeaseBackend
- type SSHTarget
- type SemaphoreConfig
- type Server
- type SpritesConfig
- type StaticConfig
- type StatusRequest
- type StatusView
- type StopRequest
- type SyncConfig
- type SyncManifest
- type TailscaleConfig
- type TailscaleMetadata
- type TargetSpec
- type TestFailure
- type TestResultSummary
- type TimingPhase
- type TimingReport
- type TouchRequest
- type WarmupRequest
Constants ¶
View Source
const ( TargetLinux = targetLinux TargetMacOS = targetMacOS TargetWindows = targetWindows )
Variables ¶
This section is empty.
Functions ¶
func AcquireAttempts ¶ added in v0.6.0
func AllocateDirectLeaseSlug ¶ added in v0.6.0
func AllowedEnv ¶ added in v0.6.0
func AsExitError ¶
func BootstrapAWSWindowsDesktop ¶ added in v0.6.0
func BootstrapWaitTimeout ¶ added in v0.6.0
func CheckSyncPreflight ¶ added in v0.6.0
func ClaimLeaseForRepoProvider ¶ added in v0.6.0
func DeleteServer ¶ added in v0.6.0
func DirectLeaseLabels ¶ added in v0.6.0
func DurationMinutesCeil ¶ added in v0.6.0
func EnsureAWSSSHCIDRs ¶ added in v0.6.0
func EnsureTestboxKey ¶ added in v0.6.0
func EnsureTestboxKeyForConfig ¶ added in v0.6.0
func IsBootstrapWaitError ¶ added in v0.6.0
func IsCanonicalLeaseID ¶ added in v0.6.0
func IsGCPNotFound ¶ added in v0.11.0
func IsShellEnvAssignment ¶ added in v0.6.0
func LeadingEnvAssignment ¶ added in v0.6.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 MoveStoredTestboxKey ¶ added in v0.6.0
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 NormalizeLeaseSlug ¶ added in v0.6.0
func ParseServerID ¶ added in v0.6.0
func ProviderKeyForLease ¶ added in v0.6.0
func RegisterProvider ¶ added in v0.6.0
func RegisterProvider(provider Provider)
func RejectDelegatedSyncOptions ¶ added in v0.6.0
func RejectDelegatedSyncOptions(provider string, req RunRequest) error
func RemoteJoin ¶ added in v0.6.0
func RemoveLeaseClaim ¶ added in v0.6.0
func RemoveLeaseClaim(leaseID string)
func RemoveStoredTestboxKey ¶ added in v0.6.0
func RemoveStoredTestboxKey(leaseID string)
func ServerSlug ¶ added in v0.6.0
func ServerTypeForProviderClass ¶ added in v0.6.0
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 ShouldUseShell ¶ added in v0.6.0
func SummarizeJSON ¶ added in v0.6.0
func TestboxKeyPath ¶ added in v0.6.0
func TouchDirectLeaseLabels ¶ added in v0.6.0
func WaitForSSH ¶ added in v0.6.0
func WaitForSSHReady ¶ added in v0.6.0
func WriteTimingJSON ¶ added in v0.6.0
func WriteTimingJSON(w io.Writer, report TimingReport) error
Types ¶
type AWSClient ¶
type AWSClient struct {
// contains filtered or unexported fields
}
func NewAWSClient ¶ added in v0.6.0
func (*AWSClient) CreateServerWithFallback ¶
func (*AWSClient) DeleteSSHKey ¶
func (*AWSClient) DeleteServer ¶
func (*AWSClient) EnsureSSHKey ¶
func (*AWSClient) ListCrabboxServers ¶
func (*AWSClient) SpotPlacementScores ¶
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
}
type ActionsConfig ¶
type AzureClient ¶ added in v0.8.0
type AzureClient struct {
SubscriptionID string
Location string
ResourceGroup string
VNet string
Subnet string
NSG string
SSHCIDRs []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) CreateServerWithFallback ¶ added in v0.8.0
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) ListCrabboxServers ¶ added in v0.8.0
func (c *AzureClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
func (*AzureClient) WaitForServerIP ¶ added in v0.8.0
type Backend ¶ added in v0.6.0
type Backend interface {
Spec() ProviderSpec
}
type BlacksmithConfig ¶ added in v0.2.0
type CacheConfig ¶
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 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 CommandRunner ¶ added in v0.6.0
type CommandRunner interface {
Run(ctx context.Context, req LocalCommandRequest) (LocalCommandResult, error)
}
type Config ¶
type Config struct {
Profile string
Provider string
TargetOS string
WindowsMode string
Desktop bool
Browser bool
Code bool
Network NetworkMode
Class string
ServerType string
ServerTypeExplicit bool
Coordinator string
CoordToken string
CoordAdminToken string
Access AccessConfig
Location string
Image string
AWSRegion string
AWSAMI string
AWSSGID string
AWSSubnetID string
AWSProfile string
AWSRootGB int32
AWSSSHCIDRs []string
AWSMacHostID string
AzureSubscription string
AzureTenant string
AzureClientID string
AzureLocation string
AzureResourceGroup string
AzureImage string
AzureVNet string
AzureSubnet string
AzureNSG string
AzureSSHCIDRs []string
GCPProject string
GCPZone string
GCPImage string
GCPNetwork string
GCPSubnet string
GCPTags []string
GCPSSHCIDRs []string
GCPRootGB int64
GCPServiceAccount string
SSHUser string
SSHKey string
SSHPort string
SSHFallbackPorts []string
ProviderKey string
WorkRoot string
TTL time.Duration
IdleTimeout time.Duration
Sync SyncConfig
EnvAllow []string
Capacity CapacityConfig
Actions ActionsConfig
Blacksmith BlacksmithConfig
Namespace NamespaceConfig
Daytona DaytonaConfig
E2B E2BConfig
Islo IsloConfig
Semaphore SemaphoreConfig
Sprites SpritesConfig
Tailscale TailscaleConfig
Static StaticConfig
Results ResultsConfig
Cache CacheConfig
Jobs map[string]JobConfig
// contains filtered or unexported fields
}
func BaseConfig ¶ added in v0.6.0
func BaseConfig() Config
type CoordinatorArtifactUploadGrant ¶ added in v0.8.0
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 CoordinatorArtifactUploadResponse struct {
Backend string `json:"backend"`
Bucket string `json:"bucket"`
Prefix string `json:"prefix"`
ExpiresAt string `json:"expiresAt"`
Files []CoordinatorArtifactUploadGrant `json:"files"`
}
type CoordinatorClient ¶
type CoordinatorClient struct {
BaseURL string
Token string
Access AccessConfig
Client *http.Client
}
func (*CoordinatorClient) AdminDeleteLease ¶
func (c *CoordinatorClient) AdminDeleteLease(ctx context.Context, id string) (CoordinatorLease, error)
func (*CoordinatorClient) AdminLeases ¶
func (c *CoordinatorClient) AdminLeases(ctx context.Context, state, owner, org string, limit int) ([]CoordinatorLease, error)
func (*CoordinatorClient) AdminReleaseLease ¶
func (c *CoordinatorClient) AdminReleaseLease(ctx context.Context, id string, deleteServer bool) (CoordinatorLease, error)
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) CreateArtifactUploads ¶ added in v0.8.0
func (c *CoordinatorClient) CreateArtifactUploads(ctx context.Context, input CoordinatorArtifactUploadRequest) (CoordinatorArtifactUploadResponse, 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) (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) CreateRun ¶
func (c *CoordinatorClient) CreateRun(ctx context.Context, leaseID string, cfg Config, command []string) (CoordinatorRun, error)
func (*CoordinatorClient) CreateWebVNCTicket ¶ added in v0.5.0
func (c *CoordinatorClient) CreateWebVNCTicket(ctx context.Context, leaseID string) (CoordinatorWebVNCTicket, 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) FinishRun ¶
func (c *CoordinatorClient) FinishRun(ctx context.Context, runID string, exitCode int, sync, command time.Duration, log string, truncated bool, results *TestResultSummary, telemetry *RunTelemetrySummary) (CoordinatorRun, error)
func (*CoordinatorClient) GetLease ¶
func (c *CoordinatorClient) GetLease(ctx context.Context, id string) (CoordinatorLease, error)
func (*CoordinatorClient) Image ¶ added in v0.3.0
func (c *CoordinatorClient) Image(ctx context.Context, imageID string) (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) PollGitHubLogin ¶ added in v0.2.0
func (c *CoordinatorClient) PollGitHubLogin(ctx context.Context, loginID, pollSecret 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) (CoordinatorImage, error)
func (*CoordinatorClient) ProviderReadiness ¶ added in v0.10.0
func (c *CoordinatorClient) ProviderReadiness(ctx context.Context, provider string) (CoordinatorProviderReadiness, error)
func (*CoordinatorClient) ReleaseLease ¶
func (c *CoordinatorClient) ReleaseLease(ctx context.Context, id string, deleteServer bool) (CoordinatorLease, error)
func (*CoordinatorClient) ResetWebVNC ¶ added in v0.7.0
func (c *CoordinatorClient) ResetWebVNC(ctx context.Context, leaseID string) (CoordinatorWebVNCReset, 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) 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 string) (CoordinatorGitHubLoginStart, error)
func (*CoordinatorClient) SyncExternalRunners ¶ added in v0.6.0
func (c *CoordinatorClient) SyncExternalRunners(ctx context.Context, provider string, runners []CoordinatorExternalRunner) (CoordinatorExternalRunnerSyncResponse, error)
func (*CoordinatorClient) TouchLease ¶
func (c *CoordinatorClient) TouchLease(ctx context.Context, id 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) UpdateLeaseIdleTimeout ¶
func (c *CoordinatorClient) UpdateLeaseIdleTimeout(ctx context.Context, id 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) 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) 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"`
MaxMonthlyUSD float64 `json:"maxMonthlyUSD"`
MaxMonthlyUSDPerOwner float64 `json:"maxMonthlyUSDPerOwner"`
MaxMonthlyUSDPerOrg float64 `json:"maxMonthlyUSDPerOrg"`
}
type CoordinatorEgressStatus ¶ added in v0.7.0
type CoordinatorEgressStatus struct {
LeaseID string `json:"leaseID"`
Slug string `json:"slug,omitempty"`
SessionID string `json:"sessionID,omitempty"`
Profile string `json:"profile,omitempty"`
Allow []string `json:"allow,omitempty"`
HostConnected bool `json:"hostConnected"`
ClientConnected bool `json:"clientConnected"`
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 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"`
Error string `json:"error,omitempty"`
}
type CoordinatorGitHubLoginStart ¶ added in v0.2.0
type CoordinatorHTTPError ¶ added in v0.9.0
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 CoordinatorLease ¶
type CoordinatorLease struct {
ID string `json:"id"`
Slug string `json:"slug,omitempty"`
Provider string `json:"provider"`
TargetOS string `json:"target,omitempty"`
WindowsMode string `json:"windowsMode,omitempty"`
Desktop bool `json:"desktop,omitempty"`
Browser bool `json:"browser,omitempty"`
Code bool `json:"code,omitempty"`
Tailscale *TailscaleMetadata `json:"tailscale,omitempty"`
Region string `json:"region,omitempty"`
Owner string `json:"owner"`
Org string `json:"org"`
Profile string `json:"profile"`
Class string `json:"class"`
ServerType string `json:"serverType"`
RequestedServerType string `json:"requestedServerType,omitempty"`
Market string `json:"market,omitempty"`
ProvisioningAttempts []ProvisioningAttempt `json:"provisioningAttempts,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"`
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"`
}
type CoordinatorMachine ¶
type CoordinatorMode ¶ added in v0.6.0
type CoordinatorMode string
const ( CoordinatorNever CoordinatorMode = "never" CoordinatorSupported CoordinatorMode = "supported" )
type CoordinatorProviderReadiness ¶ added in v0.10.0
type CoordinatorRun ¶
type CoordinatorRun struct {
ID string `json:"id"`
LeaseID string `json:"leaseID"`
Slug string `json:"slug,omitempty"`
Owner string `json:"owner"`
Org string `json:"org"`
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"`
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"`
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 {
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 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 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"`
ByOwner []CoordinatorUsageGroup `json:"byOwner"`
ByOrg []CoordinatorUsageGroup `json:"byOrg"`
ByProvider []CoordinatorUsageGroup `json:"byProvider"`
ByServerType []CoordinatorUsageGroup `json:"byServerType"`
}
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 {
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 CoordinatorWhoami ¶
type DaytonaConfig ¶ added in v0.6.0
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(ctx context.Context, req StopRequest) error
}
type FeatureSet ¶ added in v0.6.0
type FeatureSet []Feature
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
type GitHubRepo ¶
func (GitHubRepo) Slug ¶
func (r GitHubRepo) Slug() string
type HetznerClient ¶
func NewHetznerClient ¶ added in v0.6.0
func NewHetznerClient() (*HetznerClient, error)
func (*HetznerClient) CreateServer ¶
func (*HetznerClient) CreateServerWithFallback ¶
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) ListCrabboxServers ¶
func (c *HetznerClient) ListCrabboxServers(ctx context.Context) ([]Server, error)
type IsloConfig ¶ added in v0.6.0
type JSONListBackend ¶ added in v0.6.0
type JobActionsConfig ¶ added in v0.11.0
type JobConfig ¶ added in v0.11.0
type JobConfig struct {
Provider string
Target string
WindowsMode string
Profile string
Class string
ServerType string
Market string
TTL time.Duration
IdleTimeout time.Duration
Desktop *bool
Browser *bool
Code *bool
Network string
Hydrate JobHydrateConfig
Actions JobActionsConfig
Shell bool
Command string
NoSync bool
SyncOnly bool
Checksum *bool
ForceSyncLarge bool
JUnit []string
Downloads []string
Stop string
}
type JobHydrateConfig ¶ added in v0.11.0
type LeaseClaim ¶ added in v0.6.0
type LeaseClaim = leaseClaim
func ReadLeaseClaim ¶ added in v0.6.0
func ReadLeaseClaim(leaseID string) (LeaseClaim, error)
func ResolveLeaseClaim ¶ added in v0.6.0
func ResolveLeaseClaim(identifier string) (LeaseClaim, bool, error)
type LeaseOptions ¶ added in v0.6.0
type LeaseOptions struct {
TargetOS string
WindowsMode string
Class string
ServerType string
IdleTimeout time.Duration
TTL time.Duration
Desktop bool
Browser bool
Code bool
Tailscale TailscaleConfig
WorkRoot string
SSHUser string
SSHPort string
SSHKey string
Sync SyncConfig
Results ResultsConfig
EnvAllow []string
ActionsRunner bool
}
type LeaseTarget ¶ added in v0.6.0
type LeaseTarget struct {
Server Server
SSH SSHTarget
LeaseID string
Coordinator *CoordinatorClient
}
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"`
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 ListRequest ¶ added in v0.6.0
type ListRequest struct {
Options LeaseOptions
All bool
}
type LocalCommandRequest ¶ added in v0.6.0
type LocalCommandResult ¶ added in v0.6.0
type NamespaceConfig ¶ added in v0.9.0
type NetworkMode ¶ added in v0.5.0
type NetworkMode string
const ( NetworkAuto NetworkMode = "auto" NetworkTailscale NetworkMode = "tailscale" NetworkPublic NetworkMode = "public" )
type Provider ¶ added in v0.6.0
type Provider interface {
Name() string
Aliases() []string
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 ProviderKind ¶ added in v0.6.0
type ProviderKind string
const ( ProviderKindSSHLease ProviderKind = "ssh-lease" ProviderKindDelegatedRun ProviderKind = "delegated-run" )
type ProviderSpec ¶ added in v0.6.0
type ProviderSpec struct {
Name string
Kind ProviderKind
Targets []TargetSpec
Features FeatureSet
Coordinator CoordinatorMode
}
type ProvisioningAttempt ¶ added in v0.3.0
type ReleaseLeaseRequest ¶ added in v0.6.0
type ReleaseLeaseRequest struct {
Lease LeaseTarget
Force bool
}
type ResolveRequest ¶ added in v0.6.0
type ResolveRequest struct {
Repo Repo
Options LeaseOptions
ID string
Reclaim bool
ReleaseOnly bool
}
type ResultsConfig ¶
type ResultsConfig struct {
JUnit []string
}
type RunRequest ¶ added in v0.6.0
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 SSHLeaseBackend ¶ added in v0.6.0
type SSHLeaseBackend interface {
Backend
Acquire(ctx context.Context, req AcquireRequest) (LeaseTarget, error)
Resolve(ctx context.Context, req ResolveRequest) (LeaseTarget, error)
List(ctx context.Context, req ListRequest) ([]LeaseView, error)
ReleaseLease(ctx context.Context, req ReleaseLeaseRequest) error
Touch(ctx context.Context, req TouchRequest) (Server, error)
}
type SSHTarget ¶
type SSHTarget struct {
User string
Host string
Key string
Port string
FallbackPorts []string
TargetOS string
WindowsMode string
ReadyCheck string
AuthSecret bool
NetworkKind NetworkMode
SSHConfigProxy bool
ProxyCommand string
}
func SSHTargetFromConfig ¶ added in v0.6.0
type SemaphoreConfig ¶ added in v0.8.0
type Server ¶
type Server struct {
CloudID string
Provider string
ID int64 `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
Labels map[string]string `json:"labels"`
PublicNet struct {
IPv4 struct {
IP string `json:"ip"`
} `json:"ipv4"`
} `json:"public_net"`
ServerType struct {
Name string `json:"name"`
} `json:"server_type"`
}
func FindServerByAlias ¶ added in v0.6.0
func TouchDirectLeaseBestEffort ¶ added in v0.6.0
func WaitForServerIP ¶ added in v0.6.0
type SpritesConfig ¶ added in v0.9.0
type StaticConfig ¶ added in v0.4.0
type StatusRequest ¶ added in v0.6.0
type StatusRequest struct {
Options LeaseOptions
ID string
Wait bool
WaitTimeout time.Duration
}
type StatusView ¶ added in v0.6.0
type StatusView struct {
ID string `json:"id"`
Slug string `json:"slug,omitempty"`
Provider string `json:"provider"`
TargetOS string `json:"target"`
WindowsMode string `json:"windowsMode,omitempty"`
State string `json:"state"`
ServerID string `json:"serverId"`
ServerType string `json:"serverType"`
Host string `json:"host"`
Network NetworkMode `json:"network"`
Tailscale *TailscaleMetadata `json:"tailscale,omitempty"`
SSHHost string `json:"sshHost"`
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"`
Labels map[string]string `json:"labels,omitempty"`
HasHost bool `json:"hasHost"`
Ready bool `json:"ready"`
Telemetry *LeaseTelemetry `json:"telemetry,omitempty"`
TelemetryHistory []*LeaseTelemetry `json:"telemetryHistory,omitempty"`
}
type StopRequest ¶ added in v0.6.0
type StopRequest struct {
Options LeaseOptions
ID string
}
type SyncConfig ¶
type SyncManifest ¶
func BuildSyncManifest ¶ added in v0.6.0
func BuildSyncManifest(root string, excludes []string) (SyncManifest, error)
func (SyncManifest) DeletedNUL ¶
func (m SyncManifest) DeletedNUL() []byte
func (SyncManifest) NUL ¶
func (m SyncManifest) NUL() []byte
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"`
ExitNode string `json:"exitNode,omitempty"`
ExitNodeAllowLANAccess bool `json:"exitNodeAllowLanAccess,omitempty"`
}
type TargetSpec ¶ added in v0.6.0
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 TimingReport ¶ added in v0.6.0
type TimingReport struct {
Provider string `json:"provider"`
LeaseID string `json:"leaseId,omitempty"`
Slug string `json:"slug,omitempty"`
SyncMs int64 `json:"syncMs"`
SyncPhases []TimingPhase `json:"syncPhases,omitempty"`
SyncSkipped bool `json:"syncSkipped"`
SyncDelegated bool `json:"syncDelegated,omitempty"`
CommandMs int64 `json:"commandMs"`
TotalMs int64 `json:"totalMs"`
ExitCode int `json:"exitCode"`
ActionsRunURL string `json:"actionsRunUrl,omitempty"`
}
type TouchRequest ¶ added in v0.6.0
type TouchRequest struct {
Lease LeaseTarget
State string
IdleTimeout time.Duration
}
type WarmupRequest ¶ added in v0.6.0
Source Files
¶
- actions.go
- admin.go
- app.go
- artifacts.go
- artifacts_publish.go
- auth.go
- aws.go
- aws_ssh_cidr.go
- aws_windows_bootstrap.go
- azure.go
- bootstrap.go
- cache.go
- capabilities.go
- claim.go
- cli_kong.go
- code.go
- compat.go
- config.go
- config_cmd.go
- control_ws.go
- coordinator.go
- daemon_unix.go
- desktop.go
- desktop_input.go
- desktop_proof.go
- doctor.go
- egress.go
- errors.go
- flags.go
- fmt.go
- gcp.go
- hcloud.go
- history.go
- image.go
- init.go
- inspect.go
- job.go
- lease.go
- lease_flags.go
- media.go
- network.go
- pool.go
- provider_backend.go
- provider_coordinator.go
- provider_exports.go
- provider_labels.go
- providers_common.go
- repo.go
- rescue.go
- results.go
- results_parse.go
- results_remote.go
- run.go
- run_download.go
- run_output_events.go
- run_recorder.go
- runlog.go
- screenshot.go
- share.go
- slug.go
- ssh.go
- ssh_cmd.go
- static.go
- status.go
- sync_plan.go
- sync_windows_target.go
- target.go
- telemetry.go
- timing.go
- usage.go
- version.go
- vnc.go
- webvnc.go
Click to show internal directories.
Click to hide internal directories.