added kubernetes - NOT TESTED
This commit is contained in:
@@ -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")
|
||||
}
|
||||
|
Reference in New Issue
Block a user