Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
kube-state-graph
command
Command kube-state-graph runs the multi-cluster pod / node graph API server.
|
Command kube-state-graph runs the multi-cluster pod / node graph API server. |
|
Package docs holds the generated OpenAPI specification, embedded into the binary so the API server can serve it with no external files at runtime.
|
Package docs holds the generated OpenAPI specification, embedded into the binary so the API server can serve it with no external files at runtime. |
|
internal
|
|
|
api
Package api hosts the Gin HTTP handlers and middleware for the kube-state-graph v1 surface.
|
Package api hosts the Gin HTTP handlers and middleware for the kube-state-graph v1 surface. |
|
auth
Package auth implements API-key authentication for the kube-state-graph HTTP API.
|
Package auth implements API-key authentication for the kube-state-graph HTTP API. |
|
config
Package config holds the runtime configuration struct, flag/env binding, and validation for the kube-state-graph server.
|
Package config holds the runtime configuration struct, flag/env binding, and validation for the kube-state-graph server. |
|
integration
Package integration contains testcontainers-driven integration tests.
|
Package integration contains testcontainers-driven integration tests. |
|
observability
Package observability provides slog setup and Prometheus self-metric registration.
|
Package observability provides slog setup and Prometheus self-metric registration. |
|
telemetry
Package telemetry wires the OpenTelemetry Go SDK into kube-state-graph.
|
Package telemetry wires the OpenTelemetry Go SDK into kube-state-graph. |
|
pkg
|
|
|
build
Package build runs the topology + service-graph readers and joins their outputs into a multi-cluster *graph.Graph for a given time window.
|
Package build runs the topology + service-graph readers and joins their outputs into a multi-cluster *graph.Graph for a given time window. |
|
clock
Package clock provides a tiny Clock interface used by handlers and the builder to evaluate "now".
|
Package clock provides a tiny Clock interface used by handlers and the builder to evaluate "now". |
|
cytoscape
Package cytoscape serialises a built graph.Graph (projected to a graph.View) into the deterministic Cytoscape.js response body served at /v1/graph.
|
Package cytoscape serialises a built graph.Graph (projected to a graph.View) into the deterministic Cytoscape.js response body served at /v1/graph. |
|
graph
Package graph defines the in-memory graph types (nodes, edges, adjacency) shared by the build pipeline, projection layer, and HTTP serialisers.
|
Package graph defines the in-memory graph types (nodes, edges, adjacency) shared by the build pipeline, projection layer, and HTTP serialisers. |
|
internal/testlog
Package testlog provides the shared slog-capture helper for pkg/ unit tests that assert on global-logger output (the engine's warn paths log via the process-wide slog default; see the D32 note in CLAUDE.md).
|
Package testlog provides the shared slog-capture helper for pkg/ unit tests that assert on global-logger output (the engine's warn paths log via the process-wide slog default; see the D32 note in CLAUDE.md). |
|
kubegraph
Package kubegraph is the convenience facade over the reusable graph engine.
|
Package kubegraph is the convenience facade over the reusable graph engine. |
|
promql
Package promql wraps the Prometheus HTTP API client and centralises the PromQL query templates used by the build pipeline.
|
Package promql wraps the Prometheus HTTP API client and centralises the PromQL query templates used by the build pipeline. |
|
route
Package route is the concrete build.RouteResolver: the Istio route-resolution engine that answers "which Kubernetes Service did the ingress config route (host, path, port) to during [start, end]?" against a versioned config store written by the metadata-exporter.
|
Package route is the concrete build.RouteResolver: the Istio route-resolution engine that answers "which Kubernetes Service did the ingress config route (host, path, port) to during [start, end]?" against a versioned config store written by the metadata-exporter. |
|
route/gwresolve
Package gwresolve finds the ingress gateway serving a request host by matching the host against every gateway's server hosts, using Istio's own wildcard/most-specific semantics — exactly like real Istio gateway selection.
|
Package gwresolve finds the ingress gateway serving a request host by matching the host against every gateway's server hosts, using Istio's own wildcard/most-specific semantics — exactly like real Istio gateway selection. |
|
route/matchcheck
Package matchcheck drives Envoy's router_check_tool (offline, no traffic, no Envoy process) over istiod-translated RouteConfigurations to resolve each host+path to its destination cluster.
|
Package matchcheck drives Envoy's router_check_tool (offline, no traffic, no Envoy process) over istiod-translated RouteConfigurations to resolve each host+path to its destination cluster. |
|
route/memwindow
Package memwindow slices and resolves a store.TrafficWindow in memory.
|
Package memwindow slices and resolves a store.TrafficWindow in memory. |
|
route/store
Package store is the READ-ONLY contract for the versioned Istio-config store backing route resolution (the translate-global-fqdn-to-k8s-service change).
|
Package store is the READ-ONLY contract for the versioned Istio-config store backing route resolution (the translate-global-fqdn-to-k8s-service change). |
|
route/translate
Package translate turns one ingress gateway's scoped Istio config (its single Gateway CR + the VirtualServices bound to it + the Services those VS route to) into the Envoy RouteConfiguration istiod would push to that gateway for a given listener port.
|
Package translate turns one ingress gateway's scoped Istio config (its single Gateway CR + the VirtualServices bound to it + the Services those VS route to) into the Envoy RouteConfiguration istiod would push to that gateway for a given listener port. |
Click to show internal directories.
Click to hide internal directories.