refactor: 集中显式注入并归位凭据领域规则
Verify / test (pull_request) Successful in 13m29s
Verify / lint (pull_request) Successful in 14m13s
Verify / database-integration (pull_request) Successful in 15m48s

This commit is contained in:
2026-09-27 19:16:48 +00:00
parent 72ce3eda40
commit 7834cab97f
34 changed files with 612 additions and 259 deletions
+28
View File
@@ -0,0 +1,28 @@
package bootstrap
import (
"git.ddupan.top/panxiao81/ayatori/internal/database/adapter/kubernetes"
"git.ddupan.top/panxiao81/ayatori/internal/database/application"
databasecontroller "git.ddupan.top/panxiao81/ayatori/internal/database/controller"
"sigs.k8s.io/controller-runtime/pkg/client"
)
// 本文件是 Database 的显式依赖图:adapter → 用例 → controller。
// 构造只在启动时执行;用例和 controller 都不持有容器或动态查找依赖。
func wireBindingController(writer client.Client, reader client.Reader) *databasecontroller.BindingReconciler {
resources := &kubernetes.BindingResources{Client: writer, Reader: reader}
service := &application.BindingService{Resources: resources}
return databasecontroller.NewBindingReconciler(writer, service, resources)
}
func wireCredentialController(writer client.Client, reader client.Reader, store application.CredentialStore) *databasecontroller.CredentialReconciler {
resources := &kubernetes.CredentialResources{Client: writer, Reader: reader}
service := &application.CredentialPreparation{Resources: resources, Store: store}
return databasecontroller.NewCredentialReconciler(writer, service)
}
func wireInstanceController(writer client.Client, reader client.Reader, observer application.InstanceObserver, namespace string) *databasecontroller.InstanceReconciler {
resources := &kubernetes.InstanceResources{Client: writer, Reader: reader}
service := &application.InstanceReconciliation{Resources: resources, Observer: observer}
return databasecontroller.NewInstanceReconciler(writer, service, resources, namespace)
}