确定单库单账号、集群级 Database、资源侧先写绑定和凭据定位合同。领域层承载纯规则,service 协調流程,Kubernetes adapter 负责资源呈现与版本保护。 验证:全量 make test、三轮 race、真实 API server 并发与重启补写、最小 RBAC/watch、lint 和文档检查通过。供应、凭据交付及删除清理尚未实现,保留 DeletionPending/finalizer 边界。
26 lines
846 B
Go
26 lines
846 B
Go
// Package v1alpha1 定义 Database 领域的 Kubernetes API。
|
|
// +kubebuilder:object:generate=true
|
|
// +groupName=database.ayatori.ddupan.top
|
|
package v1alpha1
|
|
|
|
import (
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
|
)
|
|
|
|
var (
|
|
SchemeGroupVersion = schema.GroupVersion{Group: "database.ayatori.ddupan.top", Version: "v1alpha1"}
|
|
GroupVersion = SchemeGroupVersion
|
|
SchemeBuilder = runtime.NewSchemeBuilder(func(scheme *runtime.Scheme) error {
|
|
scheme.AddKnownTypes(SchemeGroupVersion,
|
|
&PostgreSQLInstance{}, &PostgreSQLInstanceList{},
|
|
&PostgreSQLDatabase{}, &PostgreSQLDatabaseList{},
|
|
&PostgreSQLTenant{}, &PostgreSQLTenantList{},
|
|
)
|
|
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
|
|
return nil
|
|
})
|
|
AddToScheme = SchemeBuilder.AddToScheme
|
|
)
|