Documentation ¶
Index ¶
Constants ¶
View Source
const ( AWSCAPIProvider = "aws-cluster-api-controllers" AzureCAPIProvider = "azure-cluster-api-controllers" PowerVSCAPIProvider = "ibmcloud-cluster-api-controllers" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OrphanDeleter ¶
type OrphanDeleter interface { // DeleteOrphanedMachines removes the finalizer from provider machines if they have been deleted and it is no // longer possible to delete them normally via the provider (ie. the OIDC provider is no longer valid) DeleteOrphanedMachines(ctx context.Context, c client.Client, hc *hyperv1.HostedCluster, controlPlaneNamespace string) error }
OrphanDeleter is an interface implemented by providers for which it is possible to determine if machines have been orphaned by a failure to communicate with the provider.
type Platform ¶
type Platform interface { // ReconcileCAPIInfraCR is called during HostedCluster reconciliation prior to reconciling the CAPI Cluster CR. // Implementations should use the given input and client to create and update the desired state of the // platform infrastructure CAPI CR, which will then be referenced by the CAPI Cluster CR. // TODO (alberto): Pass createOrUpdate construct instead of client. ReconcileCAPIInfraCR(ctx context.Context, c client.Client, createOrUpdate upsert.CreateOrUpdateFN, hcluster *hyperv1.HostedCluster, controlPlaneNamespace string, apiEndpoint hyperv1.APIEndpoint) (client.Object, error) // CAPIProviderDeploymentSpec is called during HostedCluster reconciliation prior to reconciling // the CAPI provider Deployment. // It should return a CAPI provider DeploymentSpec with the specific needs for a particular platform. // E.g particular volumes and secrets for credentials, containers, etc. CAPIProviderDeploymentSpec(hcluster *hyperv1.HostedCluster, hcp *hyperv1.HostedControlPlane) (*appsv1.DeploymentSpec, error) // ReconcileCredentials is responsible for reconciling resources related to cloud credentials // from the HostedCluster namespace into to the HostedControlPlaneNamespace. So they can be used by // the Control Plane Operator. ReconcileCredentials(ctx context.Context, c client.Client, createOrUpdate upsert.CreateOrUpdateFN, hcluster *hyperv1.HostedCluster, controlPlaneNamespace string) error // ReconcileSecretEncryption is responsible for reconciling resources related to secret encryption // from the HostedCluster namespace into to the HostedControlPlaneNamespace. So they can be used by // the Control Plane Operator if your platform supports KMS. ReconcileSecretEncryption(ctx context.Context, c client.Client, createOrUpdate upsert.CreateOrUpdateFN, hcluster *hyperv1.HostedCluster, controlPlaneNamespace string) error // CAPIProviderPolicyRules responsible to return list of policy rules are required to be used // by the CAPI provider in order to manage the resources by this platform // Return nil if no aditional policy rule is required CAPIProviderPolicyRules() []rbacv1.PolicyRule // DeleteCredentials is responsible for deleting resources related to platform credentials // So they won't leak on upon hostedcluster deletion DeleteCredentials(ctx context.Context, c client.Client, hcluster *hyperv1.HostedCluster, controlPlaneNamespace string) error }
func GetPlatform ¶
func GetPlatform(ctx context.Context, hcluster *hyperv1.HostedCluster, releaseProvider releaseinfo.Provider, utilitiesImage string, pullSecretBytes []byte) (Platform, error)
GetPlatform gets and initializes the cloud platform the hosted cluster was created on
Click to show internal directories.
Click to hide internal directories.