Skip to content

Add guardian software version tracking - #113

Open
bansalayush247 wants to merge 6 commits into
fedimint:masterfrom
bansalayush247:feature/guardian-software-versions
Open

Add guardian software version tracking#113
bansalayush247 wants to merge 6 commits into
fedimint:masterfrom
bansalayush247:feature/guardian-software-versions

Conversation

@bansalayush247

Copy link
Copy Markdown
Member

Note:

This PR is based on the gateway branch, so GitHub may show gateway-related commits/files depending on the selected base branch. The guardian software version changes are primarily in GuardianHealth, guardian_health.software_version, and the guardian health UI.

Summary

Adds guardian fedimintd software version tracking to federation health data and displays the version in the guardian status UI.

Changes

  • Fetches each guardian's running fedimintd version using the Fedimint fedimintd_version endpoint.
  • Stores the version in a dedicated nullable guardian_health.software_version column.
  • Adds database migration v10.sql for the new column.
  • Exposes software_version through the GuardianHealth API type.
  • Displays the guardian software version badge in both frontend implementations.
  • Falls back to Version unknown when the version endpoint is unavailable or returns no value.

Why

This helps operators and users see which software version each guardian is currently running, making it easier to spot outdated or inconsistent guardian deployments.

Implementation Notes

The version is stored separately from the raw guardian status JSON instead of injecting observer-owned data into the status payload. This keeps the data model cleaner and avoids showing stale historical JSON values as the current version.

Testing

  • cargo check -p fmo_server
  • npm run build

Screenshots

Added screenshots showing the guardian software version badge in the federation detail UI.
Screenshot from 2026-05-17 14-59-00

bansalayush247 and others added 6 commits March 14, 2026 15:23
- Introduced  and  methods in the API service to retrieve gateway information based on federation ID and invite code.
- Updated API types to include , , and  for better structure and type safety.

feat(database): create gateway_poll_snapshots table

- Added a new table  to store snapshots of gateway visibility over time, including fields for federation ID, gateway ID, poll time, and visibility status.

feat(federation): implement gateway fetching logic

- Implemented  to aggregate gateway information from federation peers.
- Enhanced the  to periodically poll and store gateway data, including metrics for activity and uptime.

fix(federation): update gateway listing to include metrics

- Modified  to return additional metrics such as activity and uptime for specified time windows.
- Improved error handling and logging for gateway fetching operations.

refactor(federation): adjust module visibility

- Changed the visibility of the  module to  to restrict access to internal components only.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant