Report automated component tag versions throughout dashboard and runtime metadata
Outcome: published component tag versions are the authoritative displayed software versions, not Cargo/package versions or digest abbreviations. Reuse deployment/release.py validated component tags and OCI version labels; no new dependencies. Scope/acceptance: - Release builds forward validated X.Y.Z into application builds; Rust reporting and dashboard build identity use that value, with explicit dev fallback for unversioned builds. - Provisioner reports container version from OCI labels of the actual container image ID, not mutable image references; preserve digest diagnostics and support older announcements lacking a version. - Dashboard container inventory primarily shows release versions and displays dashboard/router versions; local panel and provisioner announcements and software metadata stop using Cargo package versions. - Add regression coverage for build argument forwarding, image identity/labels, backwards compatibility and UI fallback; run relevant Rust, Python and frontend checks. - No image publishing, deployment or dependency additions authorized. User confirmed build.sh is deprecated and CI/CD is the only release path; build.sh remains unchanged. The subsequent /open-pr request authorized committing and pushing this implementation. Verified implementation on feature/report-tagged-release-versions (commit 3ed236a, pushed with upstream tracking): - Existing validated component tags feed KAUKUS_RELEASE_VERSION through release.py and all application Dockerfiles. Shared caller-expanded Rust macro and Vite define embed the value, with dev fallback. Updated panel/provisioner metadata, OpenAPI, ruststreamer callbacks/Sentry and application startup logs. - Dashboard shows independent dashboard/router versions, preserves health body ok and reads x-kaukus-version. Container inventory shows image_version, retaining full IDs/digests in API/tooltips. Additive optional protocol field supports older announcements; legacy explicit stable tags display their version, other missing metadata displays unknown. - Extracted provisioner container inspection into focused module; inspect immutable running image ID rather than mutable tag, and require matching OCI component title to avoid inherited base versions. - Validation: cargo fmt --all --check, cargo check --workspace, workspace clippy (existing warnings), all default tests in affected crates pass. Opt-in existing NATS/external integration tests remain ignored. Ruststreamer AAC finalization test was initially excluded based on earlier environment limitations, then actual local encoder availability was confirmed and that test was run separately and passed. 29 deployment Python tests and eight dashboard tests pass; both tagged and dev frontend production builds pass. Rust caller macro tests pass sequentially with versions 7.8.9, 8.9.10 and absent env, demonstrating cache invalidation/fallback. - Chrome acceptance against local mocked API passed separate dashboard/router versions, all three labelled/legacy/pinned container cases, diagnostic title and reload persistence without console errors. Static parallel patch review found no actionable issues. Browser fixture stopped. - Limitations: no actual Docker image build, CI release execution, registry publication, deployment or live Podman integration performed. Existing immutable images need new component tags and rollout to gain embedded versions; fleet inventory needs updated provisioner. Pull request: - #132: https://git.kaukus.no/Kaukus/streaming-engines/pulls/132 - Title: feature: Report tagged release versions across applications - Head: feature/report-tagged-release-versions; base: main. Working tree clean after commit/push. No image publication or deployment performed.
Checklist
2 of 2 complete- Wire component release tags into builds and runtime/frontend software versions; verify tag and dev builds.
- Report actual running-image release versions and render version-first inventory with legacy compatibility; verify regressions.
- Area
- Streaming
- Project
- streaming-engines
- Kind
- Feature
- Task ID
tsk_7h2kx8rwum- Updated