Documentation
¶
Index ¶
- func WatchWorkspaceAgentMetadataChannel(id uuid.UUID) string
- func WithAPIVersion(ctx context.Context, version string) context.Context
- type API
- type AnnouncementBannerAPI
- func (a *AnnouncementBannerAPI) GetAnnouncementBanners(ctx context.Context, _ *proto.GetAnnouncementBannersRequest) (*proto.GetAnnouncementBannersResponse, error)
- func (a *AnnouncementBannerAPI) GetServiceBanner(ctx context.Context, _ *proto.GetServiceBannerRequest) (*proto.ServiceBanner, error)deprecated
- type AppsAPI
- type AuditAPI
- type LifecycleAPI
- type LogsAPI
- type ManifestAPI
- type MetadataAPI
- type Options
- type ResourcesMonitoringAPI
- func (a *ResourcesMonitoringAPI) GetResourcesMonitoringConfiguration(ctx context.Context, _ *proto.GetResourcesMonitoringConfigurationRequest) (*proto.GetResourcesMonitoringConfigurationResponse, error)
- func (a *ResourcesMonitoringAPI) PushResourcesMonitoringUsage(ctx context.Context, req *proto.PushResourcesMonitoringUsageRequest) (*proto.PushResourcesMonitoringUsageResponse, error)
- type ScriptsAPI
- type StatsAPI
- type WorkspaceAgentMetadataChannelPayload
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type API ¶
type API struct { *ManifestAPI *AnnouncementBannerAPI *StatsAPI *LifecycleAPI *AppsAPI *MetadataAPI *ResourcesMonitoringAPI *LogsAPI *ScriptsAPI *AuditAPI *tailnet.DRPCService // contains filtered or unexported fields }
API implements the DRPC agent API interface from agent/proto. This struct is instantiated once per agent connection and kept alive for the duration of the session.
type AnnouncementBannerAPI ¶ added in v2.12.0
type AnnouncementBannerAPI struct {
// contains filtered or unexported fields
}
func (*AnnouncementBannerAPI) GetAnnouncementBanners ¶ added in v2.12.0
func (a *AnnouncementBannerAPI) GetAnnouncementBanners(ctx context.Context, _ *proto.GetAnnouncementBannersRequest) (*proto.GetAnnouncementBannersResponse, error)
func (*AnnouncementBannerAPI) GetServiceBanner
deprecated
added in
v2.12.0
func (a *AnnouncementBannerAPI) GetServiceBanner(ctx context.Context, _ *proto.GetServiceBannerRequest) (*proto.ServiceBanner, error)
Deprecated: GetServiceBanner has been deprecated in favor of GetAnnouncementBanners.
type AppsAPI ¶
type AppsAPI struct { AgentFn func(context.Context) (database.WorkspaceAgent, error) Database database.Store Log slog.Logger PublishWorkspaceUpdateFn func(context.Context, *database.WorkspaceAgent, wspubsub.WorkspaceEventKind) error }
func (*AppsAPI) BatchUpdateAppHealths ¶
func (a *AppsAPI) BatchUpdateAppHealths(ctx context.Context, req *agentproto.BatchUpdateAppHealthRequest) (*agentproto.BatchUpdateAppHealthResponse, error)
type AuditAPI ¶ added in v2.20.0
type AuditAPI struct { AgentFn func(context.Context) (database.WorkspaceAgent, error) Auditor *atomic.Pointer[audit.Auditor] Database database.Store Log slog.Logger }
func (*AuditAPI) ReportConnection ¶ added in v2.20.0
func (a *AuditAPI) ReportConnection(ctx context.Context, req *agentproto.ReportConnectionRequest) (*emptypb.Empty, error)
type LifecycleAPI ¶
type LifecycleAPI struct { AgentFn func(context.Context) (database.WorkspaceAgent, error) WorkspaceID uuid.UUID Database database.Store Log slog.Logger PublishWorkspaceUpdateFn func(context.Context, *database.WorkspaceAgent, wspubsub.WorkspaceEventKind) error TimeNowFn func() time.Time // defaults to dbtime.Now() }
func (*LifecycleAPI) UpdateLifecycle ¶
func (a *LifecycleAPI) UpdateLifecycle(ctx context.Context, req *agentproto.UpdateLifecycleRequest) (*agentproto.Lifecycle, error)
func (*LifecycleAPI) UpdateStartup ¶
func (a *LifecycleAPI) UpdateStartup(ctx context.Context, req *agentproto.UpdateStartupRequest) (*agentproto.Startup, error)
type LogsAPI ¶
type LogsAPI struct { AgentFn func(context.Context) (database.WorkspaceAgent, error) Database database.Store Log slog.Logger PublishWorkspaceUpdateFn func(context.Context, *database.WorkspaceAgent, wspubsub.WorkspaceEventKind) error PublishWorkspaceAgentLogsUpdateFn func(ctx context.Context, workspaceAgentID uuid.UUID, msg agentsdk.LogsNotifyMessage) TimeNowFn func() time.Time // defaults to dbtime.Now() }
func (*LogsAPI) BatchCreateLogs ¶
func (a *LogsAPI) BatchCreateLogs(ctx context.Context, req *agentproto.BatchCreateLogsRequest) (*agentproto.BatchCreateLogsResponse, error)
type ManifestAPI ¶
type ManifestAPI struct { AccessURL *url.URL AppHostname string ExternalAuthConfigs []*externalauth.Config DisableDirectConnections bool DerpForceWebSockets bool WorkspaceID uuid.UUID AgentFn func(context.Context) (database.WorkspaceAgent, error) Database database.Store DerpMapFn func() *tailcfg.DERPMap }
func (*ManifestAPI) GetManifest ¶
func (a *ManifestAPI) GetManifest(ctx context.Context, _ *agentproto.GetManifestRequest) (*agentproto.Manifest, error)
type MetadataAPI ¶
type MetadataAPI struct { AgentFn func(context.Context) (database.WorkspaceAgent, error) Database database.Store Pubsub pubsub.Pubsub Log slog.Logger TimeNowFn func() time.Time // defaults to dbtime.Now() }
func (*MetadataAPI) BatchUpdateMetadata ¶
func (a *MetadataAPI) BatchUpdateMetadata(ctx context.Context, req *agentproto.BatchUpdateMetadataRequest) (*agentproto.BatchUpdateMetadataResponse, error)
type Options ¶
type Options struct { AgentID uuid.UUID OwnerID uuid.UUID WorkspaceID uuid.UUID Ctx context.Context Log slog.Logger Clock quartz.Clock Database database.Store NotificationsEnqueuer notifications.Enqueuer Pubsub pubsub.Pubsub Auditor *atomic.Pointer[audit.Auditor] DerpMapFn func() *tailcfg.DERPMap TailnetCoordinator *atomic.Pointer[tailnet.Coordinator] StatsReporter *workspacestats.Reporter AppearanceFetcher *atomic.Pointer[appearance.Fetcher] PublishWorkspaceUpdateFn func(ctx context.Context, userID uuid.UUID, event wspubsub.WorkspaceEvent) PublishWorkspaceAgentLogsUpdateFn func(ctx context.Context, workspaceAgentID uuid.UUID, msg agentsdk.LogsNotifyMessage) NetworkTelemetryHandler func(batch []*tailnetproto.TelemetryEvent) AccessURL *url.URL AppHostname string AgentStatsRefreshInterval time.Duration DisableDirectConnections bool DerpForceWebSockets bool DerpMapUpdateFrequency time.Duration ExternalAuthConfigs []*externalauth.Config Experiments codersdk.Experiments UpdateAgentMetricsFn func(ctx context.Context, labels prometheusmetrics.AgentMetricLabels, metrics []*agentproto.Stats_Metric) }
type ResourcesMonitoringAPI ¶ added in v2.20.0
type ResourcesMonitoringAPI struct { AgentID uuid.UUID WorkspaceID uuid.UUID Log slog.Logger Clock quartz.Clock Database database.Store NotificationsEnqueuer notifications.Enqueuer Debounce time.Duration Config resourcesmonitor.Config }
func (*ResourcesMonitoringAPI) GetResourcesMonitoringConfiguration ¶ added in v2.20.0
func (a *ResourcesMonitoringAPI) GetResourcesMonitoringConfiguration(ctx context.Context, _ *proto.GetResourcesMonitoringConfigurationRequest) (*proto.GetResourcesMonitoringConfigurationResponse, error)
func (*ResourcesMonitoringAPI) PushResourcesMonitoringUsage ¶ added in v2.20.0
func (a *ResourcesMonitoringAPI) PushResourcesMonitoringUsage(ctx context.Context, req *proto.PushResourcesMonitoringUsageRequest) (*proto.PushResourcesMonitoringUsageResponse, error)
type ScriptsAPI ¶ added in v2.16.0
func (*ScriptsAPI) ScriptCompleted ¶ added in v2.16.0
func (s *ScriptsAPI) ScriptCompleted(ctx context.Context, req *agentproto.WorkspaceAgentScriptCompletedRequest) (*agentproto.WorkspaceAgentScriptCompletedResponse, error)
type StatsAPI ¶
type StatsAPI struct { AgentFn func(context.Context) (database.WorkspaceAgent, error) Database database.Store Log slog.Logger StatsReporter *workspacestats.Reporter AgentStatsRefreshInterval time.Duration Experiments codersdk.Experiments TimeNowFn func() time.Time // defaults to dbtime.Now() }
func (*StatsAPI) UpdateStats ¶
func (a *StatsAPI) UpdateStats(ctx context.Context, req *agentproto.UpdateStatsRequest) (*agentproto.UpdateStatsResponse, error)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.