Files
harmony/fleet/harmony-fleet-operator/Cargo.toml
Jean-Gabriel Gill-Couture 5c769437dc feat(fleet-operator): server-side Leptos dashboard behind web-frontend feature
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.
2026-05-11 22:26:43 -04:00

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 }