Files
harmony/fleet/harmony-fleet-deploy/Cargo.toml
Jean-Gabriel Gill-Couture 5ab1a149fc
All checks were successful
Run Check Script / check (pull_request) Successful in 2m27s
feat(fleet): release the operator from a tag (minimal)
`harmony-fleet-release --from-tag harmony-fleet-operator-v0.1.0` builds +
pushes the operator image and helm chart at the parsed version
(version_from_tag handles the prefix + leading v, replacing the interim
resolve-release-version.sh). Plain function + anyhow at the binary
boundary — no Score / AppSpec / Topology ceremony for a single
component; introduce a spec when a second component needs releasing.

Slim variant of feat/fleet-release-score (which models release as a
ReleaseScore + AppSpec driven by harmony_cli).
2026-05-28 19:38:54 -04:00

49 lines
1.7 KiB
TOML

[package]
name = "harmony-fleet-deploy"
edition = "2024"
version.workspace = true
readme.workspace = true
license.workspace = true
description = "Deploy-side Scores for the fleet stack: operator, agent, NATS, callout. Imports harmony for the Score-Topology-Interpret machinery; consumed by the production CLI, the e2e harness, and future control-plane tooling."
[lib]
path = "src/lib.rs"
# CLI entry point. `harmony-fleet-deploy <component>` picks a subcommand
# per fleet component plus an `all` composite. Built on harmony_cli the
# way the rest of the workspace's *-deploy crates are.
[[bin]]
name = "harmony-fleet-deploy"
path = "src/main.rs"
# `harmony-fleet-release --from-tag <tag>` builds + publishes the
# operator's image + chart for a release.
[[bin]]
name = "harmony-fleet-release"
path = "src/bin/harmony-fleet-release.rs"
[dependencies]
harmony = { path = "../../harmony", features = ["podman"] }
harmony_cli = { path = "../../harmony_cli" }
harmony_types = { path = "../../harmony_types" }
harmony_macros = { path = "../../harmony_macros" }
harmony-fleet-auth = { path = "../harmony-fleet-auth" }
harmony-reconciler-contracts = { path = "../../harmony-reconciler-contracts" }
anyhow = { workspace = true }
async-trait = { workspace = true }
clap = { workspace = true }
k8s-openapi = { workspace = true }
kube = { workspace = true, features = ["runtime", "derive"] }
log = { workspace = true }
env_logger = { workspace = true }
non-blank-string-rs = "1"
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
tempfile = "3"
thiserror = { workspace = true }
tokio = { workspace = true, features = ["full"] }
toml = { workspace = true }
tracing = { workspace = true }