added config file fallback

This commit is contained in:
ACoolName 2025-04-06 23:58:10 +03:00
parent caff230188
commit bcd05ebf4e

View File

@ -3,6 +3,8 @@ package kubernetes
import ( import (
"context" "context"
"io" "io"
"os"
"path/filepath"
"strings" "strings"
"time" "time"
@ -18,6 +20,7 @@ import (
kubernetesclient "k8s.io/client-go/kubernetes" kubernetesclient "k8s.io/client-go/kubernetes"
clientgoscheme "k8s.io/client-go/kubernetes/scheme" clientgoscheme "k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest" "k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/client-go/tools/remotecommand" "k8s.io/client-go/tools/remotecommand"
"sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client"
) )
@ -52,6 +55,9 @@ func convertServerManagerImage(image *servermanagerv1.Image) *instancemanager.Im
// General // General
// Read Only // Read Only
func (i *InstanceManager) GetImage(ctx context.Context, imageId string) (*instancemanager.Image, error) { func (i *InstanceManager) GetImage(ctx context.Context, imageId string) (*instancemanager.Image, error) {
if imageId == "" {
return &instancemanager.Image{}, nil
}
image := &servermanagerv1.Image{} image := &servermanagerv1.Image{}
err := i.client.Get(ctx, client.ObjectKey{Name: imageId, Namespace: i.Config.Namespace}, image) err := i.client.Get(ctx, client.ObjectKey{Name: imageId, Namespace: i.Config.Namespace}, image)
if err != nil { if err != nil {
@ -337,12 +343,15 @@ func (i *InstanceManager) StopFileBrowser(ctx context.Context, serverId string)
func NewInstanceManager(config models.KubernetesInstanceManagerConfig) (*InstanceManager, error) { func NewInstanceManager(config models.KubernetesInstanceManagerConfig) (*InstanceManager, error) {
c, err := rest.InClusterConfig() c, err := rest.InClusterConfig()
if err != nil {
kubeconfig := filepath.Join(os.Getenv("HOME"), ".kube", "config")
c, err = clientcmd.BuildConfigFromFlags("", kubeconfig)
if err != nil { if err != nil {
return nil, err return nil, err
} }
}
scheme := runtime.NewScheme() scheme := runtime.NewScheme()
clientgoscheme.AddToScheme(scheme) clientgoscheme.AddToScheme(scheme)
servermanagerv1.AddToScheme(scheme) servermanagerv1.AddToScheme(scheme)