reddwarf/crates/reddwarf-runtime/Cargo.toml
Till Wegmueller 8d9ae6ac62
Add pod controller, status subresource, node agent, and main binary
Implement the core reconciliation loop that connects Pod events to zone
lifecycle. Status subresource endpoints allow updating pod/node status
without triggering spec-level changes. The main binary now provides
`serve` (API server only) and `agent` (full node: API + scheduler +
controller + heartbeat) subcommands via clap.

- Status subresource: generic update_status in common.rs, PUT endpoints
  for /pods/{name}/status and /nodes/{name}/status
- Pod controller: polls pods assigned to this node, provisions zones via
  ZoneRuntime, updates status to Running/Failed, monitors zone health
- Node agent: registers host as a Node, sends periodic heartbeats with
  Ready condition
- API client: lightweight reqwest-based HTTP client for controller and
  node agent to talk to the API server
- Main binary: clap CLI with serve/agent commands, wires all components
  together with graceful shutdown via ctrl-c

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:53:18 +01:00

28 lines
771 B
TOML

[package]
name = "reddwarf-runtime"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[dependencies]
reddwarf-core = { workspace = true }
k8s-openapi = { workspace = true }
tokio = { workspace = true }
tokio-stream = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
miette = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
uuid = { workspace = true }
async-trait = { workspace = true }
reqwest = { workspace = true }
chrono = { workspace = true }
futures-util = { workspace = true }
[dev-dependencies]
tempfile = { workspace = true }
tokio = { workspace = true, features = ["test-util"] }