Skip to content

A rendered public route carries its tier's DNS annotations #579

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 where its public names point and whether the DNS provider proxies them, and every route rendered for that tier carries the annotations the DNS controller reads. Today the live routes carry external-dns.alpha.kubernetes.io/target and …/cloudflare-proxied by hand; a rendered route carries neither, so a new host would get no record. Found while planning the edge handover (#373, 2026-10-23).

Acceptance criteria

  • A tier declares its DNS target and proxied flag.
  • Every rendered route on that tier carries both annotations, with the values the live routes use today.
  • 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 a commit that references this issue on Oct 25, 2026
    f6f1c69
  3. added a commit that references this issue on Oct 25, 2026
    1bb1b78
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