How dromara/dante-cloud works
Dante Cloud is a modular cloud platform designed to run as either microservices or a monolith. A representative user-facing flow enters through the gateway, reaches authentication, and obtains user details from UPMS locally or through Feign; the sampled code confirms the UAA client strategies and social sign-in endpoint, but not complete gateway routing or credential issuance. Other documented and tree-supported branches include BPMN, object storage, monitoring, and messaging. Several links are omitted where only module presence—not runtime wiring—is evidenced by the supplied excerpts.
Main entry points: AbstractStrategyUserDetailsService.java User lookup strategy · FeignStrategyUserDetailsService.java Remote lookup · GatewayApplication.java API gateway · UaaApplication.java Authorization service
Components 21
Entry and routing
- API gateway
dante-cloud-platform/dante-cloud-gateway/src/main/java/cn/herodotus/dantecloud/gateway/GatewayApplication.java - Gateway filters
dante-cloud-platform/dante-cloud-gateway/src/main/java/cn/herodotus/dantecloud/gateway/filter/GlobalCertificationFilter.java - Route refresh
dante-cloud-platform/dante-cloud-gateway/src/main/java/cn/herodotus/dantecloud/gateway/handler/RefreshRoutesListener.java - Monolith mode
dante-cloud-modules/dante-monolith-autoconfigure/src/main/java/cn/herodotus/dantecloud/monolith/autoconfigure/MonolithAutoConfiguration.java
Identity and access
- Authorization service
dante-cloud-platform/dante-cloud-uaa/src/main/java/cn/herodotus/dantecloud/uaa/UaaApplication.java - User lookup strategy
dante-cloud-packages/rpc-client-uaa-spring-boot-starter/src/main/java/cn/herodotus/dantecloud/rpc/client/uaa/autoconfigure/definition/AbstractStrategyUserDetailsService.java - Local lookup
dante-cloud-packages/rpc-client-uaa-spring-boot-starter/src/main/java/cn/herodotus/dantecloud/rpc/client/uaa/autoconfigure/local/LocalStrategyUserDetailsService.java - Remote lookup
dante-cloud-packages/rpc-client-uaa-spring-boot-starter/src/main/java/cn/herodotus/dantecloud/rpc/client/uaa/autoconfigure/feign/FeignStrategyUserDetailsService.java - User management
dante-cloud-platform/dante-cloud-upms/src/main/java/cn/herodotus/dantecloud/upms/UpmsApplication.java - Social sign-in
dante-cloud-packages/rpc-server-upms-spring-boot-starter/src/main/java/cn/herodotus/dantecloud/rpc/server/upms/autoconfigure/feign/SocialSignInController.java - Social authentication
dante-cloud-packages/rpc-server-upms-spring-boot-starter/src/main/java/cn/herodotus/dantecloud/rpc/server/upms/autoconfigure/feign/SocialSignInController.java
Platform services
- Workflow engine
dante-cloud-services/dante-cloud-bpmn-ability/src/main/java/cn/herodotus/dantecloud/bpmn/ability/BpmnAbilityApplication.java - Workflow logic
dante-cloud-services/dante-cloud-bpmn-logic/src/main/java/cn/herodotus/dantecloud/bpmn/logic/service/ActIdTenantService.java - Object storage
dante-cloud-services/dante-cloud-oss-ability/src/main/java/cn/herodotus/dantecloud/oss/ability/OssAbilityApplication.java - Monitoring
dante-cloud-platform/dante-cloud-monitor/src/main/java/cn/herodotus/dantecloud/monitor/MonitorApplication.java - Messaging
dante-cloud-platform/dante-cloud-message/src/main/java/cn/herodotus/dantecloud/message/MessageApplication.java
Service integration
- Remote user API
dante-cloud-packages/rpc-client-uaa-spring-boot-starter/src/main/java/cn/herodotus/dantecloud/rpc/client/uaa/autoconfigure/feign/api/RemoteUserDetailsService.java - Remote social API
dante-cloud-packages/rpc-client-uaa-spring-boot-starter/src/main/java/cn/herodotus/dantecloud/rpc/client/uaa/autoconfigure/feign/api/RemoteSocialDetailsService.java - Storage client API
dante-cloud-packages/rpc-client-oss-spring-boot-starter/src/main/java/cn/herodotus/dantecloud/rpc/client/oss/autoconfigure/feign/api/feign/api/RemoteOssPresignedUrlService.java
Other components
- Client
- Service discovery
Connections 13
- Client → API gateway: sends requests
- API gateway → Gateway filters: filters traffic
- Route refresh → Service discovery: reads routes
- Authorization service → User lookup strategy: uses lookup
- User lookup strategy → Local lookup: selects local
- User lookup strategy → Remote lookup: selects remote
- Remote lookup → Remote user API: requests user
- Remote lookup → Remote social API: requests social user
- Remote user API → User management: calls UPMS
- Remote social API → Social sign-in: calls UPMS
- Social sign-in → Social authentication: authenticates
- Storage client API → Object storage: requests storage
- Monolith mode → Authorization service: configures mode