forked from kyma-project/kyma
/
clients.go
61 lines (52 loc) · 2.62 KB
/
clients.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package testkit
import (
servicecatalogclientset "github.com/kubernetes-incubator/service-catalog/pkg/client/clientset_generated/clientset"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/dynamic"
k8s "k8s.io/client-go/kubernetes"
coreclient "k8s.io/client-go/kubernetes/typed/core/v1"
"k8s.io/client-go/rest"
appbrokerclientset "github.com/kyma-project/kyma/components/application-broker/pkg/client/clientset/versioned"
appoperatorclientset "github.com/kyma-project/kyma/components/application-operator/pkg/client/clientset/versioned"
sbuclientset "github.com/kyma-project/kyma/components/service-binding-usage-controller/pkg/client/clientset/versioned"
)
var (
apiRuleRes = schema.GroupVersionResource{Group: "gateway.kyma-project.io", Version: "v1alpha1", Resource: "apirules"}
function = schema.GroupVersionResource{Group: "serverless.kyma-project.io", Version: "v1alpha1", Resource: "functions"}
)
type KymaClients struct {
AppOperatorClientset *appoperatorclientset.Clientset
AppBrokerClientset *appbrokerclientset.Clientset
CoreClientset *k8s.Clientset
Pods coreclient.PodInterface
ServiceCatalogClientset *servicecatalogclientset.Clientset
ServiceBindingUsageClientset *sbuclientset.Clientset
ApiRules dynamic.ResourceInterface
Function dynamic.ResourceInterface
}
func InitKymaClients(config *rest.Config, testID string) KymaClients {
coreClientset := k8s.NewForConfigOrDie(config)
client := dynamic.NewForConfigOrDie(config)
return KymaClients{
AppOperatorClientset: appoperatorclientset.NewForConfigOrDie(config),
AppBrokerClientset: appbrokerclientset.NewForConfigOrDie(config),
CoreClientset: coreClientset,
Pods: coreClientset.CoreV1().Pods(testID),
ServiceCatalogClientset: servicecatalogclientset.NewForConfigOrDie(config),
ServiceBindingUsageClientset: sbuclientset.NewForConfigOrDie(config),
ApiRules: client.Resource(apiRuleRes).Namespace(testID),
Function: client.Resource(function).Namespace(testID),
}
}
type CompassClients struct {
DirectorClient *CompassDirectorClient
ConnectorClient *CompassConnectorClient
}
func InitCompassClients(kymaClients KymaClients, state CompassDirectorClientState, domain string, skipSSLVerify bool) CompassClients {
director := NewCompassDirectorClientOrDie(kymaClients.CoreClientset, state, domain)
compassConnector := NewCompassConnectorClient(skipSSLVerify)
return CompassClients{
ConnectorClient: compassConnector,
DirectorClient: director,
}
}