Skip to content

A rendered route carries its tier's ingress class #578

Closed

Description

@ExtraToast

Parent

Rewrite the spec and the compiler in place, release 1.0.0, and hand over every Project

What to build

A tier declares the ingress class its Traefik admits, and every route rendered for that tier carries it. Today the traefik adapter renders no class, while both live Traefiks only admit routes of their class (traefik-public, traefik-lan) and external-dns filters on the same annotation, so a rendered route would be admitted by no proxy and get no record. Found while planning the edge handover (operator decisions of 2026-10-23 on #373).

Acceptance criteria

  • A tier declares its ingress class; a tier without one is refused once any exposure uses it.
  • Every route rendered for a tier carries that tier's class, and a route rendered for the public tier is admitted by a Traefik filtering on traefik-public.
  • The chapter states the rule and its refusals, with short rationale only, and CONTEXT.md carries each new term in the same pull request.
  • A worked example shows it; its resolved artifact and its rendered tree are updated and reviewed by hand, never regenerated in CI.
  • Each refusal has a refusal example with its diagnostics file.
  • The JSON Schemas and their corpus admit the new shape and refuse a malformed one.
  • The behaviour-ledger row lands with its test, and npm run verify passes.

Blocked by

Activity

  1. added
    type: featureNew user-facing or operator-facing capability.
    area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.
    priority: P2Medium; normal planned work.
    status: blockedCannot move forward until an external dependency is resolved.
    on Oct 23, 2026
  2. added 6 commits that reference this issue on Oct 25, 2026
    08c57f0
    0457144
    18bf1b2
    df1a60d
    a58dd37
    abecc29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.priority: P2Medium; normal planned work.status: blockedCannot move forward until an external dependency is resolved.type: featureNew user-facing or operator-facing capability.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions