Adds a minimal SSR-only Leptos dashboard to the operator, gated by a new `web-frontend` cargo feature. The whole frontend (HTML + Tailwind CSS) is bundled into the binary via `include_str!`, no cargo-leptos / WASM / hydration involved — air-gap clean, single container. build.rs invokes the standalone tailwindcss v4 CLI when the feature is on. Default builds are untouched. Static skeleton only — no interactivity yet. Kept as a comparison baseline for the Maud + HTMX variant on the next branch.
37 lines
1.2 KiB
TOML
37 lines
1.2 KiB
TOML
[package]
|
|
name = "harmony-fleet-operator"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
rust-version = "1.85"
|
|
build = "build.rs"
|
|
|
|
[features]
|
|
default = []
|
|
# Server-side rendered Leptos dashboard. Builds Tailwind CSS at compile
|
|
# time (requires the standalone `tailwindcss` v4 CLI on PATH) and bundles
|
|
# both HTML and CSS into the operator binary — no static files to ship.
|
|
web-frontend = ["dep:leptos", "dep:axum"]
|
|
|
|
[dependencies]
|
|
harmony = { path = "../../harmony", features = ["podman"] }
|
|
harmony-fleet-auth = { path = "../harmony-fleet-auth" }
|
|
harmony-reconciler-contracts = { path = "../../harmony-reconciler-contracts" }
|
|
toml = { workspace = true }
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
kube = { workspace = true, features = ["runtime", "derive"] }
|
|
k8s-openapi.workspace = true
|
|
async-nats = { workspace = true }
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
schemars = "0.8.22"
|
|
tokio.workspace = true
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
anyhow.workspace = true
|
|
clap.workspace = true
|
|
futures-util = { workspace = true }
|
|
thiserror.workspace = true
|
|
|
|
leptos = { version = "0.8", features = ["ssr"], optional = true }
|
|
axum = { version = "0.8", optional = true }
|