mirror of
https://github.com/jmcorgan/fips.git
synced 2026-08-09 16:24:45 +00:00
Add build version metadata, changelog, and version display
Embed git commit hash, dirty flag, and target triple in all binaries via a zero-dependency build.rs. Wire clap short/long version output so -V shows "0.1.0 (rev abc1234)" and --version adds the target triple. Log version at daemon startup. Add version field to show_status control socket API response. Show the daemon's version in fipstop's tab bar title and Runtime section. Add CHANGELOG.md in Keep a Changelog format with the 0.1.0-alpha release (2026-02-24) and unreleased work since then.
This commit is contained in:
+8
-2
@@ -4,6 +4,7 @@
|
||||
|
||||
use clap::Parser;
|
||||
use fips::config::{resolve_identity, IdentitySource};
|
||||
use fips::version;
|
||||
use fips::{Config, Node};
|
||||
use std::path::PathBuf;
|
||||
use tracing::{error, info, warn, Level};
|
||||
@@ -11,7 +12,12 @@ use tracing_subscriber::{fmt, EnvFilter};
|
||||
|
||||
/// FIPS mesh network daemon
|
||||
#[derive(Parser, Debug)]
|
||||
#[command(name = "fips", version, about)]
|
||||
#[command(
|
||||
name = "fips",
|
||||
version = version::short_version(),
|
||||
long_version = version::long_version(),
|
||||
about
|
||||
)]
|
||||
struct Args {
|
||||
/// Path to configuration file (overrides default search paths)
|
||||
#[arg(short, long, value_name = "FILE")]
|
||||
@@ -32,7 +38,7 @@ async fn main() {
|
||||
|
||||
let args = Args::parse();
|
||||
|
||||
info!("FIPS starting");
|
||||
info!("FIPS {} starting", version::short_version());
|
||||
|
||||
// Load configuration
|
||||
info!("Loading configuration");
|
||||
|
||||
+7
-1
@@ -5,6 +5,7 @@
|
||||
|
||||
use clap::{Parser, Subcommand};
|
||||
use fips::config::{write_key_file, write_pub_file};
|
||||
use fips::version;
|
||||
use fips::{encode_nsec, Identity};
|
||||
use std::io::{BufRead, BufReader, Write};
|
||||
use std::os::unix::net::UnixStream;
|
||||
@@ -13,7 +14,12 @@ use std::time::Duration;
|
||||
|
||||
/// FIPS control client
|
||||
#[derive(Parser, Debug)]
|
||||
#[command(name = "fipsctl", version, about = "Query a running FIPS daemon")]
|
||||
#[command(
|
||||
name = "fipsctl",
|
||||
version = version::short_version(),
|
||||
long_version = version::long_version(),
|
||||
about = "Query a running FIPS daemon"
|
||||
)]
|
||||
struct Cli {
|
||||
/// Control socket path override
|
||||
#[arg(short = 's', long)]
|
||||
|
||||
@@ -7,13 +7,19 @@ use app::{App, ConnectionState, SelectedTreeItem, Tab};
|
||||
use clap::Parser;
|
||||
use client::ControlClient;
|
||||
use event::{Event, EventHandler};
|
||||
use fips::version;
|
||||
use ratatui::crossterm::event::{KeyCode, KeyModifiers};
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::time::Duration;
|
||||
|
||||
/// FIPS mesh monitoring TUI
|
||||
#[derive(Parser, Debug)]
|
||||
#[command(name = "fipstop", version, about = "Monitor a running FIPS daemon")]
|
||||
#[command(
|
||||
name = "fipstop",
|
||||
version = version::short_version(),
|
||||
long_version = version::long_version(),
|
||||
about = "Monitor a running FIPS daemon"
|
||||
)]
|
||||
struct Cli {
|
||||
/// Control socket path override
|
||||
#[arg(short = 's', long)]
|
||||
|
||||
@@ -41,6 +41,7 @@ fn draw_runtime(frame: &mut Frame, data: &serde_json::Value, area: Rect) {
|
||||
let inner = block.inner(area);
|
||||
frame.render_widget(block, area);
|
||||
|
||||
let version = helpers::str_field(data, "version");
|
||||
let pid = helpers::u64_field(data, "pid");
|
||||
let exe = helpers::str_field(data, "exe_path");
|
||||
let uptime_secs = data.get("uptime_secs").and_then(|v| v.as_u64()).unwrap_or(0);
|
||||
@@ -52,7 +53,9 @@ fn draw_runtime(frame: &mut Frame, data: &serde_json::Value, area: Rect) {
|
||||
|
||||
let lines = vec![
|
||||
Line::from(vec![
|
||||
Span::styled(" pid: ", label),
|
||||
Span::styled(" ver: ", label),
|
||||
Span::raw(version.to_string()),
|
||||
Span::styled(" pid: ", label),
|
||||
Span::raw(pid),
|
||||
Span::styled(" uptime: ", label),
|
||||
Span::raw(uptime),
|
||||
|
||||
@@ -30,7 +30,8 @@ pub fn draw(frame: &mut Frame, app: &mut App) {
|
||||
}
|
||||
|
||||
fn draw_tab_bar(frame: &mut Frame, app: &App, area: Rect) {
|
||||
let block = Block::default().borders(Borders::ALL).title(" fipstop ");
|
||||
let title = format!(" fipstop {} ", fips::version::short_version());
|
||||
let block = Block::default().borders(Borders::ALL).title(title);
|
||||
let inner = block.inner(area);
|
||||
frame.render_widget(block, area);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user