feat(worker): adopt canonical public URL
Все проверки выполнены успешно
CI / test (push) Successful in 10m15s
Docker / Build and publish worker image (push) Successful in 34m59s

Этот коммит содержится в:
Gleb Tv
2026-08-12 20:48:01 +03:00
родитель a1ccd50aaf
Коммит cb23f123ae
19 изменённых файлов: 804 добавлений и 74 удалений

Просмотреть файл

@@ -1,5 +1,31 @@
# Changelog
## 2026-08-12
### Public endpoint configuration (milestone 1 of public-endpoint-and-identity)
- `PUBLIC_URL` is now the canonical advertised public origin; the legacy
`WORKER_URL` is accepted only for the bounded migration and logs a startup
deprecation warning. `PUBLIC_URL` wins whenever both are set, and the
installer drops `WORKER_URL` from freshly written env files when
`PUBLIC_URL` is present.
- Startup and install validate the origin shape: absolute `http`/`https` URL
with scheme and authority only; userinfo, query, fragment, and any path
other than `/` are rejected.
- Plain-HTTP `PUBLIC_URL` on a non-loopback host is rejected in an explicitly
production environment (`DEPLOY_ENV`, `RSMON_ENV`, or `GO_ENV` =
`production`); other environments keep the historical warning.
- `internal/wire` adds `public_url` to `WorkerInit` (control plane to worker),
keeping the legacy `url` field for old control planes; the worker prefers
`public_url` and rejects unusable values, keeping the previous accepted
URL. `RegisterRequest.public_url` is the registration contract for the
pending RSMon counterpart (the worker does not currently transmit the URL
during registration; it consumes the accepted endpoint from `WorkerInit`).
- The legacy `WORKER_URL` is held only to the tolerant absolute-URL check
(no newly rejected legacy shapes); `PUBLIC_URL` is held to the strict
scheme-and-authority origin shape. Both reject a missing hostname, e.g.
`https://:27401`.
## 2026-07-19
### Standalone installation and deployment