The edge publishes the paths the service answers

A prefix in the router that no handler stands behind is a public address whose
reply is whatever binary happens to be at the other end, and the list was
written against a different version than the one pinned here. Nothing in this
tree reads /v1/history and the current source serves no such path, so
publishing it can only reach an older handler.

The remaining legacy prefixes come off in the commit that moves the pin, which
is when the router and the binary describe the same service again.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-09-10 13:44:23 -07:00
co-authored by Hanzo Dev
parent 4e0a772011
commit ed41deb1e1
+9 -1
View File
@@ -287,11 +287,19 @@ routes:
# a quote answer at /v1/trade — and THEN delete the nine clauses in the same
# commit that retires the version serving them. That is one edit, after the fact
# it describes, rather than two that have to land in the same minute.
# The edge publishes the paths the service answers and no others. A prefix
# listed here that no handler stands behind is a public address whose reply is
# whatever the binary at the other end happens to do with it, and the version
# pinned below is not the version this list was written against. `/v1/history`
# is off for that reason: nothing in this tree reads it and the current source
# serves no such path, so publishing it can only reach an older binary's
# handler. The remaining legacy prefixes go the same way in the commit that
# moves the pin, which is when the routes and the binary agree again.
- name: trade
spec:
entryPoints: [websecure]
routes:
- match: (Host(`api.lux.cloud`) || Host(`api.lux.network`)) && (PathPrefix(`/v1/trade`) || PathPrefix(`/v1/quote`) || PathPrefix(`/v1/swap`) || PathPrefix(`/v1/pool`) || PathPrefix(`/v1/position`) || PathPrefix(`/v1/price`) || PathPrefix(`/v1/token`) || PathPrefix(`/v1/stats`) || PathPrefix(`/v1/history`) || PathPrefix(`/trading/`))
- match: (Host(`api.lux.cloud`) || Host(`api.lux.network`)) && (PathPrefix(`/v1/trade`) || PathPrefix(`/v1/quote`) || PathPrefix(`/v1/swap`) || PathPrefix(`/v1/pool`) || PathPrefix(`/v1/position`) || PathPrefix(`/v1/price`) || PathPrefix(`/v1/token`) || PathPrefix(`/v1/stats`) || PathPrefix(`/trading/`))
kind: Rule
priority: 200
middlewares: