Files
pnoker 6ef14a9721 fix(auth): surface method security denials as 403 and tighten actuator
- method-level @PreAuthorize rejections propagated to the generic
  handler and returned http 500; add an access-denied mapping so
  permission failures read as 403 problem details
- actuator: only /actuator/health stays public, the rest require
  authentication in pre/pro (dev keeps prometheus open for local
  scraping); document why csrf is safely disabled
- centers: exclude the grpc oauth2 resource-server autoconfiguration
  per service (not in the shared web profile, which outranks the
  gateway's own excludes) and add the resource-server/jose deps so
  annotation introspection resolves cleanly at boot
2026-09-18 09:46:23 +08:00
..

DC3 Center

dc3-center contains the deployable backend applications. Most business logic lives in matching dc3-common-* modules; center modules assemble dependencies, configuration, and process boundaries.

Applications

Module HTTP gRPC Base path Purpose
dc3-center-single 8100 9100 /single auth, manager, and data in one JVM
dc3-center-auth 8300 9300 /auth identity, authorization, OAuth2, and MCP authorization
dc3-center-manager 8400 9400 /manager device and metadata management
dc3-center-data 8500 9500 /data values, commands, events, and status
dc3-center-agentic 8600 n/a /agentic AI-assisted operations

Ports are defaults; environment variables in each application.yml are authoritative. The distributed applications use static, environment-overridable gRPC addresses. They do not depend on Nacos service discovery.

Run locally

From the repository root:

make up-db
make up-dev GROUP=core

To run source processes instead, start one command per terminal:

make run SERVICE=auth
make run SERVICE=manager
make run SERVICE=data
make run SERVICE=agentic

Run the all-in-one process directly because the root Makefile does not define a single service alias:

mvn -s .mvn/settings.xml -pl dc3-center/dc3-center-single -am spring-boot:run

Start the gateway separately when testing public HTTP routes.

Verification

mvn -s .mvn/settings.xml -q -f dc3-center/pom.xml -DskipTests compile
mvn -s .mvn/settings.xml -f dc3-center/pom.xml test

For runtime configuration, read the affected module's application.yml plus its active profile file. Do not duplicate profile-specific host or port values in new documentation.