2022-09-05 03:06:08 -04:00
|
|
|
/*
|
|
|
|
Copyright (c) Edgeless Systems GmbH
|
|
|
|
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
*/
|
|
|
|
|
2022-05-24 04:04:42 -04:00
|
|
|
package kubernetes
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2022-07-15 03:33:11 -04:00
|
|
|
"net"
|
2022-05-24 04:04:42 -04:00
|
|
|
|
2022-06-29 09:26:29 -04:00
|
|
|
"github.com/edgelesssys/constellation/bootstrapper/internal/kubernetes/k8sapi"
|
2022-08-29 08:30:20 -04:00
|
|
|
"github.com/edgelesssys/constellation/internal/kubernetes"
|
2022-07-14 07:30:44 -04:00
|
|
|
"github.com/edgelesssys/constellation/internal/logger"
|
2022-08-31 21:40:29 -04:00
|
|
|
"github.com/edgelesssys/constellation/internal/role"
|
2022-07-22 09:05:04 -04:00
|
|
|
"github.com/edgelesssys/constellation/internal/versions"
|
2022-05-24 04:04:42 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
type clusterUtil interface {
|
2022-07-22 09:05:04 -04:00
|
|
|
InstallComponents(ctx context.Context, version versions.ValidK8sVersion) error
|
2022-08-31 21:40:29 -04:00
|
|
|
InitCluster(ctx context.Context, initConfig []byte, nodeName string, ips []net.IP, controlPlaneEndpoint string, log *logger.Logger) error
|
|
|
|
JoinCluster(ctx context.Context, joinConfig []byte, peerRole role.Role, controlPlaneEndpoint string, log *logger.Logger) error
|
2022-08-12 04:20:19 -04:00
|
|
|
SetupHelmDeployments(ctx context.Context, client k8sapi.Client, helmDeployments []byte, in k8sapi.SetupPodNetworkInput, log *logger.Logger) error
|
2022-08-29 08:30:20 -04:00
|
|
|
SetupAccessManager(kubectl k8sapi.Client, sshUsers kubernetes.Marshaler) error
|
|
|
|
SetupAutoscaling(kubectl k8sapi.Client, clusterAutoscalerConfiguration kubernetes.Marshaler, secrets kubernetes.Marshaler) error
|
|
|
|
SetupJoinService(kubectl k8sapi.Client, joinServiceConfiguration kubernetes.Marshaler) error
|
|
|
|
SetupCloudControllerManager(kubectl k8sapi.Client, cloudControllerManagerConfiguration kubernetes.Marshaler, configMaps kubernetes.Marshaler, secrets kubernetes.Marshaler) error
|
|
|
|
SetupCloudNodeManager(kubectl k8sapi.Client, cloudNodeManagerConfiguration kubernetes.Marshaler) error
|
2022-08-31 21:40:29 -04:00
|
|
|
SetupKonnectivity(kubectl k8sapi.Client, konnectivityAgentsDaemonSet kubernetes.Marshaler) error
|
2022-08-29 08:30:20 -04:00
|
|
|
SetupKMS(kubectl k8sapi.Client, kmsConfiguration kubernetes.Marshaler) error
|
|
|
|
SetupVerificationService(kubectl k8sapi.Client, verificationServiceConfiguration kubernetes.Marshaler) error
|
|
|
|
SetupGCPGuestAgent(kubectl k8sapi.Client, gcpGuestAgentConfiguration kubernetes.Marshaler) error
|
|
|
|
SetupOperatorLifecycleManager(ctx context.Context, kubectl k8sapi.Client, olmCRDs, olmConfiguration kubernetes.Marshaler, crdNames []string) error
|
|
|
|
SetupNodeMaintenanceOperator(kubectl k8sapi.Client, nodeMaintenanceOperatorConfiguration kubernetes.Marshaler) error
|
|
|
|
SetupNodeOperator(ctx context.Context, kubectl k8sapi.Client, nodeOperatorConfiguration kubernetes.Marshaler) error
|
2022-05-24 04:04:42 -04:00
|
|
|
StartKubelet() error
|
2022-09-08 08:45:27 -04:00
|
|
|
FixCilium(log *logger.Logger)
|
2022-05-24 04:04:42 -04:00
|
|
|
}
|