-
Notifications
You must be signed in to change notification settings - Fork 273
/
manager.go
35 lines (28 loc) 路 980 Bytes
/
manager.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
package clusterapi
import (
"context"
"github.com/aws/eks-anywhere/pkg/cluster"
"github.com/aws/eks-anywhere/pkg/providers"
"github.com/aws/eks-anywhere/pkg/types"
)
type Manager struct {
*Installer
*Upgrader
}
type clients struct {
capiClient CAPIClient
kubectlClient KubectlClient
}
func NewManager(capiClient CAPIClient, kubectlClient KubectlClient) *Manager {
return &Manager{
Installer: NewInstaller(capiClient, kubectlClient),
Upgrader: NewUpgrader(capiClient, kubectlClient),
}
}
type CAPIClient interface {
Upgrade(ctx context.Context, managementCluster *types.Cluster, provider providers.Provider, newSpec *cluster.Spec, changeDiff *CAPIChangeDiff) error
InstallEtcdadmProviders(ctx context.Context, clusterSpec *cluster.Spec, cluster *types.Cluster, provider providers.Provider, installProviders []string) error
}
type KubectlClient interface {
CheckProviderExists(ctx context.Context, kubeconfigFile, name, namespace string) (bool, error)
}