managedk8s

package
v1.2.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const MaxKubeCredentialsWait = 10 * time.Second

Variables

This section is empty.

Functions

This section is empty.

Types

type ManagedK8sPlatform

type ManagedK8sPlatform struct {
	Type     string
	CommonPf infracommon.CommonPlatform
	Provider ManagedK8sProvider
	infracommon.CommonEmbedded
}

ManagedK8sPlatform contains info needed by all Managed Kubernetes Providers

func (*ManagedK8sPlatform) ActiveChanged

func (m *ManagedK8sPlatform) ActiveChanged(ctx context.Context, platformActive bool) error

func (*ManagedK8sPlatform) ChangeAppInstDNS

func (v *ManagedK8sPlatform) ChangeAppInstDNS(ctx context.Context, app *edgeproto.App, appInst *edgeproto.AppInst, OldURI string, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) ChangeCloudletDNS

func (s *ManagedK8sPlatform) ChangeCloudletDNS(ctx context.Context, cloudlet *edgeproto.Cloudlet, oldFqdn string, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) ChangeClusterInstDNS

func (s *ManagedK8sPlatform) ChangeClusterInstDNS(ctx context.Context, clusterInst *edgeproto.ClusterInst, oldFqdn string, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) CreateAppInst

func (m *ManagedK8sPlatform) CreateAppInst(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, appInst *edgeproto.AppInst, flavor *edgeproto.Flavor, updateSender edgeproto.AppInstInfoSender) error

func (*ManagedK8sPlatform) CreateCloudlet

func (m *ManagedK8sPlatform) CreateCloudlet(ctx context.Context, cloudlet *edgeproto.Cloudlet, pfConfig *edgeproto.PlatformConfig, pfInitConfig *platform.PlatformInitConfig, flavor *edgeproto.Flavor, caches *platform.Caches, updateCallback edgeproto.CacheUpdateCallback) (bool, error)

func (*ManagedK8sPlatform) CreateClusterInst

func (m *ManagedK8sPlatform) CreateClusterInst(ctx context.Context, clusterInst *edgeproto.ClusterInst, updateCallback edgeproto.CacheUpdateCallback, timeout time.Duration) error

func (*ManagedK8sPlatform) CreatePlatformApp

func (m *ManagedK8sPlatform) CreatePlatformApp(ctx context.Context, name string, kconf string, accessApi platform.AccessApi, pfConfig *edgeproto.PlatformConfig) error

func (*ManagedK8sPlatform) DeleteAppInst

func (m *ManagedK8sPlatform) DeleteAppInst(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, appInst *edgeproto.AppInst, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) DeleteCloudlet

func (m *ManagedK8sPlatform) DeleteCloudlet(ctx context.Context, cloudlet *edgeproto.Cloudlet, pfConfig *edgeproto.PlatformConfig, pfInitConfig *platform.PlatformInitConfig, caches *platform.Caches, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) DeleteClusterInst

func (m *ManagedK8sPlatform) DeleteClusterInst(ctx context.Context, clusterInst *edgeproto.ClusterInst, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) DeleteTrustPolicyException

func (m *ManagedK8sPlatform) DeleteTrustPolicyException(ctx context.Context, TrustPolicyExceptionKey *edgeproto.TrustPolicyExceptionKey, clusterKey *edgeproto.ClusterKey) error

func (*ManagedK8sPlatform) GatherCloudletInfo

func (m *ManagedK8sPlatform) GatherCloudletInfo(ctx context.Context, info *edgeproto.CloudletInfo) error

func (*ManagedK8sPlatform) GetAppInstRuntime

func (m *ManagedK8sPlatform) GetAppInstRuntime(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, appInst *edgeproto.AppInst) (*edgeproto.AppInstRuntime, error)

func (*ManagedK8sPlatform) GetCloudletInfraResources

func (m *ManagedK8sPlatform) GetCloudletInfraResources(ctx context.Context) (*edgeproto.InfraResourcesSnapshot, error)

func (*ManagedK8sPlatform) GetCloudletManifest

func (m *ManagedK8sPlatform) GetCloudletManifest(ctx context.Context, cloudlet *edgeproto.Cloudlet, pfConfig *edgeproto.PlatformConfig, pfInitConfig *platform.PlatformInitConfig, accessApi platform.AccessApi, flavor *edgeproto.Flavor, caches *platform.Caches) (*edgeproto.CloudletManifest, error)

func (*ManagedK8sPlatform) GetClusterAdditionalResourceMetric

func (m *ManagedK8sPlatform) GetClusterAdditionalResourceMetric(ctx context.Context, cloudlet *edgeproto.Cloudlet, resMetric *edgeproto.Metric, resources []edgeproto.VMResource) error

func (*ManagedK8sPlatform) GetClusterAdditionalResources

func (m *ManagedK8sPlatform) GetClusterAdditionalResources(ctx context.Context, cloudlet *edgeproto.Cloudlet, vmResources []edgeproto.VMResource, infraResMap map[string]edgeproto.InfraResource) map[string]edgeproto.InfraResource

called by controller, make sure it doesn't make any calls to infra API

func (*ManagedK8sPlatform) GetClusterInfraResources

func (m *ManagedK8sPlatform) GetClusterInfraResources(ctx context.Context, cluster *edgeproto.ClusterInst) (*edgeproto.InfraResources, error)

func (*ManagedK8sPlatform) GetClusterPlatformClient

func (m *ManagedK8sPlatform) GetClusterPlatformClient(ctx context.Context, clusterInst *edgeproto.ClusterInst, clientType string) (ssh.Client, error)

func (*ManagedK8sPlatform) GetConsoleUrl

