fix(grafana): container inventory published the compose file path - #115
Merged
Conversation
added 2 commits
August 21, 2026 21:58
The Container inventory table excluded fields by name — Time, __name__, job, id, image, site, monitor, instance — and cAdvisor attaches every Docker label as a container_label_* field. Two of those carry the absolute path of the compose file: container_label_com_docker_compose_project_config_files container_label_com_docker_compose_project_working_dir Both render as /home/robo/code/Gerrrt/HomeLab/..., so the panel put a username on screen and into the first screenshot taken of it — item 3 on the pre-publish checklist in docs/images/README.md. A denylist is the wrong shape here: it has to be updated every time a label appears, and nothing fails when it isn't. Replaced with an allowlist of the three fields the panel is actually for, so a new label cannot leak in on its own. Verified by re-rendering: the table is now Container, Host, Uptime.
network-snmp.png and ups-power.png have a full 24 hours of data, no WAN address, no MAC addresses, and no hostnames beyond the ones docs/hardware.md already publishes. The other two are deliberately absent rather than committed with a caveat. host-overview.png has a 14-hour hole where the agent was down; docker-containers.png is 22/24 empty because cAdvisor only started reporting correctly in #62. Both are a re-shoot once the stack has a clean day behind it, which is what docs/images/README.md has always said to do about a bad window. Refs #12
7 tasks
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two commits: a panel fix, and the screenshots for #12 that pass the checklist.
The panel fix
The Container inventory table on the Docker dashboard excluded fields by
name (
Time,__name__,job,id,image,site,monitor,instance).cAdvisor attaches every Docker label as a
container_label_*field, and two ofthem carry the absolute path of the compose file:
So the panel rendered a username as two table columns — item 3 on the
pre-publish checklist in
docs/images/README.md— and it went straight into thefirst screenshot taken of it.
A denylist is the wrong shape: it needs updating every time a label appears, and
nothing fails when it isn't. Replaced with an allowlist of the three fields the
panel is for, so a new label cannot leak in by itself.
Verified by re-rendering — the table is now
Container | Host | Uptime.The screenshots
Two of four, not four.
network-snmp.pngups-power.pnghost-overview.pngdocker-containers.pngThe two held back are a re-shoot, not a repair, which is what
docs/images/README.mdhas always said to do about a bad window: "Re-runningit tomorrow is the correct fix for a bad window, not cropping." Committing them
with a caveat would publish two dashboards that read as "this stack does not
work".
The root
README.mdscreenshot block stays commented until all four exist.Refs #12.