Documentation
¶
Overview ¶
Package controlplane owns the huma API registration, typed operations, the Handlers seam, and the api/fault → huma problem+json error bridge (ADR-0005).
ADR-0005 owns the routes/contract; P-L/F07 fills Handlers + middleware/admission.
Package controlplane owns the huma API registration, typed operations, the Handlers seam, and the api/fault → huma problem+json error bridge (ADR-0005).
ADR-0005 owns the routes/contract; P-L/F07 fills Handlers + middleware/admission.
Package controlplane: the store-backed Handlers implementation (ADR-0018) that fills ADR-0005's seam. Each of the 15 kinds' CRUD operations runs the same path — authorize (PDP) → admit (validate, writes only) → store — through six non-generic v1.Object helpers; the per-kind methods are thin typed wrappers. No generics, no any.
Index ¶
- func NewAPI(r chi.Router, h Handlers) huma.API
- func NewServer(d Deps) (http.Handler, error)
- func RegisterAppRetry(api huma.API, retrier AppRetrier, authz auth.Authorizer)
- func RegisterDeadLetters(api huma.API, store deadletter.Store, replayer Replayer, authz auth.Authorizer)
- func RegisterHold(api huma.API, h Holder, authz auth.Authorizer)
- func RegisterLogs(api huma.API, q LogQuerier, authz auth.Authorizer)
- func RegisterPlatformBackup(api huma.API, s BackupStatuser, authz auth.Authorizer)
- func RegisterRoutes(api huma.API, h Handlers)
- func RegisterStubAppRetry(api huma.API)
- func RegisterStubDeadLetters(api huma.API)
- func RegisterStubHold(api huma.API)
- func RegisterStubLogs(api huma.API)
- func RegisterStubPlatformBackup(api huma.API)
- func RegisterStubWorkflowRunLogs(api huma.API)
- func RegisterWorkflowRunLogs(api huma.API, q WorkflowRunLogQuerier, authz auth.Authorizer)
- type AppPlanner
- type AppRetrier
- type BackupStatuser
- type Deps
- type DryRunParams
- type Handlers
- type HoldDeps
- type HoldPlatform
- type HoldService
- type Holder
- type IfMatchParams
- type KVStoreHandover
- type LogQuerier
- type OwnerCollector
- type PlatformBackupStatus
- type Replayer
- type RunLogGetter
- type RunRecordGetter
- type StubHandlers
- func (s *StubHandlers) CreateApp(_ context.Context, app v1.App) (v1.App, error)
- func (s *StubHandlers) CreateBackup(_ context.Context, b v1.Backup) (v1.Backup, error)
- func (s *StubHandlers) CreateBackupSchedule(_ context.Context, b v1.BackupSchedule) (v1.BackupSchedule, error)
- func (s *StubHandlers) CreateBucket(_ context.Context, b v1.Bucket) (v1.Bucket, error)
- func (s *StubHandlers) CreateCatalogService(_ context.Context, cs v1.CatalogService) (v1.CatalogService, error)
- func (s *StubHandlers) CreateConfigMap(_ context.Context, cfg v1.ConfigMap) (v1.ConfigMap, error)
- func (s *StubHandlers) CreateEgressPolicy(_ context.Context, ep v1.EgressPolicy) (v1.EgressPolicy, error)
- func (s *StubHandlers) CreateEventSource(_ context.Context, es v1.EventSource) (v1.EventSource, error)
- func (s *StubHandlers) CreateFunction(_ context.Context, fn v1.Function) (v1.Function, error)
- func (s *StubHandlers) CreateGateway(_ context.Context, gw v1.Gateway) (v1.Gateway, error)
- func (s *StubHandlers) CreateGrant(_ context.Context, g v1.Grant) (v1.Grant, error)
- func (s *StubHandlers) CreateIdentity(_ context.Context, id v1.Identity) (v1.Identity, error)
- func (s *StubHandlers) CreateInvocation(_ context.Context, inv v1.Invocation) (v1.Invocation, error)
- func (s *StubHandlers) CreateKVStore(_ context.Context, ks v1.KVStore) (v1.KVStore, error)
- func (s *StubHandlers) CreateNamespace(_ context.Context, ns v1.Namespace) (v1.Namespace, error)
- func (s *StubHandlers) CreatePolicy(_ context.Context, pol v1.Policy) (v1.Policy, error)
- func (s *StubHandlers) CreateResourceGroup(_ context.Context, rg v1.ResourceGroup) (v1.ResourceGroup, error)
- func (s *StubHandlers) CreateRestore(_ context.Context, r v1.Restore) (v1.Restore, error)
- func (s *StubHandlers) CreateRole(_ context.Context, ro v1.Role) (v1.Role, error)
- func (s *StubHandlers) CreateRolesAssignment(_ context.Context, ra v1.RolesAssignment) (v1.RolesAssignment, error)
- func (s *StubHandlers) CreateRoute(_ context.Context, rt v1.Route) (v1.Route, error)
- func (s *StubHandlers) CreateRuntimeClass(_ context.Context, rc v1.RuntimeClass) (v1.RuntimeClass, error)
- func (s *StubHandlers) CreateSecret(_ context.Context, sec v1.Secret) (v1.Secret, error)
- func (s *StubHandlers) CreateSensor(_ context.Context, se v1.Sensor) (v1.Sensor, error)
- func (s *StubHandlers) CreateService(_ context.Context, svc v1.Service) (v1.Service, error)
- func (s *StubHandlers) CreateSite(_ context.Context, si v1.Site) (v1.Site, error)
- func (s *StubHandlers) CreateWorkerNode(_ context.Context, wr v1.WorkerNode) (v1.WorkerNode, error)
- func (s *StubHandlers) CreateWorkflow(_ context.Context, wf v1.Workflow) (v1.Workflow, error)
- func (s *StubHandlers) CreateWorkflowRun(_ context.Context, run v1.WorkflowRun) (v1.WorkflowRun, error)
- func (s *StubHandlers) DeleteApp(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteBackup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteBackupSchedule(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteBucket(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteCatalogService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteConfigMap(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteEgressPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteEventSource(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteFunction(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteGateway(_ context.Context, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteGrant(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteIdentity(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteInvocation(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteKVStore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteNamespace(_ context.Context, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeletePolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteResourceGroup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ bool, _ string) error
- func (s *StubHandlers) DeleteRestore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteRole(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteRolesAssignment(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteRoute(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteRuntimeClass(_ context.Context, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteSecret(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteSensor(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteSite(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteWorkerNode(_ context.Context, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteWorkflow(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) DeleteWorkflowRun(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
- func (s *StubHandlers) GetApp(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.App, error)
- func (s *StubHandlers) GetAppRevision(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.AppRevision, error)
- func (s *StubHandlers) GetBackup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Backup, error)
- func (s *StubHandlers) GetBackupSchedule(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.BackupSchedule, error)
- func (s *StubHandlers) GetBucket(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Bucket, error)
- func (s *StubHandlers) GetCatalogService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.CatalogService, error)
- func (s *StubHandlers) GetConfigMap(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.ConfigMap, error)
- func (s *StubHandlers) GetEgressPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.EgressPolicy, error)
- func (s *StubHandlers) GetEventSource(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.EventSource, error)
- func (s *StubHandlers) GetFunction(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Function, error)
- func (s *StubHandlers) GetGateway(_ context.Context, name v1.ObjectName) (v1.Gateway, error)
- func (s *StubHandlers) GetGrant(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Grant, error)
- func (s *StubHandlers) GetIdentity(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Identity, error)
- func (s *StubHandlers) GetInvocation(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Invocation, error)
- func (s *StubHandlers) GetKVStore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.KVStore, error)
- func (s *StubHandlers) GetNamespace(_ context.Context, name v1.ObjectName) (v1.Namespace, error)
- func (s *StubHandlers) GetPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Policy, error)
- func (s *StubHandlers) GetResourceGroup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.ResourceGroup, error)
- func (s *StubHandlers) GetRestore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Restore, error)
- func (s *StubHandlers) GetRevision(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Revision, error)
- func (s *StubHandlers) GetRole(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Role, error)
- func (s *StubHandlers) GetRolesAssignment(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.RolesAssignment, error)
- func (s *StubHandlers) GetRoute(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Route, error)
- func (s *StubHandlers) GetRuntimeClass(_ context.Context, name v1.ObjectName) (v1.RuntimeClass, error)
- func (s *StubHandlers) GetSecret(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Secret, error)
- func (s *StubHandlers) GetSensor(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Sensor, error)
- func (s *StubHandlers) GetService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Service, error)
- func (s *StubHandlers) GetSite(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Site, error)
- func (s *StubHandlers) GetWorkerNode(_ context.Context, name v1.ObjectName) (v1.WorkerNode, error)
- func (s *StubHandlers) GetWorkflow(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Workflow, error)
- func (s *StubHandlers) GetWorkflowRun(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.WorkflowRun, error)
- func (s *StubHandlers) HandoverKVStore(_ context.Context, ns v1.NamespaceName, name, _ v1.ObjectName) (v1.KVStore, error)
- func (s *StubHandlers) ListAppRevisions(_ context.Context, ns v1.NamespaceName) ([]v1.AppRevision, error)
- func (s *StubHandlers) ListApps(_ context.Context, ns v1.NamespaceName) ([]v1.App, error)
- func (s *StubHandlers) ListBackupSchedules(_ context.Context, ns v1.NamespaceName) ([]v1.BackupSchedule, error)
- func (s *StubHandlers) ListBackups(_ context.Context, ns v1.NamespaceName) ([]v1.Backup, error)
- func (s *StubHandlers) ListBuckets(_ context.Context, ns v1.NamespaceName) ([]v1.Bucket, error)
- func (s *StubHandlers) ListCatalogServices(_ context.Context, ns v1.NamespaceName) ([]v1.CatalogService, error)
- func (s *StubHandlers) ListConfigMaps(_ context.Context, ns v1.NamespaceName) ([]v1.ConfigMap, error)
- func (s *StubHandlers) ListEgressPolicies(_ context.Context, ns v1.NamespaceName) ([]v1.EgressPolicy, error)
- func (s *StubHandlers) ListEventSources(_ context.Context, ns v1.NamespaceName) ([]v1.EventSource, error)
- func (s *StubHandlers) ListFunctions(_ context.Context, ns v1.NamespaceName) ([]v1.Function, error)
- func (s *StubHandlers) ListGateways(_ context.Context) ([]v1.Gateway, error)
- func (s *StubHandlers) ListGrants(_ context.Context, ns v1.NamespaceName) ([]v1.Grant, error)
- func (s *StubHandlers) ListIdentities(_ context.Context, ns v1.NamespaceName) ([]v1.Identity, error)
- func (s *StubHandlers) ListInvocations(_ context.Context, ns v1.NamespaceName) ([]v1.Invocation, error)
- func (s *StubHandlers) ListKVStores(_ context.Context, ns v1.NamespaceName) ([]v1.KVStore, error)
- func (s *StubHandlers) ListNamespaces(_ context.Context) ([]v1.Namespace, error)
- func (s *StubHandlers) ListPolicies(_ context.Context, ns v1.NamespaceName) ([]v1.Policy, error)
- func (s *StubHandlers) ListResourceGroups(_ context.Context, ns v1.NamespaceName) ([]v1.ResourceGroup, error)
- func (s *StubHandlers) ListRestores(_ context.Context, ns v1.NamespaceName) ([]v1.Restore, error)
- func (s *StubHandlers) ListRevisions(_ context.Context, ns v1.NamespaceName) ([]v1.Revision, error)
- func (s *StubHandlers) ListRoles(_ context.Context, ns v1.NamespaceName) ([]v1.Role, error)
- func (s *StubHandlers) ListRolesAssignments(_ context.Context, ns v1.NamespaceName) ([]v1.RolesAssignment, error)
- func (s *StubHandlers) ListRoutes(_ context.Context, ns v1.NamespaceName) ([]v1.Route, error)
- func (s *StubHandlers) ListRuntimeClasses(_ context.Context) ([]v1.RuntimeClass, error)
- func (s *StubHandlers) ListSecrets(_ context.Context, ns v1.NamespaceName) ([]v1.Secret, error)
- func (s *StubHandlers) ListSensors(_ context.Context, ns v1.NamespaceName) ([]v1.Sensor, error)
- func (s *StubHandlers) ListServices(_ context.Context, ns v1.NamespaceName) ([]v1.Service, error)
- func (s *StubHandlers) ListSites(_ context.Context, ns v1.NamespaceName) ([]v1.Site, error)
- func (s *StubHandlers) ListWorkerNodes(_ context.Context) ([]v1.WorkerNode, error)
- func (s *StubHandlers) ListWorkflowRuns(_ context.Context, ns v1.NamespaceName) ([]v1.WorkflowRun, error)
- func (s *StubHandlers) ListWorkflows(_ context.Context, ns v1.NamespaceName) ([]v1.Workflow, error)
- func (s *StubHandlers) ReplaceApp(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, app v1.App) (v1.App, error)
- func (s *StubHandlers) ReplaceBackup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, b v1.Backup) (v1.Backup, error)
- func (s *StubHandlers) ReplaceBackupSchedule(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ...) (v1.BackupSchedule, error)
- func (s *StubHandlers) ReplaceBucket(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, b v1.Bucket) (v1.Bucket, error)
- func (s *StubHandlers) ReplaceCatalogService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ...) (v1.CatalogService, error)
- func (s *StubHandlers) ReplaceConfigMap(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, cfg v1.ConfigMap) (v1.ConfigMap, error)
- func (s *StubHandlers) ReplaceEgressPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ep v1.EgressPolicy) (v1.EgressPolicy, error)
- func (s *StubHandlers) ReplaceEventSource(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, es v1.EventSource) (v1.EventSource, error)
- func (s *StubHandlers) ReplaceFunction(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, fn v1.Function) (v1.Function, error)
- func (s *StubHandlers) ReplaceGateway(_ context.Context, name v1.ObjectName, gw v1.Gateway) (v1.Gateway, error)
- func (s *StubHandlers) ReplaceGrant(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, g v1.Grant) (v1.Grant, error)
- func (s *StubHandlers) ReplaceIdentity(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, id v1.Identity) (v1.Identity, error)
- func (s *StubHandlers) ReplaceInvocation(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, inv v1.Invocation) (v1.Invocation, error)
- func (s *StubHandlers) ReplaceKVStore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ks v1.KVStore) (v1.KVStore, error)
- func (s *StubHandlers) ReplaceNamespace(_ context.Context, name v1.ObjectName, ns v1.Namespace) (v1.Namespace, error)
- func (s *StubHandlers) ReplacePolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, pol v1.Policy) (v1.Policy, error)
- func (s *StubHandlers) ReplaceResourceGroup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ...) (v1.ResourceGroup, error)
- func (s *StubHandlers) ReplaceRestore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, r v1.Restore) (v1.Restore, error)
- func (s *StubHandlers) ReplaceRole(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ro v1.Role) (v1.Role, error)
- func (s *StubHandlers) ReplaceRolesAssignment(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ...) (v1.RolesAssignment, error)
- func (s *StubHandlers) ReplaceRoute(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, rt v1.Route) (v1.Route, error)
- func (s *StubHandlers) ReplaceRuntimeClass(_ context.Context, name v1.ObjectName, rc v1.RuntimeClass) (v1.RuntimeClass, error)
- func (s *StubHandlers) ReplaceSecret(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, sec v1.Secret) (v1.Secret, error)
- func (s *StubHandlers) ReplaceSensor(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, se v1.Sensor) (v1.Sensor, error)
- func (s *StubHandlers) ReplaceService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, svc v1.Service) (v1.Service, error)
- func (s *StubHandlers) ReplaceSite(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, si v1.Site) (v1.Site, error)
- func (s *StubHandlers) ReplaceWorkerNode(_ context.Context, name v1.ObjectName, wr v1.WorkerNode) (v1.WorkerNode, error)
- func (s *StubHandlers) ReplaceWorkflow(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, wf v1.Workflow) (v1.Workflow, error)
- func (s *StubHandlers) ReplaceWorkflowRun(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, run v1.WorkflowRun) (v1.WorkflowRun, error)
- type WorkflowRunLogQuerier
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewServer ¶
NewServer builds the authenticated, authorized, store-backed control-plane API (ADR-0018): a chi router with the authn middleware mounted, serving the huma operations (ADR-0005) against the store-backed Handlers. The spec/docs endpoints stay public; everything under /apis requires a valid token/API key.
func RegisterAppRetry ¶ added in v0.11.0
func RegisterAppRetry(api huma.API, retrier AppRetrier, authz auth.Authorizer)
RegisterAppRetry registers POST …/namespaces/{namespace}/apps/{name}/retry (ADR-0214 Decision 7), an imperative action like the DLQ replay: it authorizes an update of the App and calls the retrier. Being a POST action, it takes no If-Match (ADR-0210).
func RegisterDeadLetters ¶
func RegisterDeadLetters(api huma.API, store deadletter.Store, replayer Replayer, authz auth.Authorizer)
RegisterDeadLetters registers the DLQ read + replay/discard routes (ADR-0118 §4), mirroring the ADR-0106 run-logs route shape:
GET …/namespaces/{ns}/deadletters → list (read — authorizes get/Sensor)
GET …/namespaces/{ns}/deadletters/{id} → describe (read — authorizes get/Sensor)
POST …/namespaces/{ns}/deadletters/{id}/replay → replay (imperative — authorizes delete/Sensor)
DELETE …/namespaces/{ns}/deadletters/{id} → discard (CRUD delete — authorizes delete/Sensor)
The read routes stay purely read-only (GET), following the ADR-0106 precedent — replay is the sole imperative departure. Read authorizes a get verb; replay/discard authorize a DLQ-write (delete) verb.
func RegisterHold ¶ added in v0.11.0
func RegisterHold(api huma.API, h Holder, authz auth.Authorizer)
RegisterHold registers the hold routes (ADR-0206 Decision 8), cluster-scoped and admin-only as ADR-0205's backup status: GET …/hold authorizes get on WorkerNode, POST …/hold/release update; a release of namespaces (ADR-0222 Decision 8) authorizes update on the Namespace instead.
func RegisterLogs ¶
func RegisterLogs(api huma.API, q LogQuerier, authz auth.Authorizer)
RegisterLogs registers the namespaced function-logs read operation. It authorizes get/Function in the namespace BEFORE reading — the ADR-0084 query-time tenant scope: admin sees any namespace, developer/viewer only a bound one, else 403. The readable namespace is the authorized path segment, never a client-asserted filter. NewServer calls it when a reader is configured; spec generation calls RegisterStubLogs so the operation is documented in the committed OpenAPI.
func RegisterPlatformBackup ¶ added in v0.11.0
func RegisterPlatformBackup(api huma.API, s BackupStatuser, authz auth.Authorizer)
RegisterPlatformBackup registers GET /apis/funcd.io/v1alpha1/platformbackup. It authorizes get on the cluster-scoped WorkerNode, so only an admin reads it; a failed listing of the target is 503. A nil s (no backup stream on) reads enabled: false.
func RegisterRoutes ¶
RegisterRoutes registers every kind's CRUD operation on api, dispatching to h.
func RegisterStubAppRetry ¶ added in v0.11.0
RegisterStubAppRetry registers the retry operation with inert deps for spec generation.
func RegisterStubDeadLetters ¶
RegisterStubDeadLetters registers the DLQ operations with inert deps for spec generation, so the routes are documented in the committed OpenAPI even though they mount at runtime only when the store is present.
func RegisterStubHold ¶ added in v0.11.0
RegisterStubHold registers the hold routes with inert deps for spec generation.
func RegisterStubLogs ¶
RegisterStubLogs registers the logs operation with inert deps — for spec generation (specgen + the golden test), where only the operation shape matters, so the route is documented in the committed spec even though it is mounted at runtime only when a blob substrate is present.
func RegisterStubPlatformBackup ¶ added in v0.11.0
RegisterStubPlatformBackup registers the platform backup route for spec generation.
func RegisterStubWorkflowRunLogs ¶
RegisterStubWorkflowRunLogs registers the run-logs operation with inert deps for spec generation, so the route is documented in the committed OpenAPI even though it mounts at runtime only with a blob substrate.
func RegisterWorkflowRunLogs ¶
func RegisterWorkflowRunLogs(api huma.API, q WorkflowRunLogQuerier, authz auth.Authorizer)
RegisterWorkflowRunLogs registers GET …/workflowruns/{name}/logs (ADR-0106): it authorizes get/WorkflowRun in the namespace, resolves the run's status.traceId, and returns the namespace-wide, trace-filtered logs (the whole composition). NewServer calls it when a run-log querier is configured; spec generation uses the stub so the route is documented in the committed OpenAPI.
Types ¶
type AppPlanner ¶ added in v0.11.0
type AppPlanner interface {
PlanApp(ctx context.Context, app *v1.App) (v1.AppPlan, error) // reads the store, writes nothing
}
AppPlanner plans the rollout of an App write (ADR-0220 Decision 5); internal/app implements it, so the control plane does not import the App package.
type AppRetrier ¶ added in v0.11.0
type AppRetrier interface {
Retry(ctx context.Context, ns v1.NamespaceName, app v1.ObjectName) error
}
AppRetrier is the App reconciler's retry seam (ADR-0214 Decision 7): it starts again, without waiting, the failed hook of an App's latest revision.
type BackupStatuser ¶ added in v0.11.0
BackupStatuser reads the platform backup's status (ADR-0205 Decision 4); *runner.Runner is one.
type Deps ¶
type Deps struct {
Store store.Store
Authorizer auth.Authorizer
Credentials middleware.CredentialStore
Logger *slog.Logger
// Admissions are extra admissions registered on the write-path pipeline (ADR-0063), appended
// after the built-in validate admission. ADR-0064 passes the link admissions here. Optional.
Admissions []admission.Admission
// Logs is the function-log reader (ADR-0084). Optional; when set, NewServer registers the
// namespaced GET …/functions/{name}/logs route (authorized get/Function per caller).
Logs LogQuerier
// RunLogs is the run-scoped log querier (ADR-0106). Optional; when set, NewServer registers
// GET …/workflowruns/{name}/logs (authorized get/WorkflowRun; resolves status.traceId).
RunLogs WorkflowRunLogQuerier
// DeadLetters is the eventing DLQ store (ADR-0118). Optional; when set (with Replayer), NewServer
// registers the DLQ read + replay/discard routes under …/namespaces/{ns}/deadletters.
DeadLetters deadletter.Store
// Replayer performs the imperative DLQ replay (ADR-0118 §4). Required alongside DeadLetters.
Replayer Replayer
// Collector is the owner garbage collector a forced ResourceGroup delete runs (ADR-0170). Optional; nil ⇒
// force answers fault.Unavailable.
Collector OwnerCollector
// AppRetrier retries an App's failed hook (ADR-0214). Optional; when set, NewServer registers POST
// …/apps/{name}/retry.
AppRetrier AppRetrier
// Backup reads the platform backup's status (ADR-0205). Optional; nil ⇒ the route reads enabled: false.
Backup BackupStatuser
// Hold is the platform hold's status and release (ADR-0206). Optional; when set, NewServer registers
// GET …/hold and POST …/hold/release.
Hold Holder
// Planner plans a dry-run App write (ADR-0220). Optional; nil ⇒ a dry-run App create or replace answers
// fault.Unavailable.
Planner AppPlanner
}
Deps configures the control-plane API server (ADR-0018, internal component).
type DryRunParams ¶ added in v0.11.0
type DryRunParams struct {
DryRun bool `query:"dryRun" doc:"admit the write and store nothing (ADR-0220)"`
}
DryRunParams is embedded in every create and replace input of a writable kind (ADR-0220 Decision 1). It is exported because huma skips unexported embedded fields.
type Handlers ¶
type Handlers interface {
// Namespace (cluster-scoped)
GetNamespace(ctx context.Context, name v1.ObjectName) (v1.Namespace, error)
CreateNamespace(ctx context.Context, ns v1.Namespace) (v1.Namespace, error)
ListNamespaces(ctx context.Context) ([]v1.Namespace, error)
ReplaceNamespace(ctx context.Context, name v1.ObjectName, ns v1.Namespace) (v1.Namespace, error)
DeleteNamespace(ctx context.Context, name v1.ObjectName, rv string) error
// ResourceGroup (namespaced)
GetResourceGroup(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.ResourceGroup, error)
CreateResourceGroup(ctx context.Context, rg v1.ResourceGroup) (v1.ResourceGroup, error)
ListResourceGroups(ctx context.Context, ns v1.NamespaceName) ([]v1.ResourceGroup, error)
ReplaceResourceGroup(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rg v1.ResourceGroup) (v1.ResourceGroup, error)
DeleteResourceGroup(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, force bool, rv string) error
// Function (namespaced)
GetFunction(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Function, error)
CreateFunction(ctx context.Context, fn v1.Function) (v1.Function, error)
ListFunctions(ctx context.Context, ns v1.NamespaceName) ([]v1.Function, error)
ReplaceFunction(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, fn v1.Function) (v1.Function, error)
DeleteFunction(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Revision (namespaced)
GetRevision(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Revision, error)
ListRevisions(ctx context.Context, ns v1.NamespaceName) ([]v1.Revision, error)
// Route (namespaced)
GetRoute(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Route, error)
CreateRoute(ctx context.Context, rt v1.Route) (v1.Route, error)
ListRoutes(ctx context.Context, ns v1.NamespaceName) ([]v1.Route, error)
ReplaceRoute(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rt v1.Route) (v1.Route, error)
DeleteRoute(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Service (namespaced)
GetService(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Service, error)
CreateService(ctx context.Context, svc v1.Service) (v1.Service, error)
ListServices(ctx context.Context, ns v1.NamespaceName) ([]v1.Service, error)
ReplaceService(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, svc v1.Service) (v1.Service, error)
DeleteService(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// EventSource (namespaced)
GetEventSource(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.EventSource, error)
CreateEventSource(ctx context.Context, es v1.EventSource) (v1.EventSource, error)
ListEventSources(ctx context.Context, ns v1.NamespaceName) ([]v1.EventSource, error)
ReplaceEventSource(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, es v1.EventSource) (v1.EventSource, error)
DeleteEventSource(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// ConfigMap (namespaced)
GetConfigMap(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.ConfigMap, error)
CreateConfigMap(ctx context.Context, cfg v1.ConfigMap) (v1.ConfigMap, error)
ListConfigMaps(ctx context.Context, ns v1.NamespaceName) ([]v1.ConfigMap, error)
ReplaceConfigMap(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, cfg v1.ConfigMap) (v1.ConfigMap, error)
DeleteConfigMap(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Secret (namespaced)
GetSecret(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Secret, error)
CreateSecret(ctx context.Context, sec v1.Secret) (v1.Secret, error)
ListSecrets(ctx context.Context, ns v1.NamespaceName) ([]v1.Secret, error)
ReplaceSecret(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, sec v1.Secret) (v1.Secret, error)
DeleteSecret(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Grant (namespaced)
GetGrant(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Grant, error)
CreateGrant(ctx context.Context, g v1.Grant) (v1.Grant, error)
ListGrants(ctx context.Context, ns v1.NamespaceName) ([]v1.Grant, error)
ReplaceGrant(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, g v1.Grant) (v1.Grant, error)
DeleteGrant(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// EgressPolicy (namespaced)
GetEgressPolicy(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.EgressPolicy, error)
CreateEgressPolicy(ctx context.Context, ep v1.EgressPolicy) (v1.EgressPolicy, error)
ListEgressPolicies(ctx context.Context, ns v1.NamespaceName) ([]v1.EgressPolicy, error)
ReplaceEgressPolicy(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, ep v1.EgressPolicy) (v1.EgressPolicy, error)
DeleteEgressPolicy(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Invocation (namespaced)
GetInvocation(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Invocation, error)
CreateInvocation(ctx context.Context, inv v1.Invocation) (v1.Invocation, error)
ListInvocations(ctx context.Context, ns v1.NamespaceName) ([]v1.Invocation, error)
ReplaceInvocation(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, inv v1.Invocation) (v1.Invocation, error)
DeleteInvocation(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// RuntimeClass (cluster-scoped)
GetRuntimeClass(ctx context.Context, name v1.ObjectName) (v1.RuntimeClass, error)
CreateRuntimeClass(ctx context.Context, rc v1.RuntimeClass) (v1.RuntimeClass, error)
ListRuntimeClasses(ctx context.Context) ([]v1.RuntimeClass, error)
ReplaceRuntimeClass(ctx context.Context, name v1.ObjectName, rc v1.RuntimeClass) (v1.RuntimeClass, error)
DeleteRuntimeClass(ctx context.Context, name v1.ObjectName, rv string) error
// WorkerNode (cluster-scoped)
GetWorkerNode(ctx context.Context, name v1.ObjectName) (v1.WorkerNode, error)
CreateWorkerNode(ctx context.Context, w v1.WorkerNode) (v1.WorkerNode, error)
ListWorkerNodes(ctx context.Context) ([]v1.WorkerNode, error)
ReplaceWorkerNode(ctx context.Context, name v1.ObjectName, w v1.WorkerNode) (v1.WorkerNode, error)
DeleteWorkerNode(ctx context.Context, name v1.ObjectName, rv string) error
// Gateway (cluster-scoped)
GetGateway(ctx context.Context, name v1.ObjectName) (v1.Gateway, error)
CreateGateway(ctx context.Context, gw v1.Gateway) (v1.Gateway, error)
ListGateways(ctx context.Context) ([]v1.Gateway, error)
ReplaceGateway(ctx context.Context, name v1.ObjectName, gw v1.Gateway) (v1.Gateway, error)
DeleteGateway(ctx context.Context, name v1.ObjectName, rv string) error
// KVStore (namespaced) — ADR-0072
GetKVStore(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.KVStore, error)
CreateKVStore(ctx context.Context, ks v1.KVStore) (v1.KVStore, error)
ListKVStores(ctx context.Context, ns v1.NamespaceName) ([]v1.KVStore, error)
ReplaceKVStore(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, ks v1.KVStore) (v1.KVStore, error)
DeleteKVStore(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// HandoverKVStore makes workflow the owner of a kept store (ADR-0178 Decision 6).
HandoverKVStore(ctx context.Context, ns v1.NamespaceName, name, workflow v1.ObjectName) (v1.KVStore, error)
// Bucket (namespaced) — ADR-0080
GetBucket(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Bucket, error)
CreateBucket(ctx context.Context, b v1.Bucket) (v1.Bucket, error)
ListBuckets(ctx context.Context, ns v1.NamespaceName) ([]v1.Bucket, error)
ReplaceBucket(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, b v1.Bucket) (v1.Bucket, error)
DeleteBucket(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// CatalogService (namespaced) — ADR-0086
GetCatalogService(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.CatalogService, error)
CreateCatalogService(ctx context.Context, cs v1.CatalogService) (v1.CatalogService, error)
ListCatalogServices(ctx context.Context, ns v1.NamespaceName) ([]v1.CatalogService, error)
ReplaceCatalogService(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, cs v1.CatalogService) (v1.CatalogService, error)
DeleteCatalogService(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Identity (namespaced) — ADR-0135, FEAT-0008/F100
GetIdentity(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Identity, error)
CreateIdentity(ctx context.Context, id v1.Identity) (v1.Identity, error)
ListIdentities(ctx context.Context, ns v1.NamespaceName) ([]v1.Identity, error)
ReplaceIdentity(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, id v1.Identity) (v1.Identity, error)
DeleteIdentity(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Role + RolesAssignment (namespaced) — ADR-0136, FEAT-0008/F101
GetRole(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Role, error)
CreateRole(ctx context.Context, ro v1.Role) (v1.Role, error)
ListRoles(ctx context.Context, ns v1.NamespaceName) ([]v1.Role, error)
ReplaceRole(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, ro v1.Role) (v1.Role, error)
DeleteRole(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
GetRolesAssignment(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.RolesAssignment, error)
CreateRolesAssignment(ctx context.Context, ra v1.RolesAssignment) (v1.RolesAssignment, error)
ListRolesAssignments(ctx context.Context, ns v1.NamespaceName) ([]v1.RolesAssignment, error)
ReplaceRolesAssignment(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, ra v1.RolesAssignment) (v1.RolesAssignment, error)
DeleteRolesAssignment(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Site (namespaced) — ADR-0139, FEAT-0003/F103
GetSite(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Site, error)
CreateSite(ctx context.Context, si v1.Site) (v1.Site, error)
ListSites(ctx context.Context, ns v1.NamespaceName) ([]v1.Site, error)
ReplaceSite(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, si v1.Site) (v1.Site, error)
DeleteSite(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// App (namespaced) — ADR-0199, FEAT-0010/F113
GetApp(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.App, error)
CreateApp(ctx context.Context, app v1.App) (v1.App, error)
ListApps(ctx context.Context, ns v1.NamespaceName) ([]v1.App, error)
ReplaceApp(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, app v1.App) (v1.App, error)
DeleteApp(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// AppRevision (namespaced, read-only) — ADR-0200, FEAT-0010/F114
GetAppRevision(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.AppRevision, error)
ListAppRevisions(ctx context.Context, ns v1.NamespaceName) ([]v1.AppRevision, error)
// BackupSchedule, Backup and Restore (namespaced) — ADR-0222, FEAT-0009/F111
GetBackupSchedule(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.BackupSchedule, error)
CreateBackupSchedule(ctx context.Context, s v1.BackupSchedule) (v1.BackupSchedule, error)
ListBackupSchedules(ctx context.Context, ns v1.NamespaceName) ([]v1.BackupSchedule, error)
ReplaceBackupSchedule(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, s v1.BackupSchedule) (v1.BackupSchedule, error)
DeleteBackupSchedule(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
GetBackup(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Backup, error)
CreateBackup(ctx context.Context, b v1.Backup) (v1.Backup, error)
ListBackups(ctx context.Context, ns v1.NamespaceName) ([]v1.Backup, error)
ReplaceBackup(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, b v1.Backup) (v1.Backup, error)
DeleteBackup(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
GetRestore(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Restore, error)
CreateRestore(ctx context.Context, r v1.Restore) (v1.Restore, error)
ListRestores(ctx context.Context, ns v1.NamespaceName) ([]v1.Restore, error)
ReplaceRestore(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, r v1.Restore) (v1.Restore, error)
DeleteRestore(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Policy (namespaced) — ADR-0074
GetPolicy(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Policy, error)
CreatePolicy(ctx context.Context, pol v1.Policy) (v1.Policy, error)
ListPolicies(ctx context.Context, ns v1.NamespaceName) ([]v1.Policy, error)
ReplacePolicy(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, pol v1.Policy) (v1.Policy, error)
DeletePolicy(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Workflow (namespaced) — ADR-0094
GetWorkflow(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Workflow, error)
CreateWorkflow(ctx context.Context, wf v1.Workflow) (v1.Workflow, error)
ListWorkflows(ctx context.Context, ns v1.NamespaceName) ([]v1.Workflow, error)
ReplaceWorkflow(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, wf v1.Workflow) (v1.Workflow, error)
DeleteWorkflow(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// WorkflowRun (namespaced) — ADR-0094
GetWorkflowRun(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.WorkflowRun, error)
CreateWorkflowRun(ctx context.Context, run v1.WorkflowRun) (v1.WorkflowRun, error)
ListWorkflowRuns(ctx context.Context, ns v1.NamespaceName) ([]v1.WorkflowRun, error)
ReplaceWorkflowRun(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, run v1.WorkflowRun) (v1.WorkflowRun, error)
DeleteWorkflowRun(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
// Sensor (namespaced) — ADR-0109
GetSensor(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Sensor, error)
CreateSensor(ctx context.Context, se v1.Sensor) (v1.Sensor, error)
ListSensors(ctx context.Context, ns v1.NamespaceName) ([]v1.Sensor, error)
ReplaceSensor(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, se v1.Sensor) (v1.Sensor, error)
DeleteSensor(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rv string) error
}
Handlers is the seam: one method per operation. Stub impl for spec-gen + tests; real impl (store/controller-backed) is provided by P-L/F07.
func NewStoreHandlers ¶
func NewStoreHandlers(st store.Store, authz auth.Authorizer, admit *admission.Pipeline, collector OwnerCollector, planner AppPlanner) Handlers
NewStoreHandlers builds the store-backed control-plane Handlers (ADR-0018). The admission pipeline (ADR-0063) is the admit step on every write; pass admission.NewPipeline(...).
type HoldDeps ¶ added in v0.11.0
type HoldDeps struct {
Hold *hold.Hold
Store store.Store
DeadLetters deadletter.Store
Platform HoldPlatform
Clock clock.Clock
}
HoldDeps are the hold service's dependencies; Hold nil is a platform never held. Clock nil ⇒ clock.System().
type HoldPlatform ¶ added in v0.11.0
type HoldPlatform interface {
Counts(ctx context.Context) (map[v1.Kind]int, error)
Orphans(ctx context.Context) ([]string, error)
BucketOrphans(ctx context.Context) ([]v1.ObjectRef, error)
Advance(ctx context.Context, ns v1.NamespaceName, source v1.ObjectName) error
Pending(ctx context.Context, ns v1.NamespaceName, source v1.ObjectName) (map[string]int, error)
}
HoldPlatform is what the hold's status and release read from the assembled platform (ADR-0206 Decisions 1, 8): the objects per kind, the data the boot reclaims would drop, and the blob watcher's seen lists.
type HoldService ¶ added in v0.11.0
type HoldService struct {
// contains filtered or unexported fields
}
HoldService reads the hold's evidence and releases it (ADR-0206 Decision 8).
func NewHoldService ¶ added in v0.11.0
func NewHoldService(d HoldDeps) *HoldService
NewHoldService builds the hold service.
func (*HoldService) Release ¶ added in v0.11.0
func (s *HoldService) Release(ctx context.Context, advance []string) error
Release lifts the hold (Decision 8): not held ⇒ fault.Conflict; an advance naming no blob event of an existing EventSource ⇒ fault.Invalid; both before any change. Then each source advances, rerun-safe (a failure returns with the marker kept), and the hold writes the release time and deletes the marker.
func (*HoldService) ReleaseNamespaces ¶ added in v0.11.0
func (s *HoldService) ReleaseNamespaces(ctx context.Context, nss []v1.NamespaceName) error
ReleaseNamespaces removes the markers holding each of nss (ADR-0222 Decision 8): the data marker restore run left, and the restore marker of an in-place Restore that ended without lifting it (Interrupted). A namespace not held, or whose restore marker names a Restore still Pending or Running, is fault.Conflict, the ones before it released.
type Holder ¶ added in v0.11.0
type Holder interface {
Status(ctx context.Context) (hold.Evidence, error)
Release(ctx context.Context, advance []string) error
ReleaseNamespaces(ctx context.Context, nss []v1.NamespaceName) error
}
Holder is the hold's status and release the routes call.
type IfMatchParams ¶ added in v0.11.0
type IfMatchParams struct {
IfMatch string `header:"If-Match" doc:"one strong entity-tag \"<resourceVersion>\" or *; the write is conditional on it (ADR-0210)"`
// contains filtered or unexported fields
}
IfMatchParams is embedded in every PUT and DELETE input (ADR-0210 Decision 1). It is exported because huma skips unexported embedded fields.
func (*IfMatchParams) Resolve ¶ added in v0.11.0
func (p *IfMatchParams) Resolve(ctx huma.Context) []error
Resolve reads every If-Match line, as huma's own header binding keeps only the first: rv is "" when the header is absent or "*", else the one strong entity-tag unquoted. The version itself is never parsed (ADR-0202).
type KVStoreHandover ¶ added in v0.5.0
type KVStoreHandover struct {
Workflow v1.ObjectName `json:"workflow"`
}
KVStoreHandover is the handover request body: the Workflow that becomes the store's owner.
type LogQuerier ¶
LogQuerier is the control-plane's view of the function-log reader (logread.Reader, ADR-0084). An optional server dep; when set, NewServer registers GET …/functions/{name}/logs.
type OwnerCollector ¶ added in v0.4.0
type OwnerCollector interface {
CollectNamespace(ctx context.Context, ns v1.NamespaceName) error
}
OwnerCollector collects the dead-owned children of a namespace (internal/gc.Collector, ADR-0170).
type PlatformBackupStatus ¶ added in v0.11.0
PlatformBackupStatus is runner.Status under a schema name apart from v1alpha1.Status.
type Replayer ¶
Replayer is the replay seam the DLQ route needs from the Sensor reconciler (ADR-0118 §4). It performs ONE synchronous delivery attempt against the LIVE Sensor spec — the deliberate imperative departure from the ADR-0094 store-CRUD-only stance, scoped to this one method (a DeadLetter is not a CRD, so there is no reconcile loop to observe a declarative replay marker).
type RunLogGetter ¶
type RunLogGetter interface {
Get(ctx context.Context, gvk v1.GroupVersionKind, ns v1.NamespaceName, name v1.ObjectName) (v1.Object, error)
}
RunLogGetter is the minimal metastore view the run-log querier needs (ADR-0106): Get a WorkflowRun (for its status.traceId) and, for a run with no pinned spec, its Workflow. store.Store satisfies it.
type RunRecordGetter ¶ added in v0.6.1
type RunRecordGetter interface {
Get(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (*runstate.Record, error)
}
RunRecordGetter is the engine's run-state view the run-log querier resolves --step against: the spec a run pinned at start (ADR-0094). runstate.Store satisfies it.
type StubHandlers ¶
type StubHandlers struct {
// contains filtered or unexported fields
}
StubHandlers is an in-memory Handlers implementation for spec-gen and tests. P-L/F07 replaces it with real store/controller-backed handlers.
func NewStubHandlers ¶
func NewStubHandlers() *StubHandlers
NewStubHandlers returns an initialized StubHandlers.
func (*StubHandlers) CreateBackup ¶ added in v0.11.0
func (*StubHandlers) CreateBackupSchedule ¶ added in v0.11.0
func (s *StubHandlers) CreateBackupSchedule(_ context.Context, b v1.BackupSchedule) (v1.BackupSchedule, error)
func (*StubHandlers) CreateBucket ¶
func (*StubHandlers) CreateCatalogService ¶
func (s *StubHandlers) CreateCatalogService(_ context.Context, cs v1.CatalogService) (v1.CatalogService, error)
func (*StubHandlers) CreateConfigMap ¶
func (*StubHandlers) CreateEgressPolicy ¶
func (s *StubHandlers) CreateEgressPolicy(_ context.Context, ep v1.EgressPolicy) (v1.EgressPolicy, error)
func (*StubHandlers) CreateEventSource ¶
func (s *StubHandlers) CreateEventSource(_ context.Context, es v1.EventSource) (v1.EventSource, error)
func (*StubHandlers) CreateFunction ¶
func (*StubHandlers) CreateGateway ¶
func (*StubHandlers) CreateGrant ¶
func (*StubHandlers) CreateIdentity ¶
func (*StubHandlers) CreateInvocation ¶
func (s *StubHandlers) CreateInvocation(_ context.Context, inv v1.Invocation) (v1.Invocation, error)
func (*StubHandlers) CreateKVStore ¶
func (*StubHandlers) CreateNamespace ¶
func (*StubHandlers) CreatePolicy ¶
func (*StubHandlers) CreateResourceGroup ¶
func (s *StubHandlers) CreateResourceGroup(_ context.Context, rg v1.ResourceGroup) (v1.ResourceGroup, error)
func (*StubHandlers) CreateRestore ¶ added in v0.11.0
func (*StubHandlers) CreateRole ¶
func (*StubHandlers) CreateRolesAssignment ¶
func (s *StubHandlers) CreateRolesAssignment(_ context.Context, ra v1.RolesAssignment) (v1.RolesAssignment, error)
func (*StubHandlers) CreateRoute ¶
func (*StubHandlers) CreateRuntimeClass ¶
func (s *StubHandlers) CreateRuntimeClass(_ context.Context, rc v1.RuntimeClass) (v1.RuntimeClass, error)
func (*StubHandlers) CreateSecret ¶
func (*StubHandlers) CreateSensor ¶
func (*StubHandlers) CreateService ¶
func (*StubHandlers) CreateSite ¶
func (*StubHandlers) CreateWorkerNode ¶
func (s *StubHandlers) CreateWorkerNode(_ context.Context, wr v1.WorkerNode) (v1.WorkerNode, error)
func (*StubHandlers) CreateWorkflow ¶
func (*StubHandlers) CreateWorkflowRun ¶
func (s *StubHandlers) CreateWorkflowRun(_ context.Context, run v1.WorkflowRun) (v1.WorkflowRun, error)
func (*StubHandlers) DeleteApp ¶ added in v0.9.0
func (s *StubHandlers) DeleteApp(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteBackup ¶ added in v0.11.0
func (s *StubHandlers) DeleteBackup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteBackupSchedule ¶ added in v0.11.0
func (s *StubHandlers) DeleteBackupSchedule(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteBucket ¶
func (s *StubHandlers) DeleteBucket(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteCatalogService ¶
func (s *StubHandlers) DeleteCatalogService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteConfigMap ¶
func (s *StubHandlers) DeleteConfigMap(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteEgressPolicy ¶
func (s *StubHandlers) DeleteEgressPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteEventSource ¶
func (s *StubHandlers) DeleteEventSource(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteFunction ¶
func (s *StubHandlers) DeleteFunction(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteGateway ¶
func (s *StubHandlers) DeleteGateway(_ context.Context, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteGrant ¶
func (s *StubHandlers) DeleteGrant(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteIdentity ¶
func (s *StubHandlers) DeleteIdentity(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteInvocation ¶
func (s *StubHandlers) DeleteInvocation(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteKVStore ¶
func (s *StubHandlers) DeleteKVStore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteNamespace ¶
func (s *StubHandlers) DeleteNamespace(_ context.Context, name v1.ObjectName, _ string) error
func (*StubHandlers) DeletePolicy ¶
func (s *StubHandlers) DeletePolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteResourceGroup ¶
func (s *StubHandlers) DeleteResourceGroup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ bool, _ string) error
func (*StubHandlers) DeleteRestore ¶ added in v0.11.0
func (s *StubHandlers) DeleteRestore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteRole ¶
func (s *StubHandlers) DeleteRole(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteRolesAssignment ¶
func (s *StubHandlers) DeleteRolesAssignment(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteRoute ¶
func (s *StubHandlers) DeleteRoute(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteRuntimeClass ¶
func (s *StubHandlers) DeleteRuntimeClass(_ context.Context, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteSecret ¶
func (s *StubHandlers) DeleteSecret(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteSensor ¶
func (s *StubHandlers) DeleteSensor(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteService ¶
func (s *StubHandlers) DeleteService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteSite ¶
func (s *StubHandlers) DeleteSite(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteWorkerNode ¶
func (s *StubHandlers) DeleteWorkerNode(_ context.Context, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteWorkflow ¶
func (s *StubHandlers) DeleteWorkflow(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) DeleteWorkflowRun ¶
func (s *StubHandlers) DeleteWorkflowRun(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ string) error
func (*StubHandlers) GetApp ¶ added in v0.9.0
func (s *StubHandlers) GetApp(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.App, error)
func (*StubHandlers) GetAppRevision ¶ added in v0.9.0
func (s *StubHandlers) GetAppRevision(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.AppRevision, error)
func (*StubHandlers) GetBackup ¶ added in v0.11.0
func (s *StubHandlers) GetBackup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Backup, error)
func (*StubHandlers) GetBackupSchedule ¶ added in v0.11.0
func (s *StubHandlers) GetBackupSchedule(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.BackupSchedule, error)
func (*StubHandlers) GetBucket ¶
func (s *StubHandlers) GetBucket(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Bucket, error)
func (*StubHandlers) GetCatalogService ¶
func (s *StubHandlers) GetCatalogService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.CatalogService, error)
func (*StubHandlers) GetConfigMap ¶
func (s *StubHandlers) GetConfigMap(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.ConfigMap, error)
func (*StubHandlers) GetEgressPolicy ¶
func (s *StubHandlers) GetEgressPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.EgressPolicy, error)
func (*StubHandlers) GetEventSource ¶
func (s *StubHandlers) GetEventSource(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.EventSource, error)
func (*StubHandlers) GetFunction ¶
func (s *StubHandlers) GetFunction(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Function, error)
func (*StubHandlers) GetGateway ¶
func (s *StubHandlers) GetGateway(_ context.Context, name v1.ObjectName) (v1.Gateway, error)
func (*StubHandlers) GetGrant ¶
func (s *StubHandlers) GetGrant(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Grant, error)
func (*StubHandlers) GetIdentity ¶
func (s *StubHandlers) GetIdentity(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Identity, error)
func (*StubHandlers) GetInvocation ¶
func (s *StubHandlers) GetInvocation(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Invocation, error)
func (*StubHandlers) GetKVStore ¶
func (s *StubHandlers) GetKVStore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.KVStore, error)
func (*StubHandlers) GetNamespace ¶
func (s *StubHandlers) GetNamespace(_ context.Context, name v1.ObjectName) (v1.Namespace, error)
func (*StubHandlers) GetPolicy ¶
func (s *StubHandlers) GetPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Policy, error)
func (*StubHandlers) GetResourceGroup ¶
func (s *StubHandlers) GetResourceGroup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.ResourceGroup, error)
func (*StubHandlers) GetRestore ¶ added in v0.11.0
func (s *StubHandlers) GetRestore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Restore, error)
func (*StubHandlers) GetRevision ¶
func (s *StubHandlers) GetRevision(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Revision, error)
func (*StubHandlers) GetRole ¶
func (s *StubHandlers) GetRole(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Role, error)
func (*StubHandlers) GetRolesAssignment ¶
func (s *StubHandlers) GetRolesAssignment(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.RolesAssignment, error)
func (*StubHandlers) GetRoute ¶
func (s *StubHandlers) GetRoute(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Route, error)
func (*StubHandlers) GetRuntimeClass ¶
func (s *StubHandlers) GetRuntimeClass(_ context.Context, name v1.ObjectName) (v1.RuntimeClass, error)
func (*StubHandlers) GetSecret ¶
func (s *StubHandlers) GetSecret(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Secret, error)
func (*StubHandlers) GetSensor ¶
func (s *StubHandlers) GetSensor(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Sensor, error)
func (*StubHandlers) GetService ¶
func (s *StubHandlers) GetService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Service, error)
func (*StubHandlers) GetSite ¶
func (s *StubHandlers) GetSite(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Site, error)
func (*StubHandlers) GetWorkerNode ¶
func (s *StubHandlers) GetWorkerNode(_ context.Context, name v1.ObjectName) (v1.WorkerNode, error)
func (*StubHandlers) GetWorkflow ¶
func (s *StubHandlers) GetWorkflow(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Workflow, error)
func (*StubHandlers) GetWorkflowRun ¶
func (s *StubHandlers) GetWorkflowRun(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.WorkflowRun, error)
func (*StubHandlers) HandoverKVStore ¶ added in v0.5.0
func (s *StubHandlers) HandoverKVStore(_ context.Context, ns v1.NamespaceName, name, _ v1.ObjectName) (v1.KVStore, error)
func (*StubHandlers) ListAppRevisions ¶ added in v0.9.0
func (s *StubHandlers) ListAppRevisions(_ context.Context, ns v1.NamespaceName) ([]v1.AppRevision, error)
func (*StubHandlers) ListApps ¶ added in v0.9.0
func (s *StubHandlers) ListApps(_ context.Context, ns v1.NamespaceName) ([]v1.App, error)
func (*StubHandlers) ListBackupSchedules ¶ added in v0.11.0
func (s *StubHandlers) ListBackupSchedules(_ context.Context, ns v1.NamespaceName) ([]v1.BackupSchedule, error)
func (*StubHandlers) ListBackups ¶ added in v0.11.0
func (s *StubHandlers) ListBackups(_ context.Context, ns v1.NamespaceName) ([]v1.Backup, error)
func (*StubHandlers) ListBuckets ¶
func (s *StubHandlers) ListBuckets(_ context.Context, ns v1.NamespaceName) ([]v1.Bucket, error)
func (*StubHandlers) ListCatalogServices ¶
func (s *StubHandlers) ListCatalogServices(_ context.Context, ns v1.NamespaceName) ([]v1.CatalogService, error)
func (*StubHandlers) ListConfigMaps ¶
func (s *StubHandlers) ListConfigMaps(_ context.Context, ns v1.NamespaceName) ([]v1.ConfigMap, error)
func (*StubHandlers) ListEgressPolicies ¶
func (s *StubHandlers) ListEgressPolicies(_ context.Context, ns v1.NamespaceName) ([]v1.EgressPolicy, error)
func (*StubHandlers) ListEventSources ¶
func (s *StubHandlers) ListEventSources(_ context.Context, ns v1.NamespaceName) ([]v1.EventSource, error)
func (*StubHandlers) ListFunctions ¶
func (s *StubHandlers) ListFunctions(_ context.Context, ns v1.NamespaceName) ([]v1.Function, error)
func (*StubHandlers) ListGateways ¶
func (*StubHandlers) ListGrants ¶
func (s *StubHandlers) ListGrants(_ context.Context, ns v1.NamespaceName) ([]v1.Grant, error)
func (*StubHandlers) ListIdentities ¶
func (s *StubHandlers) ListIdentities(_ context.Context, ns v1.NamespaceName) ([]v1.Identity, error)
func (*StubHandlers) ListInvocations ¶
func (s *StubHandlers) ListInvocations(_ context.Context, ns v1.NamespaceName) ([]v1.Invocation, error)
func (*StubHandlers) ListKVStores ¶
func (s *StubHandlers) ListKVStores(_ context.Context, ns v1.NamespaceName) ([]v1.KVStore, error)
func (*StubHandlers) ListNamespaces ¶
func (*StubHandlers) ListPolicies ¶
func (s *StubHandlers) ListPolicies(_ context.Context, ns v1.NamespaceName) ([]v1.Policy, error)
func (*StubHandlers) ListResourceGroups ¶
func (s *StubHandlers) ListResourceGroups(_ context.Context, ns v1.NamespaceName) ([]v1.ResourceGroup, error)
func (*StubHandlers) ListRestores ¶ added in v0.11.0
func (s *StubHandlers) ListRestores(_ context.Context, ns v1.NamespaceName) ([]v1.Restore, error)
func (*StubHandlers) ListRevisions ¶
func (s *StubHandlers) ListRevisions(_ context.Context, ns v1.NamespaceName) ([]v1.Revision, error)
func (*StubHandlers) ListRoles ¶
func (s *StubHandlers) ListRoles(_ context.Context, ns v1.NamespaceName) ([]v1.Role, error)
func (*StubHandlers) ListRolesAssignments ¶
func (s *StubHandlers) ListRolesAssignments(_ context.Context, ns v1.NamespaceName) ([]v1.RolesAssignment, error)
func (*StubHandlers) ListRoutes ¶
func (s *StubHandlers) ListRoutes(_ context.Context, ns v1.NamespaceName) ([]v1.Route, error)
func (*StubHandlers) ListRuntimeClasses ¶
func (s *StubHandlers) ListRuntimeClasses(_ context.Context) ([]v1.RuntimeClass, error)
func (*StubHandlers) ListSecrets ¶
func (s *StubHandlers) ListSecrets(_ context.Context, ns v1.NamespaceName) ([]v1.Secret, error)
func (*StubHandlers) ListSensors ¶
func (s *StubHandlers) ListSensors(_ context.Context, ns v1.NamespaceName) ([]v1.Sensor, error)
func (*StubHandlers) ListServices ¶
func (s *StubHandlers) ListServices(_ context.Context, ns v1.NamespaceName) ([]v1.Service, error)
func (*StubHandlers) ListSites ¶
func (s *StubHandlers) ListSites(_ context.Context, ns v1.NamespaceName) ([]v1.Site, error)
func (*StubHandlers) ListWorkerNodes ¶
func (s *StubHandlers) ListWorkerNodes(_ context.Context) ([]v1.WorkerNode, error)
func (*StubHandlers) ListWorkflowRuns ¶
func (s *StubHandlers) ListWorkflowRuns(_ context.Context, ns v1.NamespaceName) ([]v1.WorkflowRun, error)
func (*StubHandlers) ListWorkflows ¶
func (s *StubHandlers) ListWorkflows(_ context.Context, ns v1.NamespaceName) ([]v1.Workflow, error)
func (*StubHandlers) ReplaceApp ¶ added in v0.9.0
func (s *StubHandlers) ReplaceApp(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, app v1.App) (v1.App, error)
func (*StubHandlers) ReplaceBackup ¶ added in v0.11.0
func (s *StubHandlers) ReplaceBackup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, b v1.Backup) (v1.Backup, error)
func (*StubHandlers) ReplaceBackupSchedule ¶ added in v0.11.0
func (s *StubHandlers) ReplaceBackupSchedule(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, b v1.BackupSchedule) (v1.BackupSchedule, error)
func (*StubHandlers) ReplaceBucket ¶
func (s *StubHandlers) ReplaceBucket(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, b v1.Bucket) (v1.Bucket, error)
func (*StubHandlers) ReplaceCatalogService ¶
func (s *StubHandlers) ReplaceCatalogService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, cs v1.CatalogService) (v1.CatalogService, error)
func (*StubHandlers) ReplaceConfigMap ¶
func (s *StubHandlers) ReplaceConfigMap(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, cfg v1.ConfigMap) (v1.ConfigMap, error)
func (*StubHandlers) ReplaceEgressPolicy ¶
func (s *StubHandlers) ReplaceEgressPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ep v1.EgressPolicy) (v1.EgressPolicy, error)
func (*StubHandlers) ReplaceEventSource ¶
func (s *StubHandlers) ReplaceEventSource(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, es v1.EventSource) (v1.EventSource, error)
func (*StubHandlers) ReplaceFunction ¶
func (s *StubHandlers) ReplaceFunction(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, fn v1.Function) (v1.Function, error)
func (*StubHandlers) ReplaceGateway ¶
func (s *StubHandlers) ReplaceGateway(_ context.Context, name v1.ObjectName, gw v1.Gateway) (v1.Gateway, error)
func (*StubHandlers) ReplaceGrant ¶
func (s *StubHandlers) ReplaceGrant(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, g v1.Grant) (v1.Grant, error)
func (*StubHandlers) ReplaceIdentity ¶
func (s *StubHandlers) ReplaceIdentity(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, id v1.Identity) (v1.Identity, error)
func (*StubHandlers) ReplaceInvocation ¶
func (s *StubHandlers) ReplaceInvocation(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, inv v1.Invocation) (v1.Invocation, error)
func (*StubHandlers) ReplaceKVStore ¶
func (s *StubHandlers) ReplaceKVStore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ks v1.KVStore) (v1.KVStore, error)
func (*StubHandlers) ReplaceNamespace ¶
func (s *StubHandlers) ReplaceNamespace(_ context.Context, name v1.ObjectName, ns v1.Namespace) (v1.Namespace, error)
func (*StubHandlers) ReplacePolicy ¶
func (s *StubHandlers) ReplacePolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, pol v1.Policy) (v1.Policy, error)
func (*StubHandlers) ReplaceResourceGroup ¶
func (s *StubHandlers) ReplaceResourceGroup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, rg v1.ResourceGroup) (v1.ResourceGroup, error)
func (*StubHandlers) ReplaceRestore ¶ added in v0.11.0
func (s *StubHandlers) ReplaceRestore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, r v1.Restore) (v1.Restore, error)
func (*StubHandlers) ReplaceRole ¶
func (s *StubHandlers) ReplaceRole(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ro v1.Role) (v1.Role, error)
func (*StubHandlers) ReplaceRolesAssignment ¶
func (s *StubHandlers) ReplaceRolesAssignment(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, ra v1.RolesAssignment) (v1.RolesAssignment, error)
func (*StubHandlers) ReplaceRoute ¶
func (s *StubHandlers) ReplaceRoute(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, rt v1.Route) (v1.Route, error)
func (*StubHandlers) ReplaceRuntimeClass ¶
func (s *StubHandlers) ReplaceRuntimeClass(_ context.Context, name v1.ObjectName, rc v1.RuntimeClass) (v1.RuntimeClass, error)
func (*StubHandlers) ReplaceSecret ¶
func (s *StubHandlers) ReplaceSecret(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, sec v1.Secret) (v1.Secret, error)
func (*StubHandlers) ReplaceSensor ¶
func (s *StubHandlers) ReplaceSensor(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, se v1.Sensor) (v1.Sensor, error)
func (*StubHandlers) ReplaceService ¶
func (s *StubHandlers) ReplaceService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, svc v1.Service) (v1.Service, error)
func (*StubHandlers) ReplaceSite ¶
func (s *StubHandlers) ReplaceSite(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, si v1.Site) (v1.Site, error)
func (*StubHandlers) ReplaceWorkerNode ¶
func (s *StubHandlers) ReplaceWorkerNode(_ context.Context, name v1.ObjectName, wr v1.WorkerNode) (v1.WorkerNode, error)
func (*StubHandlers) ReplaceWorkflow ¶
func (s *StubHandlers) ReplaceWorkflow(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, wf v1.Workflow) (v1.Workflow, error)
func (*StubHandlers) ReplaceWorkflowRun ¶
func (s *StubHandlers) ReplaceWorkflowRun(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, run v1.WorkflowRun) (v1.WorkflowRun, error)
type WorkflowRunLogQuerier ¶
type WorkflowRunLogQuerier interface {
// RunLogs resolves the run's status.traceId and returns the namespace-wide, trace-filtered logs.
// The querier sets q.Namespace and the resolved q.TraceID; the caller supplies the filter fields
// (Since/MinSeverityNumber/Limit). A non-empty q.Function is a STEP NAME to resolve (the --step
// drill-down), rewritten to that step's function; the trace filter is kept, so it returns only this
// run's lines for that function. An empty status.traceId (a legacy run) ⇒ an empty result, not an error.
RunLogs(ctx context.Context, ns v1.NamespaceName, run v1.ObjectName, q logread.Query) ([]logread.Line, error)
}
WorkflowRunLogQuerier resolves a run's status.traceId and returns its namespace-wide, trace-filtered logs (ADR-0106) — the whole composition (parent + sub-workflow child steps share the trace, ADR-0104).
func NewWorkflowRunLogQuerier ¶
func NewWorkflowRunLogQuerier(s RunLogGetter, runs RunRecordGetter, reader LogQuerier) WorkflowRunLogQuerier
NewWorkflowRunLogQuerier builds the run-scoped log querier over the metastore, the engine's run records and the funclog reader.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package admission is the control-plane admission framework (ADR-0063): a two-phase pipeline (mutate-all → validate-all) of single-purpose Admissions run on every resource write, after authz and before the store.
|
Package admission is the control-plane admission framework (ADR-0063): a two-phase pipeline (mutate-all → validate-all) of single-purpose Admissions run on every resource write, after authz and before the store. |
|
cmd
|
|
|
specgen
command
Command specgen writes the huma-generated OpenAPI 3.1 spec to the committed path.
|
Command specgen writes the huma-generated OpenAPI 3.1 spec to the committed path. |
|
Package middleware holds the control-plane API server's net/http middleware (ADR-0018).
|
Package middleware holds the control-plane API server's net/http middleware (ADR-0018). |