Documentation
¶
Overview ¶
Command snowplow is the snowplow server: it resolves Krateo RESTAction and frontend Widget custom resources into the JSON the Krateo frontend renders, served over /call. It wires the HTTP mux (/call, /health, /readyz, /debug/vars, pprof and swagger), the per-GVR dispatchers, the informer/L1 caches and prewarm engine, RBAC, and the in-cluster Kubernetes clients, then runs the server until signalled to shut down.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package apis aggregates snowplow's Kubernetes API type registrations.
|
Package apis aggregates snowplow's Kubernetes API type registrations. |
|
Package docs Code generated by swaggo/swag.
|
Package docs Code generated by swaggo/swag. |
|
e2e
|
|
|
bench/cfg1_probe
command
cfg1_probe — minimal standalone binary used by the HG-321 falsifier (e2e/bench/cfg1_falsifier.sh) to verify CFG-1 cache-off compliance.
|
cfg1_probe — minimal standalone binary used by the HG-321 falsifier (e2e/bench/cfg1_falsifier.sh) to verify CFG-1 cache-off compliance. |
|
internal
|
|
|
authn
Package authn is a small client for the Kubernetes intra-service auth login strategy: snowplow presents its own projected (audience-bound) ServiceAccount token to authn's /serviceaccount/login endpoint and receives an authn-issued JWT (signed by the Krateo authn issuer's jwt-sign-key).
|
Package authn is a small client for the Kubernetes intra-service auth login strategy: snowplow presents its own projected (audience-bound) ServiceAccount token to authn's /serviceaccount/login endpoint and receives an authn-issued JWT (signed by the Krateo authn issuer's jwt-sign-key). |
|
cache
admission_ceiling.go — the SHARED, zero-knob adaptive-headroom calc used by BOTH memory-admission gates: the (c) nested-resolve aggregate bound (internal/resolvers/restactions/api/nested_resolve_bound.go) and the seed-unit bound (internal/handlers/dispatchers/seed_bound.go).
|
admission_ceiling.go — the SHARED, zero-knob adaptive-headroom calc used by BOTH memory-admission gates: the (c) nested-resolve aggregate bound (internal/resolvers/restactions/api/nested_resolve_bound.go) and the seed-unit bound (internal/handlers/dispatchers/seed_bound.go). |
|
dynamic
Package dynamic is snowplow's thin client over the Kubernetes dynamic and discovery clients for working with unstructured objects.
|
Package dynamic is snowplow's thin client over the Kubernetes dynamic and discovery clients for working with unstructured objects. |
|
handlers
Package handlers holds snowplow's top-level HTTP handlers.
|
Package handlers holds snowplow's top-level HTTP handlers. |
|
handlers/dispatchers
Package dispatchers maps each handled GVR (restactions and widgets) to its HTTP handler and drives the resolve-and-serve path behind /call, including the L1 resolved-output cache lookup, refresh registration, and in-process nested-call seam.
|
Package dispatchers maps each handled GVR (restactions and widgets) to its HTTP handler and drives the resolve-and-serve path behind /call, including the L1 resolved-output cache lookup, refresh registration, and in-process nested-call seam. |
|
handlers/middleware
compression.go — Track 2 (transport gzip, docs/seed-tail-restactions-budget-and-16mb-serve-trace-2026-07-04.md).
|
compression.go — Track 2 (transport gzip, docs/seed-tail-restactions-budget-and-16mb-serve-trace-2026-07-04.md). |
|
handlers/util
Package util holds small, dependency-free helpers for parsing the /call HTTP request: the optional extras JSON context, the target GVR and namespaced name, call-path pagination, and an ETA formatter.
|
Package util holds small, dependency-free helpers for parsing the /call HTTP request: the optional extras JSON context, the target GVR and namespaced name, call-path pagination, and an ETA formatter. |
|
logging
Package logging wires snowplow's OpenTelemetry Logs pipeline — the sink for the canonical, trace-correlated AuditEvent (D19a).
|
Package logging wires snowplow's OpenTelemetry Logs pipeline — the sink for the canonical, trace-correlated AuditEvent (D19a). |
|
metrics
Package metrics mirrors snowplow's existing expvar counters/gauges onto an OpenTelemetry OTLP/HTTP MeterProvider so they can be scraped by the OTel collector alongside traces.
|
Package metrics mirrors snowplow's existing expvar counters/gauges onto an OpenTelemetry OTLP/HTTP MeterProvider so they can be scraped by the OTel collector alongside traces. |
|
objects
Package objects is the leaf entry point for fetching a single Kubernetes object referenced by a resolver.
|
Package objects is the leaf entry point for fetching a single Kubernetes object referenced by a resolver. |
|
rbac
Package rbac — EvaluateRBAC: in-process Role-Based Access Control evaluator (Tag 0.30.4, Revision 1 binding).
|
Package rbac — EvaluateRBAC: in-process Role-Based Access Control evaluator (Tag 0.30.4, Revision 1 binding). |
|
resolvers/crds/schema
Package schema validates a custom resource's status against its CRD's OpenAPI schema.
|
Package schema validates a custom resource's status against its CRD's OpenAPI schema. |
|
resolvers/restactions
Package restactions is the top-level RESTAction resolver.
|
Package restactions is the top-level RESTAction resolver. |
|
resolvers/restactions/api
admission_parity_shim.go — TEST-ONLY exported shims for the cross-package ceiling drift-guard parity test (#64 parallel-copy backstop, fold 2026-07-03).
|
admission_parity_shim.go — TEST-ONLY exported shims for the cross-package ceiling drift-guard parity test (#64 parallel-copy backstop, fold 2026-07-03). |
|
resolvers/widgets
Package widgets is the top-level frontend Widget resolver.
|
Package widgets is the top-level frontend Widget resolver. |
|
resolvers/widgets/apiref
Package apiref resolves a widget's apiRef: it fetches the referenced RESTAction object and resolves it (through the restactions resolver), returning the resulting data dictionary for the widget to consume.
|
Package apiref resolves a widget's apiRef: it fetches the referenced RESTAction object and resolves it (through the restactions resolver), returning the resulting data dictionary for the widget to consume. |
|
resolvers/widgets/resourcesrefs
Package resourcesrefs resolves a widget's static resourcesRefs.
|
Package resourcesrefs resolves a widget's static resourcesRefs. |
|
resolvers/widgets/resourcesrefstemplate
Package resourcesrefstemplate expands a widget's resourcesRefsTemplate into concrete resource references.
|
Package resourcesrefstemplate expands a widget's resourcesRefsTemplate into concrete resource references. |
|
resolvers/widgets/widgetdatatemplate
Package widgetdatatemplate evaluates a widget's widgetDataTemplate entries.
|
Package widgetdatatemplate evaluates a widget's widgetDataTemplate entries. |
|
support/audit
Package audit emits the canonical Krateo AuditEvent as an OTLP LogRecord on the shared OTel Collector -> ClickHouse otel_logs plane (D19a).
|
Package audit emits the canonical Krateo AuditEvent as an OTLP LogRecord on the shared OTel Collector -> ClickHouse otel_logs plane (D19a). |
|
support/jq
Package jq provides the shared gojq module loader used across snowplow's resolvers.
|
Package jq provides the shared gojq module loader used across snowplow's resolvers. |
|
tracing
Package tracing wires snowplow's OpenTelemetry trace pipeline.
|
Package tracing wires snowplow's OpenTelemetry trace pipeline. |
|
scripts
|
|
|
checkresolvedentrysites
command
Command checkresolvedentrysites is the L-SCOPE-COMPLETENESS CI guard (docs/test-blindspot-analysis-2026-07-24.md, class 3 — enumeration incompleteness).
|
Command checkresolvedentrysites is the L-SCOPE-COMPLETENESS CI guard (docs/test-blindspot-analysis-2026-07-24.md, class 3 — enumeration incompleteness). |
|
checkresolveopts
command
Command checkresolveopts is the CI guard for the 0.30.230-class nil-rc defect: a ResolveOptions struct literal that omits its rest.Config field leaves it zero (nil), which threads 8 calls deep and breaks every Kind=* widget /call at cache.GVRFor -> discoverPluralInfo ("plurals discovery: nil *rest.Config").
|
Command checkresolveopts is the CI guard for the 0.30.230-class nil-rc defect: a ResolveOptions struct literal that omits its rest.Config field leaves it zero (nil), which threads 8 calls deep and breaks every Kind=* widget /call at cache.GVRFor -> discoverPluralInfo ("plurals discovery: nil *rest.Config"). |
Click to show internal directories.
Click to hide internal directories.