func (m *ManagedK8sPlatform) GetConsoleUrl(ctx context.Context, app *edgeproto.App, appInst *edgeproto.AppInst) (string, error)

func (*ManagedK8sPlatform) GetContainerCommand

func (m *ManagedK8sPlatform) GetContainerCommand(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, appInst *edgeproto.AppInst, req *edgeproto.ExecRequest) (string, error)

func (*ManagedK8sPlatform) GetFeatures

func (m *ManagedK8sPlatform) GetFeatures() *edgeproto.PlatformFeatures

func (*ManagedK8sPlatform) GetInitHAConditionalCompatibilityVersion

func (m *ManagedK8sPlatform) GetInitHAConditionalCompatibilityVersion(ctx context.Context) string

func (*ManagedK8sPlatform) GetNodePlatformClient

func (m *ManagedK8sPlatform) GetNodePlatformClient(ctx context.Context, node *edgeproto.CloudletMgmtNode, ops ...pc.SSHClientOp) (ssh.Client, error)

func (*ManagedK8sPlatform) GetRestrictedCloudletStatus

func (v *ManagedK8sPlatform) GetRestrictedCloudletStatus(ctx context.Context, cloudlet *edgeproto.Cloudlet, pfConfig *edgeproto.PlatformConfig, accessApi platform.AccessApi, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) GetRootLBClients

func (v *ManagedK8sPlatform) GetRootLBClients(ctx context.Context) (map[string]platform.RootLBClient, error)

func (*ManagedK8sPlatform) GetRootLBFlavor

func (m *ManagedK8sPlatform) GetRootLBFlavor(ctx context.Context) (*edgeproto.Flavor, error)

func (*ManagedK8sPlatform) HandleFedAppInstCb

func (m *ManagedK8sPlatform) HandleFedAppInstCb(ctx context.Context, msg *edgeproto.FedAppInstEvent)

func (*ManagedK8sPlatform) InitCommon

func (*ManagedK8sPlatform) InitHAConditional

func (m *ManagedK8sPlatform) InitHAConditional(ctx context.Context, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) ListCloudletMgmtNodes

func (m *ManagedK8sPlatform) ListCloudletMgmtNodes(ctx context.Context, clusterInsts []edgeproto.ClusterInst, vmAppInsts []edgeproto.AppInst) ([]edgeproto.CloudletMgmtNode, error)

func (*ManagedK8sPlatform) NameSanitize

func (m *ManagedK8sPlatform) NameSanitize(name string) string

func (*ManagedK8sPlatform) PerformUpgrades

func (m *ManagedK8sPlatform) PerformUpgrades(ctx context.Context, caches *platform.Caches, cloudletState dme.CloudletState) error

func (*ManagedK8sPlatform) SetPowerState

func (m *ManagedK8sPlatform) SetPowerState(ctx context.Context, app *edgeproto.App, appInst *edgeproto.AppInst, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) SetupKconf

func (m *ManagedK8sPlatform) SetupKconf(ctx context.Context, clusterInst *edgeproto.ClusterInst) error

func (*ManagedK8sPlatform) UpdateAppInst

func (m *ManagedK8sPlatform) UpdateAppInst(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, appInst *edgeproto.AppInst, flavor *edgeproto.Flavor, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) UpdateCloudlet

func (m *ManagedK8sPlatform) UpdateCloudlet(ctx context.Context, cloudlet *edgeproto.Cloudlet, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) UpdateClusterInst

func (m *ManagedK8sPlatform) UpdateClusterInst(ctx context.Context, clusterInst *edgeproto.ClusterInst, updateCallback edgeproto.CacheUpdateCallback) error

func (*ManagedK8sPlatform) UpdateTrustPolicy

func (m *ManagedK8sPlatform) UpdateTrustPolicy(ctx context.Context, TrustPolicy *edgeproto.TrustPolicy) error

func (*ManagedK8sPlatform) UpdateTrustPolicyException

func (m *ManagedK8sPlatform) UpdateTrustPolicyException(ctx context.Context, TrustPolicyException *edgeproto.TrustPolicyException, clusterKey *edgeproto.ClusterKey) error

func (*ManagedK8sPlatform) VerifyVMs

func (m *ManagedK8sPlatform) VerifyVMs(ctx context.Context, vms []edgeproto.VM) error

type ManagedK8sProvider

type ManagedK8sProvider interface {
	GetFeatures() *edgeproto.PlatformFeatures
	GatherCloudletInfo(ctx context.Context, info *edgeproto.CloudletInfo) error
	SetProperties(props *infracommon.InfraProperties) error
	Login(ctx context.Context) error
	GetCredentials(ctx context.Context, clusterName string) error
	NameSanitize(name string) string
	CreateClusterPrerequisites(ctx context.Context, clusterName string) error
	RunClusterCreateCommand(ctx context.Context, clusterName string, numNodes uint32, flavor string) error
	RunClusterDeleteCommand(ctx context.Context, clusterName string) error
	InitApiAccessProperties(ctx context.Context, accessApi platform.AccessApi, vars map[string]string) error
	GetCloudletInfraResourcesInfo(ctx context.Context) ([]edgeproto.InfraResource, error)
	GetClusterAdditionalResources(ctx context.Context, cloudlet *edgeproto.Cloudlet, vmResources []edgeproto.VMResource, infraResMap map[string]edgeproto.InfraResource) map[string]edgeproto.InfraResource
	GetClusterAdditionalResourceMetric(ctx context.Context, cloudlet *edgeproto.Cloudlet, resMetric *edgeproto.Metric, resources []edgeproto.VMResource) error
}

ManagedK8sProvider is an interface that platforms implement to perform the details of interfacing with managed kubernetes services

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL