Files
Alexey MilovidovandClaude Opus 4.8 34c1a3b27f Make the web terminal production-ready
The `/webterminal` interface was previously gated behind the experimental
`allow_experimental_webterminal` server setting and disabled by default.
Promote it to a production feature:

- Add the `enable_webterminal` server setting (production tier, default
  `true`) and mark `allow_experimental_webterminal` as obsolete. The old
  name is still honored as a backward-compatible fallback when
  `enable_webterminal` is not present in the config.
- `WebTerminalRequestHandler` now reads `enable_webterminal` (defaulting to
  `true`, falling back to `allow_experimental_webterminal`); the
  `403 Forbidden` body now points at `enable_webterminal`.
- Move `webterminal_allowed_origins` out of the experimental tier.
- Update the documentation to describe the enabled-by-default behavior and
  the rename, and adjust the interserver-port comment in `HTTPHandlerFactory`.

Tests:

- Rename the stateless test `04141_webterminal_disabled` to
  `04141_webterminal_enabled_by_default` and assert that a plain
  `GET /webterminal` now serves the HTML page with status `200`.
- Add a `webterminal_disabled.xml` config and a
  `test_disabled_endpoint_returns_403` integration test covering the
  explicit opt-out via `enable_webterminal`.
- Switch the existing integration configs to `enable_webterminal` and add
  `allow_experimental_webterminal` to the obsolete-settings reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-01 19:20:24 +00:00

8 lines
367 B
XML

<clickhouse>
<!-- The web terminal is enabled by default; this config exercises the
explicit opt-out. With `enable_webterminal` set to `false`, every
request to `/webterminal` must be rejected with `403 Forbidden`
before any WebSocket upgrade or HTML page is served. -->
<enable_webterminal>false</enable_webterminal>
</clickhouse>