Skip to content

[1.26.x] refactor(esb): retire EE ESB and preserve TE integrations - #3260

Draft
wklken wants to merge 5 commits into
TencentBlueKing:masterfrom
wklken:feat/remove-ee-esb
Draft

[1.26.x] refactor(esb): retire EE ESB and preserve TE integrations#3260
wklken wants to merge 5 commits into
TencentBlueKing:masterfrom
wklken:feat/remove-ee-esb

Conversation

@wklken

@wklken wklken commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Description

Retire bundled EE ESB delivery while retaining TE's independently deployed ESB permissions and documentation. Remove the ESB service/build workflow, automatic bk-esb registration/sync, EE management APIs, and the complete frontend component-management UI, routes and dedicated services/types.

EE login uses bk-login and notifications use bk-cmsi regardless of tenant mode. TE retains its authentication and CMSIComponent. EE alert delivery selects WeChat; TE retains IM and WeChat. Removed management flags cannot be restored by per-user overrides; ESB documentation remains available only in TE. MENU_ITEM_ESB_API_DOC is always returned (false in EE, configurable in TE); TE routes, ESB app/database/TLS and frontend visibility no longer depend on tenant mode.

Keep one source for gateway resource definitions, grants, API documentation, URLs, DB routing and test environment in the main repository. The seven ESB Inner resources remain registered with isPublic: false and allowApplyPermission: false; only TE loads their backend implementations. TE no longer overlays snapshots of these shared files. Retain the existing biz.esb import-linter constraints.

Move the remaining EE Python SDK manager and usage templates into shared source; remove editions/ee and all EE edition activation steps, including image build targets. EE image targets reject an active TE checkout before packaging; use an unactivated shared-source checkout. TE consumes the same active Python SDK manager and usage templates. TE-specific ESB apps, database/configuration and API implementations remain in its overlay. The existing independent legacy SDK path is retained.

Coordinated delivery and upgrade prerequisites

Build TE with the coordinated branch through make edition-te. Existing ESB installations require the documented old-chart preparation to preserve resources and export compapi routing before installing the removal chart. Independently maintain the ESB resources and Ingress pointing to APISIX. Existing tables, gateway records and data are not dropped; buffet/self-service routing is intentionally retired.

The Helm source change does not publish a chart or bump version/image defaults; release it with the matching Dashboard image. No production deployment, real Helm upgrade/rollback, live traffic or external bk-login/bk-cmsi verification was performed.

Validation

  • EE: uv run make lint-check; uv run make test — 3828 passed, without edition activation.
  • TE: actual make edition-te; EDITION=te uv run make lint-check; full test suite — 3922 passed. Final SDK/docs/config focused run — 56 passed after removing SDK template overrides.
  • Multi-tenant mode enabled: EE 18 and TE 19 focused checks passed; TE bkcore TLS configuration verified.
  • Frontend: changed-file ESLint and npm run build-only passed (bundle-size warnings).
  • EE image targets verified to reject active TE source before Docker execution.
  • All seven shared ESB Inner definitions verified hidden and non-self-service; TE no longer duplicates shared definitions/routes/router/test environment/active SDK manager.
  • Removed-symbol/reference scan and independent review performed.
  • Earlier Helm validation: lint, fresh/multitenant/data-plane/subpath renders, old-chart preparation plus removal render, and 3 preparation tests passed.

Checklist

  • Coordinated rollout dependencies documented
  • Code style checks passed
  • Regression tests included and passed
  • Live integration and staged upgrade/rollback validation

Comment thread src/dashboard/pyproject.toml Outdated
Comment thread src/dashboard/pyproject.toml Outdated
Comment thread src/dashboard/pyproject.toml
Comment thread src/dashboard/apigateway/apigateway/utils/db_router.py
Comment thread src/dashboard/apigateway/apigateway/conf/default.py Outdated
Comment thread src/dashboard/apigateway/apigateway/conf/edition.py Outdated
Comment thread src/dashboard/apigateway/apigateway/apis/open/urls.py Outdated
Comment thread src/dashboard-front/src/App.vue
Comment thread docs/esb-removal-plan-v1.25-v1.26.md Outdated
@wklken wklken changed the title refactor(esb): retire EE ESB and preserve TE integrations [1.26.x] refactor(esb): retire EE ESB and preserve TE integrations Sep 8, 2026
Comment thread src/dashboard/apigateway/apigateway/conf/utils.py
Comment thread src/dashboard/apigateway/apigateway/apis/open/urls.py Outdated
Comment thread src/dashboard/apigateway/apigateway/apis/v2/inner/urls.py Outdated
Comment thread src/dashboard/apigateway/apigateway/apis/web/docs/urls.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant