|
| 1 | +--- |
| 2 | +name: dubbo-admin-domain |
| 3 | +description: Navigate dubbo-admin architecture and choose the right domain skill. Use for cross-module questions, end-to-end flows, component boundaries, or deciding whether runtime, discovery, engine, events, store, Console API, or frontend guidance applies. Prefer a narrower dubbo-admin-* skill when the user request clearly targets one subsystem. |
| 4 | +--- |
| 5 | + |
| 6 | +# dubbo-admin Domain Guide |
| 7 | + |
| 8 | +## Choose a Subskill |
| 9 | + |
| 10 | +- Use `dubbo-admin-runtime` for component registration, dependency ordering, bootstrap, lifecycle, and shutdown. |
| 11 | +- Use `dubbo-admin-discovery` for registry ListAndWatch, informers, event subscribers, and metadata-derived resources. |
| 12 | +- Use `dubbo-admin-engine` for runtime infrastructure discovery, engine factories, runtime instance informers, and RuntimeInstance to Instance merging. |
| 13 | +- Use `dubbo-admin-events` for EventBus, subscriber registration, resource-kind dispatching, synchronous event processing, and error handling. |
| 14 | +- Use `dubbo-admin-store` for ResourceStore behavior, indexes, prefix lookup, pagination, and memory store internals. |
| 15 | +- Use `dubbo-admin-console-api` for Gin routes, handlers, models, console services, and API response behavior. |
| 16 | +- Use `dubbo-admin-frontend` for `ui-vue3/`, Vue routes, Pinia state, API clients, views, forms, and shared frontend utilities. |
| 17 | + |
| 18 | +## Architecture Map |
| 19 | + |
| 20 | +Discovery components read registry data, engine components read runtime infrastructure, informers emit resource events, the EventBus dispatches by resource kind, subscribers derive or update mesh resources, stores index those resources, resource managers provide typed access, Console API handlers expose data under `/api/v1`, and the Vue frontend consumes those APIs. |
| 21 | + |
| 22 | +## Important Backend Areas |
| 23 | + |
| 24 | +- `app/`: application entrypoints and packaging |
| 25 | +- `pkg/core/bootstrap/`: runtime construction |
| 26 | +- `pkg/core/runtime/`: component model and lifecycle |
| 27 | +- `pkg/core/discovery/`: discovery orchestration and subscribers |
| 28 | +- `pkg/core/engine/` and `pkg/engine/`: runtime infrastructure engine |
| 29 | +- `pkg/core/events/`: EventBus interfaces and dispatching |
| 30 | +- `pkg/core/controller/`: informer and ListWatcher abstractions |
| 31 | +- `pkg/core/store/` and `pkg/store/`: store interfaces and implementations |
| 32 | +- `pkg/console/`: HTTP API layer |
| 33 | +- `pkg/governor/`: governance rule support |
| 34 | + |
| 35 | +## Important Frontend Areas |
| 36 | + |
| 37 | +- `ui-vue3/src/api/`: API clients |
| 38 | +- `ui-vue3/src/router/`: route definitions and metadata |
| 39 | +- `ui-vue3/src/stores/`: Pinia stores |
| 40 | +- `ui-vue3/src/views/`: feature pages |
| 41 | +- `ui-vue3/src/components/`: shared UI components |
| 42 | + |
| 43 | +## Validation |
| 44 | + |
| 45 | +For code changes, use the narrowest relevant test first. Use `make test` for backend-wide changes and frontend package scripts from `ui-vue3/package.json` for UI changes. |
0 commit comments