first-commit
This commit is contained in:
42
modules/k8s/controller/devcontainer/controller-wrapper.go
Normal file
42
modules/k8s/controller/devcontainer/controller-wrapper.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package devcontainer
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"k8s.io/klog/v2"
|
||||
"sigs.k8s.io/controller-runtime/pkg/manager"
|
||||
|
||||
devcontainerv1 "code.gitea.io/gitea/modules/k8s/api/devcontainer/v1"
|
||||
)
|
||||
|
||||
// Controller 实现 controller.Controller 接口
|
||||
type Controller struct{}
|
||||
|
||||
// Name 返回控制器名称
|
||||
func (c *Controller) Name() string {
|
||||
return "devcontainer"
|
||||
}
|
||||
|
||||
// Init 初始化控制器
|
||||
func (c *Controller) Init(mgr manager.Manager) error {
|
||||
// 添加 API 到 scheme
|
||||
klog.InfoS("Adding DevContainer API to scheme")
|
||||
if err := devcontainerv1.AddToScheme(mgr.GetScheme()); err != nil {
|
||||
return fmt.Errorf("unable to add DevContainer API to scheme: %w", err)
|
||||
}
|
||||
|
||||
// 创建 DevContainer reconciler
|
||||
klog.InfoS("Creating DevContainer reconciler")
|
||||
reconciler := &DevcontainerAppReconciler{
|
||||
Client: mgr.GetClient(),
|
||||
Scheme: mgr.GetScheme(),
|
||||
}
|
||||
|
||||
// 设置 reconciler 与 manager
|
||||
klog.InfoS("Setting up DevContainer with manager")
|
||||
if err := reconciler.SetupWithManager(mgr); err != nil {
|
||||
return fmt.Errorf("failed to setup DevContainer controller: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user