Changelog
5.0.0
Targets SkyWalking OAP 11.0.0, Horizon UI 1.0.0 and BanyanDB 0.11.0. See Upgrade for the migration steps.
Breaking changes
- OAP 11 requires BanyanDB 0.11.x. OAP pins the BanyanDB server API versions it accepts
(
SW_STORAGE_BANYANDB_COMPATIBLE_SERVER_API_VERSIONS,0.11in 11.0.0) and checks them with string equality, so pairing OAP 11 with BanyanDB 0.10.x makes OAP refuse to start. The three versions move together — see Version Compatibility. oap.ports.adminis required. OAP 11 enables every admin feature module by default and serves/status/*and/debugging/*on the admin port only; they are no longer mirrored onoap.ports.rest. Horizon UI reads status, inspect, DSL debugging and the dashboard template store from it.- The legacy booster UI is no longer supported. OAP 11 deleted
apm-webappand theskywalking-booster-uisubmodule along with thedocker.uibuild target, soapache/skywalking-uipublishes no11.xtag — onlyhorizon-*tags. Replaceui.image.tag=<oap-version>withui.image.tag=horizon-1.0.0. oap.config.ui-initialized-templatesdoes nothing. OAP 11 removed the on-disk dashboard seed files andUITemplateInitializer, along with the sidebar menu storage, theUIConfigurationManagementGraphQL mutations andSW_ENABLE_UPDATE_UI_TEMPLATE. Horizon UI ships its own dashboard library and manages templates over the admin REST port.- Horizon is configured by environment variable, and no ConfigMap is mounted by default. The
image ships a complete env-tokenized
/app/horizon.yaml; the chart sets only what it computes (HORIZON_SERVER_PORT,HORIZON_OAP_QUERY_URL, and the admin, Zipkin and public URLs when configured) and leaves the rest toui.extraEnv/ui.envFromSecret.ui.configis now opt-in: setting it renders a ConfigMap and mounts it over the image’s file, so fields you do not write fall back to Horizon’s defaults. If you carried aui.configblock from the pre-releasemainvalues, move it to environment variables — see Configure Horizon. - The SWCK charts are removed.
chart/operatorandchart/adapterpackaged apache/skywalking-swck — its image, its CRDs and its version — and had no relationship tochart/skywalking. They were never released to Docker Hub, so no released artifact disappears, but installs from source or from theghcr.iosnapshot channel will break. They belong with the operator, where the CRDs are generated alongside the code that consumes them. - The UI no longer proxies
/graphql. Callers that talked to the UI’s GraphQL endpoint (for exampleswctl --base-url=http://<ui>/graphql) must target the OAP service directly onoap.ports.rest.
Features
ui.extraVolumes/ui.extraVolumeMounts, for the two Horizon settings that take a filesystem path:auth.tokensFileandsourceMaps.bootMountDir.server.publicUrlis derived from the firstui.ingress.hostsentry when an ingress is enabled, so single sign-on callbacks and the OAuth issuer are built from the address operators actually reach — see UI Service and Ingress.server.portis derived fromui.service.internalPort, so the BFF binds the port the container exposes.oap.extraEnv(a list, so entries can carryvalueFrom) andoap.envFromSecret, applied to the OAP Deployment and the init Job. Note Kubernetes gives an explicitenventry precedence overenvFrom, and the chart setsSW_ES_PASSWORD/SW_DATA_SOURCE_PASSWORDitself — so sourcing those from a Secret needsoap.extraEnv.- Horizon’s config hot-reload works again. The chart previously mounted
horizon.yamlwithsubPath, which Kubernetes never updates in place, so the file watcher could not fire. tools/releasing/release.shandrelease-passed.sh, plus the release guide — the Apache process was previously unwritten.- The E2E suite is rebuilt around Horizon: every assertion runs through the UI’s API rather than OAP’s GraphQL, so it exercises the path the chart is responsible for wiring.
- Documentation moved into
docs/and is published at skywalking.apache.org/docs/skywalking-helm.
Corrections
- Horizon UI does not refuse to start without configured users. It boots, serves the login
page, and answers
/api/auth/healthwith 200 — which is this chart’s readiness probe — so the pod reports Ready and nobody can sign in. Earlier documentation claimed aCrashLoopBackOff. See Set Up Logins.