Skip to content

Validate Domain routes (S-003-1, S-003-8..12) #159

Closed

Description

@shipmill-romamo

Builds part of spec S-003, docs/specs/003-domain-routes.md (feature issue #90): the acceptance criteria below. Each needs a test that names its id (test_s003_<k>_..., or a proves: S-003-1 comment line).

This is the routes schema and its cloudfall config validate checks.

  • S-003-1: A Domain with a /api/ proxy route and a / static route with spaFallback: index.html passes cloudfall config validate
  • S-003-8: A Domain with two routes for the same path fails cloudfall config validate with exit CONFIG_INVALID and code domain_route_path_duplicate
  • S-003-9: A Domain with both proxy.upstream and routes fails cloudfall config validate with code domain_route_source_invalid, and a Domain with neither still passes it
  • S-003-10: A route path under /.well-known/acme-challenge fails with domain_route_path_reserved, and a static route path without a trailing / or a path with a space, ; or { fails with domain_route_path_invalid
  • S-003-11: A static route naming a missing component fails with resource_reference_missing, and one whose component doesn't list the Domain's proxy.server fails with domain_route_component_not_on_proxy
  • S-003-12: A static route whose directory or spaFallback contains a .. segment or is absolute, or whose directory is ., fails cloudfall config validate

Activity

  1. shipmill-romamo commented on Oct 30, 2026

    @shipmill-romamo
    ContributorAuthor

    Triage: implement. Serves: G-3. A build issue of spec S-003 (docs/specs/003-domain-routes.md, approved in #99), sub-issue of #90. The criteria above are the scope; each gets a test naming its id. It starts once every issue on its Depends on line has closed.

  2. shipmill-romamo commented on Oct 30, 2026

    @shipmill-romamo
    ContributorAuthor

    Released in v0.8.0rc11 (pre-release).
    A plain install gets it with the next stable release.
    If you filed this: react 👍 on this comment once it works for you, or reply if it doesn't.

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions