Documentation ¶
Index ¶
- type ClusterManagerTimeoutOptions
- type Dependencies
- type Factory
- func (f *Factory) Build(ctx context.Context) (*Dependencies, error)
- func (f *Factory) GetProxyConfiguration() map[string]string
- func (f *Factory) UseExecutableImage(image string) *Factory
- func (f *Factory) UseExecutablesDockerClient(client executables.DockerClient) *Factory
- func (f *Factory) UseProxyConfiguration(proxyConfig map[string]string) *Factory
- func (f *Factory) WithAnalyzerFactory() *Factory
- func (f *Factory) WithAwsIamAuth(clusterConfig *v1alpha1.Cluster) *Factory
- func (f *Factory) WithAwsSnow() *Factory
- func (f *Factory) WithBootstrapper() *Factory
- func (f *Factory) WithCAPIManager() *Factory
- func (f *Factory) WithCiliumTemplater() *Factory
- func (f *Factory) WithCliConfig(cliConfig *cliconfig.CliConfig) *Factory
- func (f *Factory) WithCloudStackValidatorRegistry(skipIPCheck bool) *Factory
- func (f *Factory) WithClusterApplier() *Factory
- func (f *Factory) WithClusterCreator(clusterConfig *v1alpha1.Cluster) *Factory
- func (f *Factory) WithClusterDeleter() *Factory
- func (f *Factory) WithClusterManager(clusterConfig *v1alpha1.Cluster, timeoutOpts *ClusterManagerTimeoutOptions) *Factory
- func (f *Factory) WithClusterMover() *Factory
- func (f *Factory) WithClusterctl() *Factory
- func (f *Factory) WithCollectorFactory() *Factory
- func (f *Factory) WithCreateClusterDefaulter(createCliConfig *cliconfig.CreateClusterCLIConfig) *Factory
- func (f *Factory) WithCuratedPackagesRegistry(registryName, kubeVersion string, version version.Info) *Factory
- func (f *Factory) WithCustomBundles(bundlesOverride string) *Factory
- func (f *Factory) WithDeleteClusterDefaulter(deleteCliConfig *cliconfig.DeleteClusterCLIConfig) *Factory
- func (f *Factory) WithDiagnosticBundleFactory() *Factory
- func (f *Factory) WithDiagnosticCollectorImage(diagnosticCollectorImage string) *Factory
- func (f *Factory) WithDocker() *Factory
- func (f *Factory) WithDockerLogin() *Factory
- func (f *Factory) WithEKSAInstaller() *Factory
- func (f *Factory) WithEksdInstaller() *Factory
- func (f *Factory) WithEksdUpgrader() *Factory
- func (f *Factory) WithExecutableBuilder() *Factory
- func (f *Factory) WithExecutableImage() *Factory
- func (f *Factory) WithExecutableMountDirs(mountDirs ...string) *Factory
- func (f *Factory) WithFileReader() *Factory
- func (f *Factory) WithFlux() *Factory
- func (f *Factory) WithGit(clusterConfig *v1alpha1.Cluster, fluxConfig *v1alpha1.FluxConfig) *Factory
- func (f *Factory) WithGitOpsFlux(clusterConfig *v1alpha1.Cluster, fluxConfig *v1alpha1.FluxConfig, ...) *Factory
- func (f *Factory) WithGovc() *Factory
- func (f *Factory) WithHelm(opts ...helm.Opt) *Factory
- func (f *Factory) WithHelmEnvClientFactory(opts ...helm.Opt) *Factory
- func (f *Factory) WithHelmExecutableBuilder() *Factory
- func (f *Factory) WithIPValidator() *Factory
- func (f *Factory) WithKind() *Factory
- func (f *Factory) WithKubeconfigWriter(clusterConfig *v1alpha1.Cluster) *Factory
- func (f *Factory) WithKubectl() *Factory
- func (f *Factory) WithKubernetesRetrierClient() *Factory
- func (f *Factory) WithLocalExecutables() *Factory
- func (f *Factory) WithLogger() *Factory
- func (f *Factory) WithManifestReader() *Factory
- func (f *Factory) WithNoTimeouts() *Factory
- func (f *Factory) WithNutanixClientCache() *Factory
- func (f *Factory) WithNutanixDefaulter() *Factory
- func (f *Factory) WithNutanixValidator() *Factory
- func (f *Factory) WithPackageClient() *Factory
- func (f *Factory) WithPackageControllerClient(spec *cluster.Spec, kubeConfig string, ...) *Factory
- func (f *Factory) WithPackageManager(spec *cluster.Spec, packagesLocation, kubeConfig string) *Factory
- func (f *Factory) WithPackageManagerWithoutWait(spec *cluster.Spec, packagesLocation, kubeConfig string) *Factory
- func (f *Factory) WithProvider(clusterConfigFile string, clusterConfig *v1alpha1.Cluster, skipIPCheck bool, ...) *Factory
- func (f *Factory) WithProxyConfiguration() *Factory
- func (f *Factory) WithRegistryMirror(registryMirror *registrymirror.RegistryMirror) *Factory
- func (f *Factory) WithSnowConfigManager() *Factory
- func (f *Factory) WithTroubleshoot() *Factory
- func (f *Factory) WithUnAuthKubeClient() *Factory
- func (f *Factory) WithUpgradeClusterDefaulter(upgradeCliConfig *cliconfig.UpgradeClusterCLIConfig) *Factory
- func (f *Factory) WithVSphereDefaulter() *Factory
- func (f *Factory) WithVSphereValidator() *Factory
- func (f *Factory) WithValidatorClients() *Factory
- func (f *Factory) WithWriter() *Factory
- func (f *Factory) WithWriterFolder(folder string) *Factory
- type KubeClients
- type ProviderOptions
- type TinkerbellOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClusterManagerTimeoutOptions ¶ added in v0.14.4
type ClusterManagerTimeoutOptions struct { NoTimeouts bool ControlPlaneWait, ExternalEtcdWait, MachineWait time.Duration }
ClusterManagerTimeoutOptions maintains the timeout options for cluster manager.
type Dependencies ¶
type Dependencies struct { Logger logr.Logger Provider providers.Provider ClusterAwsCli *executables.Clusterawsadm DockerClient *executables.Docker Kubectl *executables.Kubectl Govc *executables.Govc CloudStackValidatorRegistry cloudstack.ValidatorRegistry SnowAwsClientRegistry *snow.AwsClientRegistry SnowConfigManager *snow.ConfigManager Writer filewriter.FileWriter Kind *executables.Kind Clusterctl *executables.Clusterctl Flux *executables.Flux Troubleshoot *executables.Troubleshoot Helm *executables.Helm UnAuthKubeClient *kubernetes.UnAuthClient CNIInstaller workload.CNIInstaller CiliumTemplater *cilium.Templater AwsIamAuth *awsiamauth.Installer ClusterManager *clustermanager.ClusterManager KubernetesRetrierClient *clustermanager.KubernetesRetrierClient Bootstrapper *bootstrapper.Bootstrapper GitOpsFlux *flux.Flux Git *gitfactory.GitTools EksdInstaller *eksd.Installer EksdUpgrader *eksd.Upgrader ClusterApplier clustermanager.Applier AnalyzerFactory diagnostics.AnalyzerFactory CollectorFactory diagnostics.CollectorFactory DignosticCollectorFactory diagnostics.DiagnosticBundleFactory CAPIManager *clusterapi.Manager FileReader *files.Reader ManifestReader *manifests.Reader CliConfig *cliconfig.CliConfig CreateCliConfig *cliconfig.CreateClusterCLIConfig PackageManager interfaces.PackageManager BundleRegistry curatedpackages.BundleRegistry PackageControllerClient *curatedpackages.PackageControllerClient PackageClient curatedpackages.PackageHandler VSphereValidator *vsphere.Validator VSphereDefaulter *vsphere.Defaulter NutanixClientCache *nutanix.ClientCache NutanixDefaulter *nutanix.Defaulter NutanixValidator *nutanix.Validator SnowValidator *snow.Validator IPValidator *validator.IPValidator UnAuthKubectlClient KubeClients HelmEnvClientFactory *helm.EnvClientFactory ExecutableBuilder *executables.ExecutablesBuilder CreateClusterDefaulter cli.CreateClusterDefaulter UpgradeClusterDefaulter cli.UpgradeClusterDefaulter KubeconfigWriter kubeconfig.Writer ClusterCreator *clustermanager.ClusterCreator EksaInstaller *clustermanager.EKSAInstaller DeleteClusterDefaulter cli.DeleteClusterDefaulter ClusterDeleter clustermanager.Deleter ClusterMover *clustermanager.Mover // contains filtered or unexported fields }
type Factory ¶
type Factory struct {
// contains filtered or unexported fields
}
Factory helps initialization.
func NewFactory ¶
func NewFactory() *Factory
func (*Factory) GetProxyConfiguration ¶ added in v0.11.0
func (*Factory) UseExecutableImage ¶ added in v0.9.0
func (*Factory) UseExecutablesDockerClient ¶ added in v0.11.0
func (f *Factory) UseExecutablesDockerClient(client executables.DockerClient) *Factory
UseExecutablesDockerClient forces a specific DockerClient to build Executables as opposed to follow the normal building flow This is only for testing.
func (*Factory) UseProxyConfiguration ¶ added in v0.11.0
func (*Factory) WithAnalyzerFactory ¶
func (*Factory) WithAwsIamAuth ¶
WithAwsIamAuth builds dependencies for AWS IAM Auth.
func (*Factory) WithAwsSnow ¶ added in v0.9.0
func (*Factory) WithBootstrapper ¶
func (*Factory) WithCAPIManager ¶
func (*Factory) WithCiliumTemplater ¶ added in v0.12.0
func (*Factory) WithCliConfig ¶ added in v0.9.2
WithCliConfig builds a cli config.
func (*Factory) WithCloudStackValidatorRegistry ¶ added in v0.13.0
WithCloudStackValidatorRegistry initializes the CloudStack validator for the object being constructed to make it available in the constructor.
func (*Factory) WithClusterApplier ¶ added in v0.18.0
WithClusterApplier builds a cluster applier.
func (*Factory) WithClusterCreator ¶ added in v0.19.0
WithClusterCreator adds the ClusterCreator dependency.
func (*Factory) WithClusterDeleter ¶ added in v0.19.0
WithClusterDeleter builds a cluster deleter.
func (*Factory) WithClusterManager ¶
func (f *Factory) WithClusterManager(clusterConfig *v1alpha1.Cluster, timeoutOpts *ClusterManagerTimeoutOptions) *Factory
WithClusterManager builds a cluster manager based on the cluster config and timeout options.
func (*Factory) WithClusterMover ¶ added in v0.20.0
WithClusterMover builds a cluster mover.
func (*Factory) WithClusterctl ¶
func (*Factory) WithCollectorFactory ¶
func (*Factory) WithCreateClusterDefaulter ¶ added in v0.17.0
func (f *Factory) WithCreateClusterDefaulter(createCliConfig *cliconfig.CreateClusterCLIConfig) *Factory
WithCreateClusterDefaulter builds a create cluster defaulter that builds defaulter dependencies specific to the create cluster command. The defaulter is then run once the factory is built in the create cluster command.
func (*Factory) WithCuratedPackagesRegistry ¶ added in v0.9.2
func (*Factory) WithCustomBundles ¶ added in v0.15.3
WithCustomBundles allows configuring a bundle override.
func (*Factory) WithDeleteClusterDefaulter ¶ added in v0.19.0
func (f *Factory) WithDeleteClusterDefaulter(deleteCliConfig *cliconfig.DeleteClusterCLIConfig) *Factory
WithDeleteClusterDefaulter builds a delete cluster defaulter that builds defaulter dependencies specific to the delete cluster command. The defaulter is then run once the factory is built in the delete cluster command.
func (*Factory) WithDiagnosticBundleFactory ¶
func (*Factory) WithDiagnosticCollectorImage ¶
func (*Factory) WithDocker ¶
func (*Factory) WithDockerLogin ¶ added in v0.12.0
WithDockerLogin adds a docker login to the build steps.
func (*Factory) WithEKSAInstaller ¶ added in v0.19.0
WithEKSAInstaller builds a cluster manager based on the cluster config and timeout options.
func (*Factory) WithEksdInstaller ¶ added in v0.9.0
func (*Factory) WithEksdUpgrader ¶ added in v0.9.0
func (*Factory) WithExecutableBuilder ¶
func (*Factory) WithExecutableImage ¶ added in v0.7.0
WithExecutableImage sets the right cli tools image for the executable builder, reading from the Bundle and using the first VersionsBundle This is just the default for when there is not an specific kubernetes version available For commands that receive a cluster config file or a kubernetes version directly as input, use UseExecutableImage to specify the image directly.
func (*Factory) WithExecutableMountDirs ¶ added in v0.7.0
func (*Factory) WithFileReader ¶ added in v0.9.0
func (*Factory) WithGitOpsFlux ¶ added in v0.11.0
func (f *Factory) WithGitOpsFlux(clusterConfig *v1alpha1.Cluster, fluxConfig *v1alpha1.FluxConfig, cliConfig *cliconfig.CliConfig) *Factory
WithGitOpsFlux builds a gitops flux.
func (*Factory) WithHelm ¶ added in v0.7.0
WithHelm initializes a new Helm executable as a factory dependency.
func (*Factory) WithHelmEnvClientFactory ¶ added in v0.17.6
WithHelmEnvClientFactory configures the HelmEnvClientFactory dependency with a helm.EnvClientFactory.
func (*Factory) WithHelmExecutableBuilder ¶ added in v0.18.4
WithHelmExecutableBuilder adds a build step to initializes the helm.ExecutableBuilder dependency.
func (*Factory) WithIPValidator ¶ added in v0.13.0
WithIPValidator builds the IPValidator for the given cluster.
func (*Factory) WithKubeconfigWriter ¶ added in v0.19.0
WithKubeconfigWriter adds the KubeconfigReader dependency depending on the provider.
func (*Factory) WithKubectl ¶
func (*Factory) WithKubernetesRetrierClient ¶ added in v0.19.0
WithKubernetesRetrierClient builds a cluster manager based on the cluster config and timeout options.
func (*Factory) WithLocalExecutables ¶ added in v0.11.0
func (*Factory) WithLogger ¶ added in v0.15.0
WithLogger setups a logger to be injected in constructors. It uses the logger package level logger.
func (*Factory) WithManifestReader ¶ added in v0.9.0
func (*Factory) WithNoTimeouts ¶ added in v0.15.2
WithNoTimeouts injects no timeouts to all the dependencies with configurable timeout. Calling this method sets no timeout for the waits and retries in all the cluster operations, i.e. cluster manager, eksa installer, networking installer. Instead of passing the option to each dependency's constructor, use this method to pass no timeouts to new dependency.
func (*Factory) WithNutanixClientCache ¶ added in v0.15.0
WithNutanixClientCache adds a new NutanixClientCache to the factory.
func (*Factory) WithNutanixDefaulter ¶ added in v0.15.0
WithNutanixDefaulter adds a new NutanixDefaulter to the factory.
func (*Factory) WithNutanixValidator ¶ added in v0.15.0
WithNutanixValidator adds a new NutanixValidator to the factory.
func (*Factory) WithPackageClient ¶ added in v0.11.0
func (*Factory) WithPackageControllerClient ¶ added in v0.11.0
func (f *Factory) WithPackageControllerClient(spec *cluster.Spec, kubeConfig string, opts ...curatedpackages.PackageControllerClientOpt) *Factory
WithPackageControllerClient builds a client for package controller.
func (*Factory) WithPackageManager ¶ added in v0.19.7
func (f *Factory) WithPackageManager(spec *cluster.Spec, packagesLocation, kubeConfig string) *Factory
WithPackageManager builds a package manager.
func (*Factory) WithPackageManagerWithoutWait ¶ added in v0.19.7
func (f *Factory) WithPackageManagerWithoutWait(spec *cluster.Spec, packagesLocation, kubeConfig string) *Factory
WithPackageManagerWithoutWait builds a package manager that doesn't wait for active bundles.
func (*Factory) WithProvider ¶
func (f *Factory) WithProvider(clusterConfigFile string, clusterConfig *v1alpha1.Cluster, skipIPCheck bool, hardwareCSVPath string, force bool, tinkerbellBootstrapIP string, skippedValidations map[string]bool, opts *ProviderOptions) *Factory
WithProvider initializes the provider dependency and adds to the build steps.
func (*Factory) WithProxyConfiguration ¶ added in v0.9.0
func (*Factory) WithRegistryMirror ¶ added in v0.9.0
func (f *Factory) WithRegistryMirror(registryMirror *registrymirror.RegistryMirror) *Factory
WithRegistryMirror configures the factory to use registry mirror wherever applicable.
func (*Factory) WithSnowConfigManager ¶ added in v0.9.0
func (*Factory) WithTroubleshoot ¶
func (*Factory) WithUnAuthKubeClient ¶ added in v0.9.0
func (*Factory) WithUpgradeClusterDefaulter ¶ added in v0.17.0
func (f *Factory) WithUpgradeClusterDefaulter(upgradeCliConfig *cliconfig.UpgradeClusterCLIConfig) *Factory
WithUpgradeClusterDefaulter builds a create cluster defaulter that builds defaulter dependencies specific to the create cluster command. The defaulter is then run once the factory is built in the create cluster command.
func (*Factory) WithVSphereDefaulter ¶ added in v0.11.0
func (*Factory) WithVSphereValidator ¶ added in v0.11.0
func (*Factory) WithValidatorClients ¶ added in v0.16.0
WithValidatorClients builds KubeClients.
func (*Factory) WithWriter ¶
func (*Factory) WithWriterFolder ¶
type KubeClients ¶ added in v0.16.0
type KubeClients struct { *executables.Kubectl *kubernetes.UnAuthClient }
KubeClients defines super struct that exposes all behavior.
type ProviderOptions ¶ added in v0.18.0
type ProviderOptions struct { // Tinkerbell contains Tinkerbell specific options. Tinkerbell *TinkerbellOptions }
ProviderOptions contains per provider options.
type TinkerbellOptions ¶ added in v0.18.0
type TinkerbellOptions struct { // BMCOptions contains options for configuring BMC interactions. BMCOptions *hardware.BMCOptions }
TinkerbellOptions contains Tinkerbell specific options.