github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/orbiter/kinds/loadbalancers/loadbalancers.go (about) 1 package loadbalancers 2 3 import ( 4 "fmt" 5 6 "github.com/caos/orbos/internal/operator/orbiter" 7 "github.com/caos/orbos/internal/operator/orbiter/kinds/loadbalancers/dynamic" 8 "github.com/caos/orbos/mntr" 9 "github.com/caos/orbos/pkg/secret" 10 "github.com/caos/orbos/pkg/tree" 11 ) 12 13 func GetQueryAndDestroyFunc( 14 monitor mntr.Monitor, 15 whitelist dynamic.WhiteListFunc, 16 loadBalancingTree *tree.Tree, 17 loadBalacingCurrent *tree.Tree, 18 finishedChan chan struct{}, 19 ) ( 20 orbiter.QueryFunc, 21 orbiter.DestroyFunc, 22 orbiter.ConfigureFunc, 23 bool, 24 map[string]*secret.Secret, 25 error, 26 ) { 27 28 switch loadBalancingTree.Common.Kind { 29 // case "orbiter.caos.ch/ExternalLoadBalancer": 30 // return []orbiter.Assembler{external.New(depPath, generalOverwriteSpec, externallbadapter.New())}, nil 31 case "orbiter.caos.ch/DynamicLoadBalancer": 32 return dynamic.AdaptFunc(whitelist)(monitor, finishedChan, loadBalancingTree, loadBalacingCurrent) 33 default: 34 return nil, nil, nil, false, nil, mntr.ToUserError(fmt.Errorf("unknown loadbalancing kind %s", loadBalancingTree.Common.Kind)) 35 } 36 }