Documentation
¶
Index ¶
- Constants
- func CleanSubdomain(in string) string
- func GetFirstKeyMap(strMap map[string][]Workspace) (string, bool)
- func MakeIDSuffix(id string) string
- type Application
- type AuthTokens
- type ExecName
- type ExecV0
- type Execs
- type GlobalUserType
- type IDEConfig
- type OnboardingStatus
- type Organization
- type RepoName
- type RepoV0
- type Repos
- type RequestCreateWorkspace
- type UpdateUser
- type User
- type UserKeys
- type VSCodeConfig
- type VirtualProject
- type VscodeExtensionMetadata
- type Workspace
- func (w Workspace) GetID() string
- func (w Workspace) GetIsStoppable() bool
- func (w Workspace) GetLocalIdentifier() WorkspaceLocalID
- func (w Workspace) GetNodeIdentifierForVPN() string
- func (w Workspace) GetProjectFolderPath() string
- func (w Workspace) GetSSHURL() string
- func (w Workspace) GetStopTimeout() time.Duration
- type WorkspaceGroupKeys
- type WorkspaceLocalID
- type WorkspaceMetaData
- type WorkspaceTemplate
- type WorkspaceWithMeta
Constants ¶
View Source
const ( WorkspaceRunningStatus = "RUNNING" WorkspaceStartingStatus = "STARTING" WorkspaceStoppingStatus = "STOPPING" WorkspaceStoppedStatus = "STOPPED" WorkspaceDeletingStatus = "DELETING" )
Variables ¶
This section is empty.
Functions ¶
func CleanSubdomain ¶ added in v0.6.60
lowercase, replace whitespace with '-', remove all [^a-z0-9-], trim '-' front and back
func GetFirstKeyMap ¶ added in v0.6.60
func MakeIDSuffix ¶ added in v0.6.67
Types ¶
type Application ¶
type AuthTokens ¶
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 {
VSCode VSCodeConfig `json:"vscode"`
} // @Name IDEConfig
type OnboardingStatus ¶ added in v0.6.55
type Organization ¶
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 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"`
OnboardingStatus map[string]interface{} `json:"onboardingData,omitempty"` // todo fix inconsitency
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"`
OnboardingStatus map[string]interface{} `json:"onboardingData"` // todo fix inconsitency
}
func (User) GetOnboardingStatus ¶ added in v0.6.55
func (u User) GetOnboardingStatus() (*OnboardingStatus, 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 VirtualProject ¶ added in v0.6.60
func NewVirtualProjects ¶ added in v0.6.60
func NewVirtualProjects(workspaces []Workspace) []VirtualProject
func (VirtualProject) GetUniqueUserCount ¶ added in v0.6.60
func (v VirtualProject) GetUniqueUserCount() int
func (VirtualProject) GetUserWorkspaces ¶ added in v0.6.60
func (v VirtualProject) GetUserWorkspaces(userID string) []Workspace
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"`
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"`
Repos Repos `json:"repos"`
Execs Execs `json:"execs"`
IDEConfig IDEConfig `json:"ideConfig"`
// 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"`
StatusMessage string `json:"statusMessage"`
StopTimeout time.Duration `json:"stopTimeout"`
}
func WorkspacesWithMetaToWorkspaces ¶ added in v0.6.6
func WorkspacesWithMetaToWorkspaces(wms []WorkspaceWithMeta) []Workspace
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
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.