workspaces

package
v0.0.42 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ForwardHttpPort

func ForwardHttpPort(ctx *gin.Context, workspaceId string, containerName string, portNumber string, path string)

func HandleCreateContainerPortByWorkspaceContainer added in v0.0.42

func HandleCreateContainerPortByWorkspaceContainer(c *gin.Context)

HandleCreateContainerPortByWorkspaceContainer godoc @Summary Expose a new port for a container in a workspace @Schemes @Description Expose a new port for a container in a workspace @Tags Workspaces @Accept json @Produce json @Param request body CreateContainerPortRequestBody true "CreateContainerPortRequestBody " @Success 201 {object} serializers.WorkspaceContainerPort @Router/api/v1/workspace/:workspaceId/container/:containerName/port [post]

func HandleCreateWorkspace

func HandleCreateWorkspace(c *gin.Context)

HandleRetrieveWorkspace godoc @Summary Create a workspace @Schemes @Description Create a new workspace @Tags Workspaces @Accept json @Produce json @Param request body CreateWorkspaceRequestBody true "Data for creating a workspace" @Success 201 {object} serializers.WorkspaceSerializer @Router /api/v1/workspace [post]

func HandleDeleteContainerPortByWorkspaceContainer

func HandleDeleteContainerPortByWorkspaceContainer(c *gin.Context)

HandleDeleteContainerPortByWorkspaceContainer godoc @Summary DeleteContainerPortByWorkspaceContainer @Schemes @Description Delete a specific port by number for a container in a workspace @Tags Workspaces @Accept json @Produce json @Success 204 @Router/api/v1/workspace/:workspaceId/container/:containerName/port/:portNumber [delete]

func HandleDeleteWorkspace

func HandleDeleteWorkspace(ctx *gin.Context)

HandleDeleteWorkspace godoc @Summary Delete a workspace @Schemes @Description Delete a workspace @Tags Workspaces @Accept json @Produce json @Success 204 @Router /api/v1/workspace/:id [delete]

func HandleForwardHttp

func HandleForwardHttp(ctx *gin.Context)

func HandleForwardSsh

func HandleForwardSsh(ctx *gin.Context)

func HandleForwardTcp added in v0.0.42

func HandleForwardTcp(ctx *gin.Context)

func HandleListWorkspaceTypes

func HandleListWorkspaceTypes(c *gin.Context)

HandleListWorkspaceTypes godoc @Summary List workspace types @Schemes @Description List workspace types @Tags Workspaces @Accept json @Produce json @Success 200 {object} serializers.WorkspaceTypeSerializer[] @Router /api/v1/workspace-types [get]

func HandleListWorkspaces

func HandleListWorkspaces(ctx *gin.Context)

HandleListWorkspaces godoc @Summary List workspaces @Schemes @Description List workspaces created by the current user @Tags Workspaces @Accept json @Produce json @Success 200 {object} []serializers.WorkspaceSerializer @Router /api/v1/workspace [get]

func HandleRetrieveWorkspace

func HandleRetrieveWorkspace(ctx *gin.Context)

HandleRetrieveWorkspace godoc @Summary Retrieve workspace by id @Schemes @Description Retrieve a workspace by id @Tags Workspaces @Accept json @Produce json @Success 200 {object} serializers.WorkspaceSerializer @Router /api/v1/workspace/:id [get]

func HandleRetrieveWorkspaceLogs

func HandleRetrieveWorkspaceLogs(ctx *gin.Context)

HandleRetrieveWorkspaceLogs godoc @Summary Retrieve workspace logs @Schemes @Description Retrieve workspace logs @Tags Workspaces @Accept json @Produce json @Success 200 @Router /api/v1/workspace/:workspaceId/logs [get]

func HandleStartWorkspace

func HandleStartWorkspace(ctx *gin.Context)

HandleStartWorkspace godoc @Summary Start a workspace @Schemes @Description Start a workspace @Tags Workspaces @Accept json @Produce json @Success 200 {object} serializers.WorkspaceSerializer @Router /api/v1/workspace/:id/start [post]

func HandleStopWorkspace

func HandleStopWorkspace(ctx *gin.Context)

HandleStopWorkspace godoc @Summary Stop a workspace @Schemes @Description Stop a workspace @Tags Workspaces @Accept json @Produce json @Success 200 {object} serializers.WorkspaceSerializer @Router /api/v1/workspace/:id/stop [post]

func HandleUpdateWorkspace

func HandleUpdateWorkspace(ctx *gin.Context)

HandleUpdateWorkspace godoc @Summary Update a workspace @Schemes @Description Update a workspace @Tags Workspaces @Accept json @Produce json @Param request body CreateWorkspaceRequestBody true "Data to update a workspace" @Success 200 {object} serializers.WorkspaceSerializer @Router /api/v1/workspace/:id [put]

func HandleUpdateWorkspaceConfiguration

func HandleUpdateWorkspaceConfiguration(ctx *gin.Context)

HandleDeleteWorkspace godoc @Summary Update workspace configuration @Schemes @Description Update workspace configuration, retrieving the configuration files from the git repository or template @Tags Workspaces @Accept json @Produce json @Success 200 @Router /api/v1/workspace/:workspaceId/update-config [post]

func ListContainerPortsByWorkspaceContainer

func ListContainerPortsByWorkspaceContainer(c *gin.Context)

ListContainerPortsByWorkspaceContainer godoc @Summary ListContainerPortsByWorkspaceContainer @Schemes @Description List all ports for a container in a workspace @Tags Workspaces @Accept json @Produce json @Success 200 {object} []serializers.WorkspaceContainerPort @Router /api/v1/workspace/:workspaceId/container/:containerName/port [get]

func ListWorkspaceContainersByWorkspace

func ListWorkspaceContainersByWorkspace(ctx *gin.Context)

ListWorkspaceContainersByWorkspace godoc @Summary ListWorkspaceContainersByWorkspace @Schemes @Description List all containers for a workspace @Tags Workspaces @Accept json @Produce json @Success 200 {object} []serializers.WorkspaceContainerSerializer @Router /api/v1/workspace/:workspaceId/container [get]

func RetrieveContainerPortsByWorkspaceContainer

func RetrieveContainerPortsByWorkspaceContainer(ctx *gin.Context)

RetrieveContainerPortsByWorkspaceContainer godoc @Summary RetrieveContainerPortsByWorkspaceContainer @Schemes @Description Retrieve a specific port by number for a container in a workspace @Tags Workspaces @Accept json @Produce json @Success 200 {object} serializers.WorkspaceContainerPort @Router /api/v1/workspace/:workspaceId/container/:containerName/port/:portNumber [get]

func RetrieveWorkspaceContainersByWorkspace

func RetrieveWorkspaceContainersByWorkspace(ctx *gin.Context)

RetrieveWorkspaceContainersByWorkspace godoc @Summary RetrieveWorkspaceContainersByWorkspace @Schemes @Description Retrieve a specific container by name in a workspace @Tags Workspaces @Accept json @Produce json @Success 200 {object} serializers.WorkspaceContainerSerializer @Router /api/v1/workspace/:workspaceId/container/:containerName [get]

Types

type CreateContainerPortRequestBody added in v0.0.42

type CreateContainerPortRequestBody struct {
	PortNumber  uint   `json:"port_number" binding:"required"`
	ServiceName string `json:"service_name" binding:"required"`
	Public      bool   `json:"public"`
}

type CreateWorkspaceRequestBody added in v0.0.42

type CreateWorkspaceRequestBody struct {
	Name                 string   `json:"name" binding:"required"`
	Type                 string   `json:"type" binding:"required"`
	RunnerID             uint     `json:"runner_id" binding:"required"`
	ConfigSource         string   `json:"config_source" binding:"required"`
	TemplateVersionID    uint     `json:"template_version_id"`
	GitRepoUrl           string   `json:"git_repo_url"`
	GitRefName           string   `json:"git_ref_name"`
	ConfigSourceFilePath string   `json:"config_source_path"`
	EnvironmentVariables []string `json:"environment_variables" binding:"required"`
}

type UpdateWorkspaceRequestBody added in v0.0.42

type UpdateWorkspaceRequestBody struct {
	GitRepoUrl           *string   `json:"git_repo_url"`
	GitRefName           *string   `json:"git_ref_name"`
	ConfigSourcePath     *string   `json:"config_source_path"`
	EnvironmentVariables *[]string `json:"environment_variables"`
}

Jump to

Keyboard shortcuts

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