Documentation
¶
Index ¶
- Variables
- func BootstrapCluster(ctx context.Context, args BootstrapClusterArgs)
- func CreateDevEnv(ctx context.Context, args *CreateDevEnvArgs)
- func DeleteCluster(ctx context.Context)
- func RecoverCluster(ctx context.Context, managementClusterName string, skipPRWorkflow bool)
- func SetupCluster(ctx context.Context, args SetupClusterArgs)
- func SetupKubeAidConfig(ctx context.Context, args SetupKubeAidConfigArgs)
- func TestCluster(ctx context.Context)
- func UpgradeCluster(ctx context.Context, args UpgradeClusterArgs)
- type BootstrapClusterArgs
- type CreateDevEnvArgs
- type ProvisionAndSetupMainClusterArgs
- type SetupClusterArgs
- type SetupKubeAidConfigArgs
- type TemplateValues
- type UpgradeClusterArgs
Constants ¶
This section is empty.
Variables ¶
View Source
var KubeaidConfigFileTemplates embed.FS
Functions ¶
func BootstrapCluster ¶
func BootstrapCluster(ctx context.Context, args BootstrapClusterArgs)
func CreateDevEnv ¶
func CreateDevEnv(ctx context.Context, args *CreateDevEnvArgs)
func DeleteCluster ¶
func RecoverCluster ¶
func SetupCluster ¶
func SetupCluster(ctx context.Context, args SetupClusterArgs)
func SetupKubeAidConfig ¶
func SetupKubeAidConfig(ctx context.Context, args SetupKubeAidConfigArgs)
Does the following :
(1) Creates / updates all necessary files for the given cluster, in the user's KubeAid config repository. (2) Commits and pushes those changes to the upstream. (3) Waits for those changes to get merged into the default branch.
It expects the KubeAid Config repository to be already cloned in the temp directory.
func TestCluster ¶ added in v0.12.0
func UpgradeCluster ¶
func UpgradeCluster(ctx context.Context, args UpgradeClusterArgs)
Types ¶
type BootstrapClusterArgs ¶
type BootstrapClusterArgs struct {
*CreateDevEnvArgs
SkipClusterctlMove bool
}
type CreateDevEnvArgs ¶
type ProvisionAndSetupMainClusterArgs ¶
type ProvisionAndSetupMainClusterArgs struct {
*BootstrapClusterArgs
GitAuthMethod transport.AuthMethod
}
type SetupClusterArgs ¶
type SetupClusterArgs struct {
*CreateDevEnvArgs
ClusterType string
ClusterClient client.Client
GitAuthMethod transport.AuthMethod
}
type SetupKubeAidConfigArgs ¶
type SetupKubeAidConfigArgs struct {
*CreateDevEnvArgs
GitAuthMethod transport.AuthMethod
}
type TemplateValues ¶
type TemplateValues struct {
GeneralConfigFileContents string
config.GitConfig
config.ForksConfig
config.ClusterConfig
*config.KubePrometheusConfig
CAPIClusterNamespace string
AWSConfig *config.AWSConfig
AWSCredentials *config.AWSCredentials
AWSB64EncodedCredentials,
AWSAccountID string
AzureConfig *config.AzureConfig
AzureCredentials *config.AzureCredentials
CAPIUAMIClientID,
VeleroUAMIClientID,
AzureStorageAccountAccessKey,
ServiceAccountIssuerURL string
HetznerConfig *config.HetznerConfig
HetznerCredentials *config.HetznerCredentials
BareMetalConfig *config.BareMetalConfig
/*
There are scenarios when we know the control-plane endpoint before the cluster is provisioned :
(1) When provisioning an HCloud / Hetzner hybrid cluster, and we have a VPN cluster.
(2) When provisioning a Bare Metal / Hetzner Bare Metal cluster; the user specifies it.
We specify that pre-provisioned LB IP as the control-plane endpoint to CAPI and Cilium.
Otherwise, we need to wait until the cluster has been provisioned. Once the cluster is
provisioned, we get the control-plane endpoint from the Cluster resource. And then it's
specified to Cilium.
NOTE : Initially Cilium is installed using the postKubeadm hook in the KubeadmControlPlane
resource. The control-plane endpoint is determined from the kubeconfig file in the node.
*/
ControlPlaneEndpoint string
ExtraKnownHosts []string
*config.DisasterRecoveryConfig
*config.ObmondoConfig
}
type UpgradeClusterArgs ¶
Click to show internal directories.
Click to hide internal directories.