homepage: Kubernetes service discovery via marker Ingresses #59

Open
opened 2026-10-04 13:11:03 +00:00 by lab · 0 comments
Owner

Homepage discovers services by reading Ingress objects annotated with gethomepage.dev/*. This cluster routes through Caddy, so there are no Ingress objects and discovery has nothing to read.

Plan

Add inert networking.k8s.io/v1 Ingresses (no ingressClassName, so no controller claims them) annotated with:

  • gethomepage.dev/enabled: "true"
  • gethomepage.dev/name, gethomepage.dev/group, gethomepage.dev/icon
  • gethomepage.dev/href -- explicit, since no controller fills the rule

Homepage's RBAC already grants ingresses list/get.

Note

Lowest priority. Nothing changes without a git push either way, and homepage does not support multiple widgets per service via annotations, so widget-heavy services must stay in values.yaml. Keeping the grid in git is more IaC-correct than annotations nobody reads.

Homepage discovers services by reading Ingress objects annotated with `gethomepage.dev/*`. This cluster routes through Caddy, so there are no Ingress objects and discovery has nothing to read. ## Plan Add inert `networking.k8s.io/v1` Ingresses (no `ingressClassName`, so no controller claims them) annotated with: - `gethomepage.dev/enabled: "true"` - `gethomepage.dev/name`, `gethomepage.dev/group`, `gethomepage.dev/icon` - `gethomepage.dev/href` -- explicit, since no controller fills the rule Homepage's RBAC already grants `ingresses` list/get. ## Note Lowest priority. Nothing changes without a git push either way, and homepage does not support multiple widgets per service via annotations, so widget-heavy services must stay in `values.yaml`. Keeping the grid in git is more IaC-correct than annotations nobody reads.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lab/homelab#59
No description provided.