Skip to content

Navigation Menu

Sign in
Sign up

Labgrid UI #1815

flxzt started this conversation in Show and tell
Feb 3, 2026 · 1 comments · 1 reply
Discussion options

I have been working on a UI frontend for managing labgrid infrastructure a while back and was able to convince my employer to publish it as open-source under GPL-3.0 🥳

I present to you: labgrid-ui!

The repository for this application is currently hosted on my employers public git, git.duagon.com. Contributing to git.duagon.com directly is currently a bit difficult, however since it is now open-source I made a clone on my private profile which can be used as source for contributions. I am planning to sync both with each other for the forseeable future.

It is available here: https://github.com/flxzt/labgrid-ui.

For anyone that wants to build this themselves and contribute, the DEVELOPING.md document is a good starting point.

labgrid-ui provides various features:

  • overview of places, details view to see all additional data and resources registered to a particular place
  • list of all available resources reported by exporters
  • ability to lock & unlock places
  • ability to add and remove resources to/from places easily by copy&pasting resource paths
  • overview of current reservations
  • ability to execute scripts for commonly used tasks such as turning the power on or off for a specific place
  • recipes to build a ready-to-install flatpak (done in the CI, can be downloaded as artifact)
  • Translated UI elements (so far for: en-us and de-de)
  • should be buildable for windows (see DEVELOPING.md) - although not very well tested

The implementation uses gRPC to communicate with the coordinator. Note that an extended protobuf schema which includes array attributes is used (open PR: #1442, I would really like to get that merged!), however in the way this is added should also be compatible with upstream/master.

The entire thing is written in Rust, I used tonic for gRPC communication, iced for the UI, fluent for translations.

Some screenshots:

labgrid-ui-tab-places labgrid-ui-tab-resources labgrid-ui-tab-scripts labgrid-ui-settings
You must be logged in to vote

Replies: 1 comment 1 reply

Comment options

I like this idea. Leading up to OSS EU last year, I spent some time working on a TUI interface prototype to help users generate some exporter and client configs with reasonable defaults. This led to some discussions with other users like @moto-timo about possibly creating an interface for managing labgrid likw https://github.com/derailed/k9s, but this seems like a nice option too.

Out of curiosity, why Rust and not Python? IMO, as a labgrid user I'd want the convenience of installing the UI alongside labgrid easily, although it's not necessarily a problem that this app is written with something different.

You must be logged in to vote
1 reply
Comment options

Obviously going with Python here would be aligned with upstream labgrid, but the software I write in Rust tends to have less bugs (once it compiles) and I personally enjoy working with Rust a lot more.
An alternative TUI client also sounds great. Just FYI: there is a test-cli and the code interfacing with the coordinator is written as a library. Maybe a starting point for additional developments..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants

AltStyle によって変換されたページ (->オリジナル) /