added basic support

This commit is contained in:
2025-04-02 04:39:27 +03:00
parent d83bc3368a
commit 27d24e5b1d
6 changed files with 166 additions and 49 deletions

View File

@@ -23,6 +23,7 @@ import (
// Import all Kubernetes client auth plugins (e.g. Azure, GCP, OIDC, etc.)
// to ensure that exec-entrypoint and run can make use of them.
"gopkg.in/yaml.v3"
_ "k8s.io/client-go/plugin/pkg/client/auth"
"k8s.io/apimachinery/pkg/runtime"
@@ -37,6 +38,7 @@ import (
servermanagerv1alpha1 "git.acooldomain.co/server-manager/kubernetes-operator/api/v1alpha1"
"git.acooldomain.co/server-manager/kubernetes-operator/internal/controller"
traefikv3 "github.com/traefik/traefik/v3/pkg/provider/kubernetes/crd/traefikio/v1alpha1"
// +kubebuilder:scaffold:imports
)
@@ -49,6 +51,7 @@ func init() {
utilruntime.Must(clientgoscheme.AddToScheme(scheme))
utilruntime.Must(servermanagerv1alpha1.AddToScheme(scheme))
utilruntime.Must(traefikv3.AddToScheme(scheme))
// +kubebuilder:scaffold:scheme
}
@@ -143,12 +146,20 @@ func main() {
setupLog.Error(err, "unable to start manager")
os.Exit(1)
}
config := controller.ServerManagerReconcilerConfig{}
config := &controller.ServerManagerReconcilerConfig{}
configData, err := os.ReadFile("config.yaml")
if err != nil {
setupLog.Error(err, "unable to read config file")
}
err = yaml.Unmarshal(configData, config)
if err != nil {
setupLog.Error(err, "failed to marshal data")
}
if err = (&controller.ServerManagerReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Config: config,
Config: *config,
}).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "ServerManager")
os.Exit(1)