validation

package
v1.4.0-rc3 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrProviderIsNotReady = errors.New("provider is not yet ready")

ErrProviderIsNotReady signals if the corresponding github.com/K0rdent/kcm/api/v1beta1.ProviderTemplate is not yet ready.

Functions

func ClusterDeployCredential

func ClusterDeployCredential(ctx context.Context, cl client.Client, systemNamespace string, cd *kcmv1.ClusterDeployment, clusterTemplate *kcmv1.ClusterTemplate) error

ClusterDeployCredential validates a github.com/K0rdent/kcm/api/v1beta1.Credential object referred in the given github.com/K0rdent/kcm/api/v1beta1.ClusterDeployment is ready and supported by the given github.com/K0rdent/kcm/api/v1beta1.ClusterTemplate.

func ClusterTemplateK8sCompatibility

func ClusterTemplateK8sCompatibility(ctx context.Context, cl client.Client, clusterTemplate *kcmv1.ClusterTemplate, cd *kcmv1.ClusterDeployment) error

ClusterTemplateK8sCompatibility validates the K8s version of the given github.com/K0rdent/kcm/api/v1beta1.ClusterTemplate satisfies the K8s constraints (if any) of the github.com/K0rdent/kcm/api/v1beta1.ServiceTemplate objects referenced by the given github.com/K0rdent/kcm/api/v1beta1.ClusterDeployment.

func ClusterTemplateProviders added in v1.4.0

func ClusterTemplateProviders(ctx context.Context, mgmtClient client.Client, clusterTemplate *kcmv1.ClusterTemplate, cd *kcmv1.ClusterDeployment) error

ClusterTemplateProviders validates that all required providers are exposed and compatible by the parent object (either github.com/K0rdent/kcm/api/v1beta1.Management or github.com/K0rdent/kcm/api/v1beta1.Region).

func GetInUseProvidersWithContracts

func GetInUseProvidersWithContracts(ctx context.Context, cl client.Client, pTpl *kcmv1.ProviderTemplate) (map[string][]string, error)

GetInUseProvidersWithContracts constructs a map based on the given github.com/K0rdent/kcm/api/v1beta1.ProviderTemplate where keys are a provider name in the format (bootstrap|control-plane|infrastructure)-<name> and values are the corresponding CAPI contract versions, e.g. infrastructure-aws: []{v1alpha3, v1alpha4, v1beta1}

func GetIncompatibleContracts

func GetIncompatibleContracts(ctx context.Context, cl client.Client, release *kcmv1.Release, mgmt *kcmv1.Management) (string, error)

GetIncompatibleContracts validates if all of the providers specified in the given github.com/K0rdent/kcm/api/v1beta1.Management have compatible CAPI contract versions. Returns ErrProviderIsNotReady is the corresponding github.com/K0rdent/kcm/api/v1beta1.ProviderTemplate is not yet ready and the validation cannot proceed further.

func ServicesHaveValidTemplates

func ServicesHaveValidTemplates(ctx context.Context, cl client.Client, services []kcmv1.Service, ns string) error

ServicesHaveValidTemplates validates the given array of github.com/K0rdent/kcm/api/v1beta1.Service checking if referenced github.com/K0rdent/kcm/api/v1beta1.ServiceTemplate is valid and is ready to be consumed.

func ValidateServiceDependencyOverall added in v1.4.0

func ValidateServiceDependencyOverall(services []kcmv1.Service) error

ValidateServiceDependencyOverall calls all of the functions related to service dependency validation one by one.

func ValidateUpgradePaths added in v1.0.0

func ValidateUpgradePaths(services []kcmv1.Service, upgradePaths []kcmv1.ServiceUpgradePaths) error

Types

type ClusterParent added in v1.4.0

type ClusterParent interface {
	client.Object

	HelmReleaseName(string) string
	GetComponentsStatus() *kcmv1.ComponentsCommonStatus
}

Jump to

Keyboard shortcuts

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