Documentation ¶
Index ¶
- Constants
- Variables
- func CleanSubdomain(in string) string
- func GetDefaultProjectFolderNameFromRepo(repo string) string
- func MakeIDSuffix(id string) string
- func MapContainsKey[K comparable, V any](m map[K]V, key K) bool
- type Application
- type AuthTokens
- type EmptyRepo
- type ExecName
- type ExecOptions
- type ExecStage
- type ExecType
- type ExecV0
- type ExecV1
- type ExecsV0
- type ExecsV1
- type GitRepo
- type GitRepoOptions
- type GlobalUserType
- type IDEConfig
- type ModifyWorkspaceRequest
- type OnboardingData
- type Organization
- type PathExec
- type RepoName
- type RepoType
- type RepoV0
- type RepoV1
- type ReposV0
- type ReposV1
- type RequestCreateWorkspace
- type StringExec
- type UpdateUser
- type User
- type UserKeys
- type VSCodeConfig
- type VscodeExtensionMetadata
- type Workspace
- func (w Workspace) GetHostname() string
- func (w Workspace) GetID() string
- func (w Workspace) GetIsStoppable() bool
- func (w Workspace) GetLocalIdentifier() WorkspaceLocalID
- func (w Workspace) GetNodeIdentifierForVPN() string
- func (w Workspace) GetPort() int
- func (w Workspace) GetProjectFolderPath() string
- func (w Workspace) GetSSHURL() string
- func (w Workspace) GetStopTimeout() time.Duration
- func (w Workspace) GetUsername() string
- func (w Workspace) IsLegacy() bool
- type WorkspaceGroup
- type WorkspaceGroupKeys
- type WorkspaceLocalID
- type WorkspaceMetaData
- type WorkspaceTemplate
- type WorkspaceWithMeta
Constants ¶
View Source
const ( Running = "RUNNING" Starting = "STARTING" Stopping = "STOPPING" Deploying = "DEPLOYING" Stopped = "STOPPED" Deleting = "DELETING" Failure = "FAILURE" )
Workspace Status
View Source
const ( Healthy = "HEALTHY" Unhealthy = "UNHEALTHY" )
Health Status
View Source
const WorkspaceGroupDevPlane = "devplane-brev-1"
Variables ¶
View Source
var LegacyWorkspaceGroups = map[string]bool{ "k8s.brevstack.com": true, "brev-test-brevtenant-cluster": true, }
Functions ¶
func CleanSubdomain ¶ added in v0.6.60
lowercase, replace whitespace with '-', remove all [^a-z0-9-], trim '-' front and back
func GetDefaultProjectFolderNameFromRepo ¶ added in v0.6.86
func MakeIDSuffix ¶ added in v0.6.67
func MapContainsKey ¶ added in v0.6.112
func MapContainsKey[K comparable, V any](m map[K]V, key K) bool
Types ¶
type Application ¶
type AuthTokens ¶
type EmptyRepo ¶ added in v0.6.84
type EmptyRepo struct {
EmptyDirectory *string `json:"emptyRepoDirectory,omitempty"` // need to be different names than gitrepo
}
type ExecOptions ¶ added in v0.6.84
type ExecType ¶ added in v0.6.84
type ExecType string
const PathExecType ExecType = "path"
const StringExecType ExecType = "string"
type ExecV1 ¶ added in v0.6.84
type ExecV1 struct { Type ExecType `json:"type"` // string or path // default=str Stage *ExecStage `json:"stage"` // start, build // default=start ExecOptions StringExec PathExec }
type GitRepo ¶ added in v0.6.84
type GitRepo struct { Repository string `json:"repository,omitempty"` GitRepoOptions }
type GitRepoOptions ¶ added in v0.6.84
type GlobalUserType ¶ added in v0.6.74
type GlobalUserType string
const ( Admin GlobalUserType = "Admin" Standard GlobalUserType = "Standard" )
type IDEConfig ¶ added in v0.6.71
type IDEConfig struct { DefaultWorkingDir string `json:"defaultWorkingDir"` VSCode VSCodeConfig `json:"vscode"` } // @Name IDEConfig
type ModifyWorkspaceRequest ¶ added in v0.6.97
type ModifyWorkspaceRequest struct { WorkspaceClass string `json:"workspaceClassId"` IsStoppable *bool `json:"isStoppable"` StartupScriptPath string `json:"startupScriptPath"` Name string `json:"name"` Description string `json:"description"` IDEConfig IDEConfig `json:"ideConfig"` Repos ReposV0 `json:"repos"` Execs ExecsV0 `json:"execs"` ReposV1 *ReposV1 `json:"reposV1"` ExecsV1 *ExecsV1 `json:"execsV1"` InstanceType string `json:"instanceType"` }
type OnboardingData ¶ added in v0.6.91
type OnboardingData struct { Editor string `json:"editor"` SSH bool `json:"ssh"` UsedCLI bool `json:"usedCli"` FinishedOnboarding bool `json:"finishedOnboarding"` CliOnboardingSkipped bool `json:"cliOnboardingSkipped"` CliOnboardingIntro bool `json:"cliOnboardingIntro"` CliOnboardingLs bool `json:"cliOnboardingLs"` CliOnboardingBrevOpen bool `json:"cliOnboardingBrevOpen"` CliOnboardingBrevShell bool `json:"cliOnboardingBrevShell"` CliOnboardingCompleted bool `json:"cliOnboardingCompleted"` }
type Organization ¶
type PathExec ¶ added in v0.6.84
type PathExec struct {
ExecPath string `json:"execPath,omitempty"`
}
type RepoV0 ¶ added in v0.6.71
type RepoV0 struct { Repository string `json:"repository"` Branch string `json:"branch"` // branch, tag, commit Directory string `json:"directory"` BrevPath string `json:"brevPath"` SetupExecPath string `json:"setupExecPath"` ExecWorkDir string `json:"execWorkDir"` DependsOn []string `json:"dependsOn"` }
type RequestCreateWorkspace ¶
type RequestCreateWorkspace struct { Name string `json:"name"` WorkspaceGroupID string `json:"workspaceGroupId"` WorkspaceClassID string `json:"workspaceClassId"` GitRepo string `json:"gitRepo"` IsStoppable bool `json:"isStoppable"` WorkspaceTemplateID string `json:"workspaceTemplateId"` PrimaryApplicationID string `json:"primaryApplicationId"` Applications []Application `json:"applications"` }
type StringExec ¶ added in v0.6.84
type StringExec struct {
ExecStr string `json:"execStr,omitempty"`
}
type UpdateUser ¶ added in v0.5.0
type UpdateUser struct { Username string `json:"username,omitempty"` Name string `json:"name,omitempty"` Email string `json:"email,omitempty"` BaseWorkspaceRepo string `json:"baseWorkspaceRepo,omitempty"` OnboardingData map[string]interface{} `json:"onboardingData,omitempty"` IdeConfig IDEConfig `json:"ideConfig,omitempty"` }
type User ¶
type User struct { ID string `json:"id"` PublicKey string `json:"publicKey,omitempty"` Username string `json:"username"` Name string `json:"name"` Email string `json:"email"` WorkspacePassword string `json:"workspacePassword"` BaseWorkspaceRepo string `json:"baseWorkspaceRepo"` GlobalUserType GlobalUserType `json:"globalUserType"` IdeConfig IDEConfig `json:"ideConfig,omitempty"` OnboardingData map[string]interface{} `json:"onboardingData"` }
func (User) GetOnboardingData ¶ added in v0.6.91
func (u User) GetOnboardingData() (*OnboardingData, error)
type UserKeys ¶
type UserKeys struct { PrivateKey string `json:"privateKey"` PublicKey string `json:"publicKey"` WorkspaceGroups []WorkspaceGroupKeys `json:"workspaceGroups"` }
func (UserKeys) GetWorkspaceGroupKeysByGroupID ¶
func (u UserKeys) GetWorkspaceGroupKeysByGroupID(groupID string) (*WorkspaceGroupKeys, error)
type VSCodeConfig ¶ added in v0.6.71
type VSCodeConfig struct { Extensions []VscodeExtensionMetadata `json:"extensions"` } // @Name VSCodeConfig
type VscodeExtensionMetadata ¶ added in v0.6.71
type VscodeExtensionMetadata struct { Name string `json:"name"` DisplayName string `json:"displayName"` Version string `json:"version"` Publisher string `json:"publisher"` Description string `json:"description"` Repository string `json:"repository"` } // @Name ExtensionMetadata
func (VscodeExtensionMetadata) GetID ¶ added in v0.6.71
func (v VscodeExtensionMetadata) GetID() string
type Workspace ¶
type Workspace struct { ID string `json:"id"` Name string `json:"name"` WorkspaceGroupID string `json:"workspaceGroupId"` OrganizationID string `json:"organizationId"` // WorkspaceClassID is resources, like "2x8" WorkspaceClassID string `json:"workspaceClassId"` InstanceType string `json:"instanceType,omitempty"` CreatedByUserID string `json:"createdByUserId"` DNS string `json:"dns"` Status string `json:"status"` Password string `json:"password"` GitRepo string `json:"gitRepo"` Version string `json:"version"` WorkspaceTemplate WorkspaceTemplate `json:"workspaceTemplate"` NetworkID string `json:"networkId"` StartupScriptPath string `json:"startupScriptPath"` ReposV0 ReposV0 `json:"repos"` ExecsV0 ExecsV0 `json:"execs"` ReposV1 *ReposV1 `json:"reposV1"` ExecsV1 *ExecsV1 `json:"execsV1"` IDEConfig IDEConfig `json:"ideConfig"` SSHPort int `json:"sshPort"` // PrimaryApplicationId string `json:"primaryApplicationId,omitempty"` // LastOnlineAt string `json:"lastOnlineAt,omitempty"` // CreatedAt string `json:"createdAt,omitempty"` // UpdatedAt string `json:"updatedAt,omitempty"` HealthStatus string `json:"healthStatus"` IsStoppable bool `json:"isStoppable"` // used for autopstop only StatusMessage string `json:"statusMessage"` StopTimeout time.Duration `json:"stopTimeout"` }
func WorkspacesWithMetaToWorkspaces ¶ added in v0.6.6
func WorkspacesWithMetaToWorkspaces(wms []WorkspaceWithMeta) []Workspace
func (Workspace) GetHostname ¶ added in v0.6.203
func (Workspace) GetIsStoppable ¶ added in v0.6.73
func (Workspace) GetLocalIdentifier ¶ added in v0.5.0
func (w Workspace) GetLocalIdentifier() WorkspaceLocalID
func (Workspace) GetNodeIdentifierForVPN ¶ added in v0.6.22
func (Workspace) GetProjectFolderPath ¶ added in v0.6.63
func (Workspace) GetStopTimeout ¶ added in v0.6.72
func (Workspace) GetUsername ¶ added in v0.6.203
type WorkspaceGroup ¶ added in v0.6.99
type WorkspaceGroup struct { ID string `json:"id"` Name string `json:"name"` BaseDNS string `json:"baseDns"` Status string `json:"status"` Platform string `json:"platform"` PlatformID string `json:"platformId"` PlatformRegion string `json:"platformRegion"` Version string `json:"version"` TenantType string `json:"tenantType"` } // @Name WorkspaceGroup
type WorkspaceGroupKeys ¶
type WorkspaceLocalID ¶ added in v0.5.0
type WorkspaceLocalID string
type WorkspaceMetaData ¶
type WorkspaceMetaData struct { PodName string `json:"podName"` NamespaceName string `json:"namespaceName"` }
func (WorkspaceMetaData) GetNamespaceName ¶
func (w WorkspaceMetaData) GetNamespaceName() string
func (WorkspaceMetaData) GetPodName ¶
func (w WorkspaceMetaData) GetPodName() string
type WorkspaceTemplate ¶ added in v0.6.0
type WorkspaceWithMeta ¶
type WorkspaceWithMeta struct { WorkspaceMetaData Workspace }
Click to show internal directories.
Click to hide internal directories.