Versions in this module Expand all Collapse all v1 v1.2.5 Sep 23, 2024 Changes in this version + const CreateCloudletNode + const CreateOrUpdateDNSRecord + const DeleteCloudletNode + const DeleteDNSRecord + const GetAppSecretVars + const GetChefAuthKey + const GetCloudletAccessVars + const GetDNSRecords + const GetFederationAPIKey + const GetKafkaCreds + const GetOldSSHKey + const GetPublicCert + const GetRegistryAuth + const GetSSHPublicKey + const GetSessionTokens + const PlatformTypeAWSEC2 + const PlatformTypeAWSEKS + const PlatformTypeAzure + const PlatformTypeDind + const PlatformTypeEdgebox + const PlatformTypeFake + const PlatformTypeFakeEdgebox + const PlatformTypeFakeInfra + const PlatformTypeFakeSingleCluster + const PlatformTypeFakeVMPool + const PlatformTypeFederation + const PlatformTypeGCP + const PlatformTypeK8SBareMetal + const PlatformTypeK8SOperator + const PlatformTypeKind + const PlatformTypeKindInfra + const PlatformTypeLocalhost + const PlatformTypeMock + const PlatformTypeOpenstack + const PlatformTypeVCD + const PlatformTypeVMPool + const PlatformTypeVSphere + const SignSSHKey + var ErrContinueViaController = errors.New("continue operation via controller") + func GetTypeBC(pfType string) string + func TrackK8sAppInst(ctx context.Context, app *edgeproto.App, features *edgeproto.PlatformFeatures) bool + type AccessApi interface + CreateCloudletNode func(ctx context.Context, node *edgeproto.CloudletNode) (string, error) + CreateOrUpdateDNSRecord func(ctx context.Context, name, rtype, content string, ttl int, proxy bool) error + DeleteCloudletNode func(ctx context.Context, nodeKey *edgeproto.CloudletNodeKey) error + DeleteDNSRecord func(ctx context.Context, fqdn string) error + GetAppSecretVars func(ctx context.Context, appKey *edgeproto.AppKey) (map[string]string, error) + GetCloudletAccessVars func(ctx context.Context) (map[string]string, error) + GetDNSRecords func(ctx context.Context, fqdn string) ([]dnsapi.Record, error) + GetFederationAPIKey func(ctx context.Context, fedKey *federationmgmt.FedKey) (*federationmgmt.ApiKey, error) + GetKafkaCreds func(ctx context.Context) (*node.KafkaCreds, error) + GetOldSSHKey func(ctx context.Context) (*vault.MEXKey, error) + GetSSHPublicKey func(ctx context.Context) (string, error) + GetSessionTokens func(ctx context.Context, secretName string) (string, error) + SignSSHKey func(ctx context.Context, publicKey string) (string, error) + type Caches struct + AppCache *edgeproto.AppCache + AppInstCache *edgeproto.AppInstCache + CloudletCache *edgeproto.CloudletCache + CloudletInternalCache *edgeproto.CloudletInternalCache + ClusterInstCache *edgeproto.ClusterInstCache + FlavorCache *edgeproto.FlavorCache + GPUDriverCache *edgeproto.GPUDriverCache + NetworkCache *edgeproto.NetworkCache + ResTagTableCache *edgeproto.ResTagTableCache + SettingsCache *edgeproto.SettingsCache + TrustPolicyCache *edgeproto.TrustPolicyCache + TrustPolicyExceptionCache *edgeproto.TrustPolicyExceptionCache + VMPool *edgeproto.VMPool + VMPoolCache *edgeproto.VMPoolCache + VMPoolInfoCache *edgeproto.VMPoolInfoCache + VMPoolMux *sync.Mutex + func BuildCaches() *Caches + type ClusterSvc interface + GetAppInstConfigs func(ctx context.Context, clusterInst *edgeproto.ClusterInst, ...) ([]*edgeproto.ConfigFile, error) + GetVersionProperties func(ctx context.Context) map[string]string + type DNSRequest struct + Content string + Name string + Proxy bool + RType string + TTL int + type Platform interface + ActiveChanged func(ctx context.Context, platformActive bool) error + ChangeAppInstDNS func(ctx context.Context, app *edgeproto.App, appInst *edgeproto.AppInst, ...) error + ChangeCloudletDNS func(ctx context.Context, cloudlet *edgeproto.Cloudlet, oldFqdn string, ...) error + ChangeClusterInstDNS func(ctx context.Context, clusterInst *edgeproto.ClusterInst, oldFqdn string, ...) error + CreateAppInst func(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, ...) error + CreateCloudlet func(ctx context.Context, cloudlet *edgeproto.Cloudlet, ...) (bool, error) + CreateClusterInst func(ctx context.Context, clusterInst *edgeproto.ClusterInst, ...) error + DeleteAppInst func(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, ...) error + DeleteCloudlet func(ctx context.Context, cloudlet *edgeproto.Cloudlet, ...) error + DeleteClusterInst func(ctx context.Context, clusterInst *edgeproto.ClusterInst, ...) error + DeleteTrustPolicyException func(ctx context.Context, ...) error + GatherCloudletInfo func(ctx context.Context, info *edgeproto.CloudletInfo) error + GetAppInstRuntime func(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, ...) (*edgeproto.AppInstRuntime, error) + GetCloudletInfraResources func(ctx context.Context) (*edgeproto.InfraResourcesSnapshot, error) + GetCloudletManifest func(ctx context.Context, cloudlet *edgeproto.Cloudlet, ...) (*edgeproto.CloudletManifest, error) + GetClusterAdditionalResourceMetric func(ctx context.Context, cloudlet *edgeproto.Cloudlet, resMetric *edgeproto.Metric, ...) error + GetClusterAdditionalResources func(ctx context.Context, cloudlet *edgeproto.Cloudlet, ...) map[string]edgeproto.InfraResource + GetClusterInfraResources func(ctx context.Context, cluster *edgeproto.ClusterInst) (*edgeproto.InfraResources, error) + GetClusterPlatformClient func(ctx context.Context, clusterInst *edgeproto.ClusterInst, clientType string) (ssh.Client, error) + GetConsoleUrl func(ctx context.Context, app *edgeproto.App, appInst *edgeproto.AppInst) (string, error) + GetContainerCommand func(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, ...) (string, error) + GetFeatures func() *edgeproto.PlatformFeatures + GetInitHAConditionalCompatibilityVersion func(ctx context.Context) string + GetNodePlatformClient func(ctx context.Context, node *edgeproto.CloudletMgmtNode, ops ...pc.SSHClientOp) (ssh.Client, error) + GetRestrictedCloudletStatus func(ctx context.Context, cloudlet *edgeproto.Cloudlet, ...) error + GetRootLBClients func(ctx context.Context) (map[string]RootLBClient, error) + GetRootLBFlavor func(ctx context.Context) (*edgeproto.Flavor, error) + GetVersionProperties func(ctx context.Context) map[string]string + HandleFedAppInstCb func(ctx context.Context, msg *edgeproto.FedAppInstEvent) + InitCommon func(ctx context.Context, platformConfig *PlatformConfig, caches *Caches, ...) error + InitHAConditional func(ctx context.Context, updateCallback edgeproto.CacheUpdateCallback) error + ListCloudletMgmtNodes func(ctx context.Context, clusterInsts []edgeproto.ClusterInst, ...) ([]edgeproto.CloudletMgmtNode, error) + NameSanitize func(name string) string + PerformUpgrades func(ctx context.Context, caches *Caches, cloudletState dme.CloudletState) error + SetPowerState func(ctx context.Context, app *edgeproto.App, appInst *edgeproto.AppInst, ...) error + UpdateAppInst func(ctx context.Context, clusterInst *edgeproto.ClusterInst, app *edgeproto.App, ...) error + UpdateCloudlet func(ctx context.Context, cloudlet *edgeproto.Cloudlet, ...) error + UpdateClusterInst func(ctx context.Context, clusterInst *edgeproto.ClusterInst, ...) error + UpdateTrustPolicy func(ctx context.Context, TrustPolicy *edgeproto.TrustPolicy) error + UpdateTrustPolicyException func(ctx context.Context, TrustPolicyException *edgeproto.TrustPolicyException, ...) error + VerifyVMs func(ctx context.Context, vms []edgeproto.VM) error + type PlatformBuilder func() Platform + type PlatformCollection struct + func NewPlatformCollection(builders []PlatformBuilder) *PlatformCollection + func (s *PlatformCollection) BuildPlatform(plat string) (Platform, error) + func (s *PlatformCollection) GetAllPlatformsFeatures() []edgeproto.PlatformFeatures + func (s *PlatformCollection) GetBuilders() map[string]PlatformBuilder + func (s *PlatformCollection) GetFeatures(platformType string) (*edgeproto.PlatformFeatures, error) + type PlatformConfig struct + AnsiblePublicAddr string + AppDNSRoot string + CacheDir string + CloudletKey *edgeproto.CloudletKey + CloudletObjID string + CloudletVMImagePath string + CommercialCerts bool + ContainerRegistryPath string + CrmOnEdge bool + DeploymentTag string + EnvVars map[string]string + EnvoyWithCurlImage string + FedExternalAddr string + GPUConfig *edgeproto.GPUConfig + NginxWithCurlImage string + NodeMgr *node.NodeMgr + PhysicalName string + Region string + RootLBAccessKey string + RootLBFQDN string + TestMode bool + TrustPolicy string + type PlatformInitConfig struct + AccessApi AccessApi + CloudletSSHKey *cloudletssh.SSHKey + ProxyCertsCache *certscache.ProxyCertsCache + SyncFactory syncdata.SyncFactory + type RootLBClient struct + Client ssh.Client + FQDN string