added kubernetes - NOT TESTED

This commit is contained in:
2025-04-06 23:52:48 +03:00
parent 658789cccb
commit caff230188
8 changed files with 209 additions and 31 deletions

View File

@@ -2,10 +2,12 @@ package factories
import (
"errors"
"fmt"
"sync"
instancemanager "git.acooldomain.co/server-manager/backend/instancemanager"
"git.acooldomain.co/server-manager/backend/instancemanager/docker"
"git.acooldomain.co/server-manager/backend/instancemanager/kubernetes"
"git.acooldomain.co/server-manager/backend/models"
)
@@ -18,6 +20,10 @@ func getDockerCacheKey(config *models.DockerInstanceManagerConfig, siteDomain st
return "Docker/" + siteDomain
}
func getKubernetesKey(config *models.KubernetesInstanceManagerConfig) string {
return fmt.Sprintf("Kubernetees/%s", config.Namespace)
}
func GetInstanceManager(config models.InstanceManagerConfig, siteDomain string) (instancemanager.InstanceManager, error) {
var key string
var handler instancemanager.InstanceManager
@@ -30,6 +36,11 @@ func GetInstanceManager(config models.InstanceManagerConfig, siteDomain string)
return nil, errors.New("missing Docker configuration")
}
key = getDockerCacheKey(config.Docker, siteDomain)
case models.KUBERNETES:
if config.Kubernetes == nil {
return nil, errors.New("missing Kubernetes configuration")
}
key = getKubernetesKey(config.Kubernetes)
default:
return nil, errors.New("unsupported database type")
}
@@ -47,6 +58,11 @@ func GetInstanceManager(config models.InstanceManagerConfig, siteDomain string)
if err != nil {
return nil, err
}
case models.KUBERNETES:
handler, err = kubernetes.NewInstanceManager(*config.Kubernetes)
if err != nil {
return nil, err
}
default:
return nil, errors.New("unsupported database type")
}