18 lines
560 B
Go
18 lines
560 B
Go
package application
|
|
|
|
import "context"
|
|
|
|
// DatabaseReconciliation 顺序编排两个已有用例,不复制它们的领域判断。
|
|
// 启用资源创建时由同一个 controller 驱动,避免两个 worker 争写同一 Database status。
|
|
type DatabaseReconciliation struct {
|
|
Credentials *CredentialPreparation
|
|
Provisioning *DatabaseProvisioning
|
|
}
|
|
|
|
func (s DatabaseReconciliation) Reconcile(ctx context.Context, name string) error {
|
|
if err := s.Credentials.Reconcile(ctx, name); err != nil {
|
|
return err
|
|
}
|
|
return s.Provisioning.Reconcile(ctx, name)
|
|
}
|