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 }