wu-sheng opened a new pull request, #13877:
URL: https://github.com/apache/skywalking/pull/13877

   ### Drop bundled UI + new admin-host posture + comprehensive alarm query API
   - [x] Update the documentation to include this new feature.
   - [x] Tests(including UT, E2E) are added to verify the new feature.
   
   #### Removed
   * `apm-webapp` module — the Armeria reverse proxy that powered the 
`skywalking/ui` Docker image; the `docker.ui` Maven target, dist webapp 
packaging, `dist-material/bin/webappService.sh|bat`, and the CI UI image build 
path go with it.
   * `skywalking-ui` git submodule (`apache/skywalking-booster-ui`).
   * Boot-time dashboard / menu seeding — 
`CoreModuleProvider.notifyAfterCompleted` no longer calls 
`UITemplateInitializer` / `UIMenuInitializer`; the 148 dashboard JSONs and 
`menu.yaml` under `ui-initialized-templates/` are deleted.
   * GraphQL `UIConfigurationManagement` resolver and the 
`SW_ENABLE_UPDATE_UI_TEMPLATE` flag — replaced by REST on the admin host.
   * `UIMenuManagementService`, `UIMenuManagementDAO` + storage impls, `UIMenu` 
/ `MenuItem` types — Horizon UI owns the sidebar menu client-side and uses 
`listServices(layer:...)` for dynamic gating.
   * Status public REST dual-bind — `/status/*` and `/debugging/*` register on 
admin-server only (default `:17128`); URI / payload unchanged.
   
   #### Added
   * `ui-management` feature module under `server-admin/` — REST CRUD for 
dashboard templates on admin-server (`GET /list`, `GET /{id}`, `POST`, `PUT`, 
`POST /{id}/disable`). Forwards to the existing `UITemplateManagementService` 
(no DAO change). Template writes are enabled by default; the admin host's 
gateway is the auth boundary.
   * `queryAlarms(condition: AlarmQueryCondition!): Alarms` — new comprehensive 
alarm query alongside the deprecated `getAlarm`. The condition bundles 
`entities` (reuses MQE `Entity`), `layers`, `ruleNames`, `keyword`, `tags`, 
`duration`, `paging`. Per-entity AND/OR: non-relation entities expand to 
`(id0=X) OR (id1=X)`; relation entities are exact `(id0=src AND id1=dest)`. 
Across entities OR; across condition fields AND.
   * `AlarmRecord` schema additions: new `layer` column, `id0`/`id1` flipped 
from `storageOnly` to indexed so entity filters push down on new daily-rolled 
indices.
   * `IAlarmQueryDAO.queryAlarms(condition, limit, from)` abstract method — 
3rd-party storage backends fail at compile if they miss the override. 
Implemented across BanyanDB / Elasticsearch / JDBC. BanyanDB uses multi-query 
union (one strict push-down per constraint, dedupe by uuid, sort by startTime 
DESC, page in memory).
   
   #### Posture
   * All admin feature modules default-on: `admin-server`, `status`, `inspect`, 
`ui-management`, `dsl-debugging`, `receiver-runtime-rule`. Operators disable 
individually with `SW_*=` empty.
   * Project version bumped to `11.0.0-SNAPSHOT`.
   * The official web UI is now 
[apache/skywalking-horizon-ui](https://github.com/apache/skywalking-horizon-ui) 
(separate repo, separate release cadence, image at 
`ghcr.io/apache/skywalking-horizon-ui`).
   
   #### E2E
   * ~30 helm-based cases (istio / ebpf-profiling / cilium / rover): pass 
`--set ui.enabled=false`, expose `service/skywalking-oap:12800`, repoint 
`swctl` URLs from `service_skywalking_ui_*` to `service_skywalking_oap_*`.
   * All docker-compose e2es drop the `ui:` block; gateway / cluster cases 
repoint `swctl` URLs to OAP directly.
   * Storage e2es migrate `/status/*` and `/debugging/*` calls from `:12800` to 
`:17128`.
   * Four new alarm e2e cases exercise `queryAlarms` (entities filter, layer 
filter, ruleName filter, unfiltered) alongside the existing `getAlarm` cases.
   
   #### Pre-flight
   * `mvnw clean checkstyle:check` — clean
   * `mvnw clean flatten install javadoc:javadoc -Pall` — `BUILD SUCCESS`
   * `license-eye header check` — 4355 valid, 0 invalid
   * FQCN scan on touched Java files — no inline FQCNs
   * Manual alarm e2e verified locally against BanyanDB: `queryAlarms` entity / 
layer / rule / unfiltered all return expected rows; legacy `getAlarm` unchanged
   
   - [ ] If this pull request closes/resolves/fixes an existing issue, replace 
the issue number. Closes #<issue number>.
   - [x] Update the [`CHANGES` 
log](https://github.com/apache/skywalking/blob/master/docs/en/changes/changes.md).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to