mirror of
https://github.com/moghtech/komodo.git
synced 2026-03-09 07:13:36 -05:00
[Feature][UX] Auto-discover links via Docker Labels #169
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @em411 on GitHub (Jan 1, 2025).
Current Behavior
Users can manually configure multiple quick-access links for each stack in the Komodo UI. While this feature enhances navigation, it requires manual setup and maintenance.
Suggested Solution
Implement automatic service link discovery using Docker labels. Specifically, Komodo should detect and parse
komodo.linklabels from container definitions in Docker stacks.Use Cases
Example Implementation
Benefits
@mbecker20 commented on GitHub (Jan 2, 2025):
Thanks for the write up! I personally feel that adding the link directly yourself to each Stack is quite dynamic / foolproof, there won't be any bugs there, while only at the cost of a small amount of verbosity. Links are also implemented the same way for other Resource types, not only Stacks -- Also Deployments, Builds, etc all can have links. But these other Resource types don't have a compose file to put links into. Links coming from compose file and not resource config would be a special exception for Stack resource compared to others, which also hurts the consistency of usage.
One argument that could be made is putting links in compose file could make link portable with other deployment solution outside of Komodo, however with a Komodo specific label this is not the case anyways.
It does make me think, is there an existing docker standard to put links in compose file? I would be more inclined to follow a spec here, so users would be assured their work in compose files stays agnostic / compatible with other solutions.
@em411 commented on GitHub (Jan 7, 2025):
Unfortunately there isn't a any kind of universal standard for labels, but the proposed
komodo.linkformat aligns with common Docker label naming conventions used by other tools e.g. homepage.href, flame.url, prometheus.pathFrom a UX perspective, for users managing many stacks across multiple hosts (like myself migrating dozens stacks from Dockge to Komodo), the ability to leverage existing labels (from reverse proxy and/or dashboard) significiently reduces amount of additional configuration.
This and my other UX suggestions are really just feedback based on my personal experience migrating to and using Komodo. They're very low priority QoL improvements that I've encountered, not something that need immediate attention.
I'm sharing these thoughts mainly to contribute to discussions about potential future enhancements, without any expectation of future implementation. I really appreciate Komodo's current functionality and stability - these suggestions are just optional ideas to consider when and if they align with the project's broader development priorities.
@FoxxMD commented on GitHub (Feb 12, 2025):
I like the idea of configuring komodo to look for specific labels by name to get a link. So instead of
komodo.linkwe provide (at the server or core level) a field in config that komodo should look for as a label key:Or potentially array of keys to look for, use the first one found.