How agynio/k8s-runner works
k8s-runner is a Kubernetes-backed implementation of the RunnerService gRPC API. A caller’s workload requests are served by the runner-core runtime and this repository’s backend, which creates and manages Kubernetes workloads and related resources; workload state is watched and reported back to the platform. The repository also advertises catalog and capability support, including Docker sidecars, and its Helm chart can install workload egress policy. Some server modules were not excerpted, so their internal call relationships are left unasserted.
Main entry points: server.go Runner Backend · main.go Runner Entry · config.go Runtime Config · catalog.go Catalog Mapping
Components 16
Runner Runtime
- Runner Entry
cmd/k8s-runner/main.go - Kubernetes Client
internal/kube/client.go - Runner Backend
internal/server/server.go
Workload Management
- Workload Lifecycle
internal/server/workload.go - Docker Capability
internal/server/capabilities.go - Flavor Sizing
internal/server/flavor.go - Workload Queries
internal/server/query.go - Storage Operations
internal/server/storage.go - Workload Streaming
internal/server/streaming.go
Runner Support
- Runtime Config
internal/config/config.go - Catalog Mapping
internal/config/catalog.go - State Reporting
internal/reporter/reporter.go
Cluster Networking
- Egress Policy
charts/k8s-runner/templates/workload-egress-networkpolicy.yaml
Other components
- API Caller
- Kubernetes API
- Runner Platform
Connections 19
- API Caller → Runner Entry: invokes API
README.md - Runner Entry → Runtime Config: loads config
cmd/k8s-runner/main.go - Runner Entry → Kubernetes Client: creates client
cmd/k8s-runner/main.go - Runner Entry → Runner Backend: constructs backend
cmd/k8s-runner/main.go - Runner Entry → Runner Platform: starts runtime
cmd/k8s-runner/main.go - Runner Entry → Catalog Mapping: reports catalog
cmd/k8s-runner/main.go - Runner Backend → Kubernetes API: manages resources
internal/server/server.go - Runner Backend → State Reporting: watches state
internal/server/server.go - State Reporting → Runner Platform: reports transitions
internal/reporter/reporter.go - Runner Backend → Workload Lifecycle: dispatches workload RPCs
- Runner Backend → Docker Capability: configures sidecars
- Runner Backend → Flavor Sizing: resolves sizing
- Runner Backend → Workload Queries: handles queries
- Runner Backend → Storage Operations: handles storage
- Runner Backend → Workload Streaming: streams sessions
- Runtime Config → Catalog Mapping: loads catalog
internal/config/config.go - Runtime Config → Runner Backend: configures backend
- Catalog Mapping → Runner Platform: advertises offerings
- Egress Policy → Kubernetes API: installs policy
README.md