Versions in this module Expand all Collapse all v1 v1.0.0 Aug 26, 2026 Changes in this version + const MaxAuditPageSize + const MaxCommandCursorBytes + const MaxCommandPageSize + const MaxWorkerPageSize + var ErrInvalidConfiguration = errors.New("apihttp: invalid configuration") + var ErrInvalidRateLimitConfiguration = errors.New("apihttp: invalid rate limit configuration") + var ErrInvalidSecurityConfiguration = errors.New("apihttp: invalid security configuration") + func NewHandler(config Config) (http.Handler, error) + func NewRateLimitMiddleware(limiter RateLimiter) (func(http.Handler) http.Handler, error) + func NewSecurityMiddleware(config SecurityConfig) (func(http.Handler) http.Handler, error) + type AuditEntry struct + Action string + Actor string + CommandID string + Hash string + HashVersion uint16 + IdempotencyKey string + OccurredAt time.Time + PreviousHash string + Result string + Sequence uint64 + Target string + type AuditPage struct + Entries []AuditEntry + NextSequence uint64 + type AuditSource interface + ListTenant func(context.Context, string, uint64, uint32) (controlpostgres.AuditPage, error) + type BuildInfo struct + BuiltAt time.Time + Commit string + Version string + type CommandExecutor interface + Execute func(context.Context, controlplane.Command) (controlplane.CommandResult, error) + type CommandHistoryEntry struct + Action controlplane.Action + Actor string + AuthenticationMethod string + Capability string + CommandID string + Confirmed bool + Deadline time.Time + IdempotencyKey string + Reason string + Replay *ReplayRequest + RequestedAt time.Time + Result controlplane.CommandResult + Scale *ScaleRequest + Selection *SelectionRequest + Target TargetRequest + type CommandHistoryPage struct + Commands []CommandHistoryEntry + NextCursor string + type CommandRequest struct + Action controlplane.Action + Confirmed bool + IdempotencyKey string + Reason string + Replay *ReplayRequest + RequestedAt time.Time + Scale *ScaleRequest + Selection *SelectionRequest + Target TargetRequest + type CommandResultSource interface + Get func(context.Context, string, string) (controlplane.CommandResult, error) + type Config struct + Audit AuditSource + Build BuildInfo + Capabilities []string + CommandResults CommandResultSource + Commands CommandExecutor + DesiredState DesiredStateSource + MaxRequestBytes int64 + NewCommandID func() (string, error) + Now func() time.Time + Protocol fleet.ProtocolRange + Queues QueueSource + Readiness Readiness + Records RecordSource + RemoteWorkers RemoteWorkerSource + SensitiveAudit SensitiveAccessAuditor + StaleAfter time.Duration + Telemetry *TelemetryConfig + Viewer Viewer + WorkerCapabilities []fleet.Capability + Workers WorkerSource + WorkflowLimiter RateLimiter + Workloads WorkloadSource + type DesiredStateSource interface + Get func(context.Context, string, controlplane.Target) (control.DesiredRecord, error) + type FixedWindowRateLimiter struct + func NewFixedWindowRateLimiter(limit uint32, window time.Duration, maxKeys int, now func() time.Time) (*FixedWindowRateLimiter, error) + func (limiter *FixedWindowRateLimiter) Allow(ctx context.Context, key string) bool + type Measurement struct + Supported bool + Value T + type Problem struct + Code string + type Queue struct + Backend string + Metrics QueueMetrics + Name string + ObservedAt time.Time + type QueueMetrics struct + DeadLettered Measurement[uint64] + Depth Measurement[int64] + Failed Measurement[uint64] + Lag Measurement[int64] + OldestAgeSeconds Measurement[float64] + Pending Measurement[int64] + Reclaimed Measurement[uint64] + Retried Measurement[uint64] + RuntimeSeconds Measurement[float64] + SettlementErrors Measurement[uint64] + Succeeded Measurement[uint64] + Throughput Measurement[float64] + type QueuePage struct + NextCursor string + Queues []Queue + type QueueSource interface + ListQueues func(context.Context, string, queue.StatusPageRequest) (queue.QueueStatusPage, error) + type RateLimiter interface + Allow func(context.Context, string) bool + type Readiness interface + Ready func(context.Context) error + type Record struct + Attempts uint32 + Backend string + Classification queue.Classification + ConsumerGroup string + DeadLetteredAt *time.Time + Diagnostics RecordPayload + EnqueuedAt *time.Time + EnvelopeVersion uint16 + FailureCode string + FailureSummary string + FirstDeliveryAt *time.Time + HandlerType string + ID string + JobType string + Kind queue.RecordKind + LastDeliveryAt *time.Time + OccurredAt time.Time + OriginalDeadLetterID string + OriginalID string + Payload RecordPayload + PayloadSchemaVersion string + PriorDeadLetterID string + ProducerVersion string + Queue string + ReplayGeneration uint32 + RetentionDeadline *time.Time + RetryPolicy string + RoutingKey string + SourceRecordID string + Stream string + Tags map[string]string + TenantID string + Topic string + TraceID string + WorkerVersion string + type RecordPage struct + NextCursor string + Records []Record + type RecordPayload struct + ContentType string + Data []byte + Size int64 + Visibility queue.PayloadVisibility + type RecordSource interface + Inspect func(context.Context, string, queue.InspectRequest) (queue.JobRecord, error) + ListDeadLetters func(context.Context, string, queue.PageRequest) (queue.RecordPage, error) + ListFailures func(context.Context, string, queue.PageRequest) (queue.RecordPage, error) + type RemoteWorkerSource interface + SnapshotTenant func(context.Context, string, time.Time, time.Duration) (fleet.RegistrySnapshot, error) + type ReplayRequest struct + Destination string + IdempotencyPolicy controlplane.ReplayPolicy + type ScaleRequest struct + Replicas uint32 + type SecurityConfig struct + AllowCredentials bool + AllowedOrigins []string + RateLimiter RateLimiter + type SelectionRequest struct + Limit uint32 + type SensitiveAccessAuditor interface + AuditSensitiveAccess func(context.Context, controlplane.SensitiveAccess) error + type TargetRequest struct + Kind controlplane.TargetKind + Name string + type TelemetryConfig struct + MeterProvider metric.MeterProvider + Propagator propagation.TextMapPropagator + TracerProvider trace.TracerProvider + TrustedInbound bool + type Viewer interface + Authorize func(context.Context, string, string, controlplane.Permission, controlplane.Target) error + type Worker struct + Backend string + Capabilities []fleet.Capability + Compatibility fleet.Compatibility + Concurrency uint32 + CurrentJobs uint32 + DrainStatus fleet.DrainState + ObservedAt time.Time + Protocol fleet.ProtocolVersion + Queues []string + StartedAt time.Time + State fleet.State + TenantID string + Version string + WorkerID string + type WorkerPage struct + NextCursor string + Rejected uint64 + Workers []Worker + type WorkerSource interface + SnapshotTenant func(string, time.Time, time.Duration) fleet.RegistrySnapshot + type WorkloadSource interface + ListTenantWorkloads func(context.Context, string, int64, string) (controlkubernetes.Page, error)