Skip to content

v0.1.16 — relax gateway base_url validation

Choose a tag to compare

@bo-unitysvc bo-unitysvc released this 03 Jun 15:25
· 52 commits to main since this release
27d656c

Relaxes gateway base_url validation. Reverts the base_url ↔ service_name enforcement from #22/#23 that required {{ service_name }} as the first path segment — it over-constrained two real, valid topologies:

  • Jinja2-rendered specs. Most service specs are generated from .j2 templates, forcing an awkward {% raw %}{{ service_name }}{% endraw %} wrap.
  • One base_url, many services. A provider may route multiple services through a single base_url and differentiate by request fields (e.g. routing_key / model), e.g. ${API_GATEWAY_BASE_URL}/parasail with model: <model>.

What changed: validate_listing_gateway_base_urls is now almost unconstrained. The only rule: a single-character first path segment after ${API_GATEWAY_BASE_URL}/ must be a — single-letter prefixes are reserved for platform wrapper-stack primitives (b/ m/ l/ t/ f/); only /a/<alias> is available to listings. Literal <provider>/<service> paths, request-field routing, dynamic first segments, and the gateway root are all accepted.

What stays: service_name = listing.name, the namespaced <provider>/<bare> identifier grammar, and top-level reservation / admin-gating are unaffected.

See #24.