Documentation
¶
Index ¶
- Constants
- func HandleWorkspaceBuildUpdate(cb func(ctx context.Context, payload codersdk.WorkspaceBuildUpdate, err error)) func(ctx context.Context, message []byte, err error)
- func HandleWorkspaceEvent(cb func(ctx context.Context, payload WorkspaceEvent, err error)) func(ctx context.Context, message []byte, err error)
- func PublishWorkspaceBuildUpdate(_ context.Context, ps pubsub.Pubsub, update codersdk.WorkspaceBuildUpdate) error
- func WorkspaceEventChannel(ownerID uuid.UUID) string
- type WorkspaceEvent
- type WorkspaceEventKind
Constants ¶
View Source
const AllWorkspaceEventChannel = "workspace_updates:all"
AllWorkspaceEventChannel is a global channel that receives events for all workspaces. This is useful when you need to watch N workspaces without creating N separate subscriptions.
Variables ¶
This section is empty.
Functions ¶
func HandleWorkspaceBuildUpdate ¶ added in v2.32.0
func HandleWorkspaceBuildUpdate(cb func(ctx context.Context, payload codersdk.WorkspaceBuildUpdate, err error)) func(ctx context.Context, message []byte, err error)
HandleWorkspaceBuildUpdate wraps a callback to parse WorkspaceBuildUpdate messages from the pubsub.
func HandleWorkspaceEvent ¶
func PublishWorkspaceBuildUpdate ¶ added in v2.32.0
func PublishWorkspaceBuildUpdate(_ context.Context, ps pubsub.Pubsub, update codersdk.WorkspaceBuildUpdate) error
PublishWorkspaceBuildUpdate is a helper to publish a workspace build update to the AllWorkspaceEventChannel. This should be called when a build completes (succeeds, fails, or is canceled).
func WorkspaceEventChannel ¶
WorkspaceEventChannel can be used to subscribe to events for workspaces owned by the provided user ID.
Types ¶
type WorkspaceEvent ¶
type WorkspaceEvent struct {
Kind WorkspaceEventKind `json:"kind"`
WorkspaceID uuid.UUID `json:"workspace_id" format:"uuid"`
// AgentID is only set for WorkspaceEventKindAgent* events
// (excluding AgentTimeout)
AgentID *uuid.UUID `json:"agent_id,omitempty" format:"uuid"`
}
func (*WorkspaceEvent) Validate ¶
func (w *WorkspaceEvent) Validate() error
type WorkspaceEventKind ¶
type WorkspaceEventKind string
const ( WorkspaceEventKindStateChange WorkspaceEventKind = "state_change" WorkspaceEventKindStatsUpdate WorkspaceEventKind = "stats_update" WorkspaceEventKindMetadataUpdate WorkspaceEventKind = "mtd_update" WorkspaceEventKindAppHealthUpdate WorkspaceEventKind = "app_health" WorkspaceEventKindAgentLifecycleUpdate WorkspaceEventKind = "agt_lifecycle_update" WorkspaceEventKindAgentConnectionUpdate WorkspaceEventKind = "agt_connection_update" WorkspaceEventKindAgentFirstLogs WorkspaceEventKind = "agt_first_logs" WorkspaceEventKindAgentLogsOverflow WorkspaceEventKind = "agt_logs_overflow" WorkspaceEventKindAgentTimeout WorkspaceEventKind = "agt_timeout" WorkspaceEventKindAgentAppStatusUpdate WorkspaceEventKind = "agt_app_status_update" )
Click to show internal directories.
Click to hide internal directories.