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

   ## Summary
   
   Add `spec.kind` (enum: `horizon|booster`, default `horizon`) to the `UI` CRD 
so the operator can deploy either the legacy 
[booster-ui](https://github.com/apache/skywalking-booster-ui) image or the 
next-generation [horizon-ui](https://github.com/apache/skywalking-horizon-ui) 
image from a single CRD. Backwards-compatible — existing manifests need only 
add `kind: booster` to keep their current behavior.
   
   ### What changes per kind
   
   | `spec.kind`           | Default image                         | Listens on 
| OAP wire-up                                |
   
|-----------------------|---------------------------------------|------------|--------------------------------------------|
   | `horizon` *(default)* | `apache/skywalking-horizon-ui:<ver>`  | `8081`     
| YAML config mounted at `/app/horizon.yaml` |
   | `booster`             | `apache/skywalking-ui:<ver>`          | `8080`     
| `SW_OAP_ADDRESS` env var                   |
   
   For `kind: horizon` the operator additionally:
   
   - Creates `ConfigMap/<name>-ui-horizon` (key `horizon.yaml`) rendered from 
`spec.OAPServerAddress` (→ `oap.queryUrl`), `spec.OAPServerAdminAddress` 
(default `http://<name>-oap.<ns>:17128` → `oap.adminUrl`), and 
`spec.OAPServerZipkinAddress` (default `<OAPServerAddress>/zipkin` → 
`oap.zipkinUrl`).
   - Mounts that ConfigMap as `/app/horizon.yaml` (read-only) on the Horizon UI 
container.
   - Mounts an `emptyDir` at `/data` for Horizon's writable state (audit log, 
setup state, alarm state, wire-debug log) — state is lost on pod restart.
   - Sets `spec.config` as an escape hatch: a raw `horizon.yaml` string that 
fully replaces the operator-generated config.
   
   The `OAPServer` Service additionally exposes port `17128` (admin) so Horizon 
UI can reach runtime-rule, DSL/MQE debug, and inspect endpoints.
   
   ### Backwards compatibility
   
   Existing e2e + sample YAMLs are pinned to `kind: booster` so their 
`apache/skywalking-ui:9.5.0` references keep working under the new horizon 
default.
   
   ## Test plan
   
   - [ ] `make generate` regenerates `zz_generated.deepcopy.go` + CRD without 
drift
   - [ ] `go build ./...` clean
   - [ ] Existing e2e suites pass unchanged (they all now declare `kind: 
booster`)
   - [ ] Deploy `kind: horizon` UI against an OAP cluster: ConfigMap created, 
mounted at `/app/horizon.yaml`, pod becomes ready on `:8081`, Service 
`targetPort: 8081`
   - [ ] Deploy `kind: booster` UI: ConfigMap NOT created, container runs on 
`:8080`, Service `targetPort: 8080`, `SW_OAP_ADDRESS` env var present
   - [ ] CRD validation rejects `spec.kind: foo`
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
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