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 RegisterDeadLetters(api huma.API, store deadletter.Store, replayer Replayer, authz auth.Authorizer)
- func RegisterLogs(api huma.API, q LogQuerier, authz auth.Authorizer)
- func RegisterRoutes(api huma.API, h Handlers)
- func RegisterStubDeadLetters(api huma.API)
- func RegisterStubLogs(api huma.API)
- func RegisterStubWorkflowRunLogs(api huma.API)
- func RegisterWorkflowRunLogs(api huma.API, q WorkflowRunLogQuerier, authz auth.Authorizer)
- type Deps
- type Handlers
- type KVStoreHandover
- type LogQuerier
- type OwnerCollector
- type Replayer
- type RunLogGetter
- type StubHandlers
- 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) CreateRevision(_ context.Context, rev v1.Revision) (v1.Revision, 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) DeleteBucket(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteCatalogService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteConfigMap(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteEgressPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteEventSource(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteFunction(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteGateway(_ context.Context, name v1.ObjectName) error
- func (s *StubHandlers) DeleteGrant(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteIdentity(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteInvocation(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteKVStore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteNamespace(_ context.Context, name v1.ObjectName) error
- func (s *StubHandlers) DeletePolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteResourceGroup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ bool) error
- func (s *StubHandlers) DeleteRevision(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteRole(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteRolesAssignment(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteRoute(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteRuntimeClass(_ context.Context, name v1.ObjectName) error
- func (s *StubHandlers) DeleteSecret(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteSensor(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteSite(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteWorkerNode(_ context.Context, name v1.ObjectName) error
- func (s *StubHandlers) DeleteWorkflow(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
- func (s *StubHandlers) DeleteWorkflowRun(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) 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) 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) 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) 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) 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) ReplaceRevision(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, rev v1.Revision) (v1.Revision, 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 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 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 RegisterRoutes ¶
RegisterRoutes registers every kind's CRUD operation on api, dispatching to h.
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 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 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 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
}
Deps configures the control-plane API server (ADR-0018, internal component).
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) 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) 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) error
// Revision (namespaced)
GetRevision(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) (v1.Revision, error)
CreateRevision(ctx context.Context, rev v1.Revision) (v1.Revision, error)
ListRevisions(ctx context.Context, ns v1.NamespaceName) ([]v1.Revision, error)
ReplaceRevision(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName, rev v1.Revision) (v1.Revision, error)
DeleteRevision(ctx context.Context, ns v1.NamespaceName, name v1.ObjectName) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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 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 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 its Workflow (for --step→function resolution). store.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) 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) CreateRevision ¶
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) DeleteBucket ¶
func (s *StubHandlers) DeleteBucket(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteCatalogService ¶
func (s *StubHandlers) DeleteCatalogService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteConfigMap ¶
func (s *StubHandlers) DeleteConfigMap(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteEgressPolicy ¶
func (s *StubHandlers) DeleteEgressPolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteEventSource ¶
func (s *StubHandlers) DeleteEventSource(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteFunction ¶
func (s *StubHandlers) DeleteFunction(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteGateway ¶
func (s *StubHandlers) DeleteGateway(_ context.Context, name v1.ObjectName) error
func (*StubHandlers) DeleteGrant ¶
func (s *StubHandlers) DeleteGrant(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteIdentity ¶
func (s *StubHandlers) DeleteIdentity(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteInvocation ¶
func (s *StubHandlers) DeleteInvocation(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteKVStore ¶
func (s *StubHandlers) DeleteKVStore(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteNamespace ¶
func (s *StubHandlers) DeleteNamespace(_ context.Context, name v1.ObjectName) error
func (*StubHandlers) DeletePolicy ¶
func (s *StubHandlers) DeletePolicy(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteResourceGroup ¶
func (s *StubHandlers) DeleteResourceGroup(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, _ bool) error
func (*StubHandlers) DeleteRevision ¶
func (s *StubHandlers) DeleteRevision(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteRole ¶
func (s *StubHandlers) DeleteRole(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteRolesAssignment ¶
func (s *StubHandlers) DeleteRolesAssignment(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteRoute ¶
func (s *StubHandlers) DeleteRoute(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteRuntimeClass ¶
func (s *StubHandlers) DeleteRuntimeClass(_ context.Context, name v1.ObjectName) error
func (*StubHandlers) DeleteSecret ¶
func (s *StubHandlers) DeleteSecret(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteSensor ¶
func (s *StubHandlers) DeleteSensor(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteService ¶
func (s *StubHandlers) DeleteService(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteSite ¶
func (s *StubHandlers) DeleteSite(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteWorkerNode ¶
func (s *StubHandlers) DeleteWorkerNode(_ context.Context, name v1.ObjectName) error
func (*StubHandlers) DeleteWorkflow ¶
func (s *StubHandlers) DeleteWorkflow(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) error
func (*StubHandlers) DeleteWorkflowRun ¶
func (s *StubHandlers) DeleteWorkflowRun(_ context.Context, ns v1.NamespaceName, name v1.ObjectName) 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) 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) 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) 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) 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) ReplaceRevision ¶
func (s *StubHandlers) ReplaceRevision(_ context.Context, ns v1.NamespaceName, name v1.ObjectName, rev v1.Revision) (v1.Revision, 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, reader LogQuerier) WorkflowRunLogQuerier
NewWorkflowRunLogQuerier builds the run-scoped log querier over the metastore + 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). |