resource

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2022 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConfigMapKind       = "ConfigMap"
	EKSIamConfigMapName = "aws-auth"
)

Variables

This section is empty.

Functions

func MapKubeadmConfigTemplateToWorkerNodeGroupConfiguration added in v0.7.1

func MapKubeadmConfigTemplateToWorkerNodeGroupConfiguration(template kubeadmv1.KubeadmConfigTemplate) *anywherev1.WorkerNodeGroupConfiguration

func MapMachineTemplateToVSphereDatacenterConfigSpec

func MapMachineTemplateToVSphereDatacenterConfigSpec(vsMachineTemplate *vspherev1.VSphereMachineTemplate) (*anywherev1.VSphereDatacenterConfig, error)

func MapMachineTemplateToVSphereMachineConfigSpec added in v0.6.0

func MapMachineTemplateToVSphereMachineConfigSpec(vsMachineTemplate *vspherev1.VSphereMachineTemplate, users []kubeadmv1.User) (*anywherev1.VSphereMachineConfig, error)

func NewCAPIResourceUpdater added in v0.6.0

func NewCAPIResourceUpdater(client client.Client, log logr.Logger) *capiResourceUpdater

func NewClusterReconciler

func NewClusterReconciler(resourceFetcher ResourceFetcher, resourceUpdater ResourceUpdater, now anywhereTypes.NowFunc, log logr.Logger) *clusterReconciler

Types

type AWSIamConfigTemplate added in v0.6.0

type AWSIamConfigTemplate struct {
	ResourceFetcher
}

func (*AWSIamConfigTemplate) TemplateResources added in v0.6.0

func (r *AWSIamConfigTemplate) TemplateResources(ctx context.Context, clusterSpec *cluster.Spec) ([]*unstructured.Unstructured, error)

type CapiResourceFetcher added in v0.7.0

type CapiResourceFetcher struct {
	// contains filtered or unexported fields
}

func NewCAPIResourceFetcher added in v0.6.0

func NewCAPIResourceFetcher(client client.Reader, Log logr.Logger) *CapiResourceFetcher

func (*CapiResourceFetcher) AWSIamConfig added in v0.7.0

func (r *CapiResourceFetcher) AWSIamConfig(ctx context.Context, ref *anywherev1.Ref, namespace string) (*anywherev1.AWSIamConfig, error)

func (*CapiResourceFetcher) ControlPlane added in v0.7.0

func (*CapiResourceFetcher) DockerControlPlaneMachineTemplate added in v0.8.0

func (r *CapiResourceFetcher) DockerControlPlaneMachineTemplate(ctx context.Context, cs *anywherev1.Cluster) (*dockerv1.DockerMachineTemplate, error)

func (*CapiResourceFetcher) DockerWorkerMachineTemplate added in v0.8.0

func (*CapiResourceFetcher) Etcd added in v0.7.0

func (*CapiResourceFetcher) ExistingControlPlaneKindNodeImage added in v0.8.0

func (r *CapiResourceFetcher) ExistingControlPlaneKindNodeImage(ctx context.Context, cs *anywherev1.Cluster) (string, error)

Control plane and external etcd are configured to use the same node image, so pulling it from control plane

func (*CapiResourceFetcher) ExistingKubeVersion added in v0.8.0

func (r *CapiResourceFetcher) ExistingKubeVersion(ctx context.Context, cs *anywherev1.Cluster) (string, error)

func (*CapiResourceFetcher) ExistingVSphereControlPlaneMachineConfig added in v0.7.0

func (r *CapiResourceFetcher) ExistingVSphereControlPlaneMachineConfig(ctx context.Context, cs *anywherev1.Cluster) (*anywherev1.VSphereMachineConfig, error)

func (*CapiResourceFetcher) ExistingVSphereDatacenterConfig added in v0.7.0

func (*CapiResourceFetcher) ExistingVSphereEtcdMachineConfig added in v0.7.0

func (r *CapiResourceFetcher) ExistingVSphereEtcdMachineConfig(ctx context.Context, cs *anywherev1.Cluster) (*anywherev1.VSphereMachineConfig, error)

func (*CapiResourceFetcher) ExistingVSphereWorkerMachineConfig added in v0.7.0

func (*CapiResourceFetcher) ExistingWorkerKindNodeImage added in v0.8.0

func (r *CapiResourceFetcher) ExistingWorkerKindNodeImage(ctx context.Context, cs *anywherev1.Cluster, wnc anywherev1.WorkerNodeGroupConfiguration) (string, error)

func (*CapiResourceFetcher) ExistingWorkerNodeGroupConfig added in v0.7.1

func (*CapiResourceFetcher) Fetch added in v0.7.0

func (r *CapiResourceFetcher) Fetch(ctx context.Context, name string, namespace string, kind string, apiVersion string) (*unstructured.Unstructured, error)

func (*CapiResourceFetcher) FetchAppliedSpec added in v0.7.0

func (r *CapiResourceFetcher) FetchAppliedSpec(ctx context.Context, cs *anywherev1.Cluster) (*cluster.Spec, error)

func (*CapiResourceFetcher) FetchCluster added in v0.7.0

func (r *CapiResourceFetcher) FetchCluster(ctx context.Context, objectKey types.NamespacedName) (*anywherev1.Cluster, error)

func (*CapiResourceFetcher) FetchObject added in v0.7.0

func (r *CapiResourceFetcher) FetchObject(ctx context.Context, objectKey types.NamespacedName, obj client.Object) error

func (*CapiResourceFetcher) FetchObjectByName added in v0.7.0

func (r *CapiResourceFetcher) FetchObjectByName(ctx context.Context, name string, namespace string, obj client.Object) error

func (*CapiResourceFetcher) KubeadmConfigTemplate added in v0.7.1

func (*CapiResourceFetcher) MachineDeployment added in v0.7.0

func (*CapiResourceFetcher) OIDCConfig added in v0.7.0

func (r *CapiResourceFetcher) OIDCConfig(ctx context.Context, ref *anywherev1.Ref, namespace string) (*anywherev1.OIDCConfig, error)

func (*CapiResourceFetcher) VSphereControlPlaneMachineTemplate added in v0.7.0

func (r *CapiResourceFetcher) VSphereControlPlaneMachineTemplate(ctx context.Context, cs *anywherev1.Cluster) (*vspherev1.VSphereMachineTemplate, error)

func (*CapiResourceFetcher) VSphereCredentials added in v0.7.0

func (r *CapiResourceFetcher) VSphereCredentials(ctx context.Context) (*corev1.Secret, error)

func (*CapiResourceFetcher) VSphereEtcdMachineTemplate added in v0.7.0

func (r *CapiResourceFetcher) VSphereEtcdMachineTemplate(ctx context.Context, cs *anywherev1.Cluster) (*vspherev1.VSphereMachineTemplate, error)

func (*CapiResourceFetcher) VSphereWorkerMachineTemplate added in v0.7.0

type DockerTemplate

type DockerTemplate struct {
	ResourceFetcher
	// contains filtered or unexported fields
}

func (*DockerTemplate) TemplateResources

func (r *DockerTemplate) TemplateResources(ctx context.Context, eksaCluster *anywherev1.Cluster, clusterSpec *cluster.Spec) ([]*unstructured.Unstructured, error)

type Reconciler

type Reconciler interface {
	Reconcile(ctx context.Context, objectKey types.NamespacedName, dryRun bool) error
}

type ResourceFetcher

type ResourceFetcher interface {
	MachineDeployment(ctx context.Context, cs *anywherev1.Cluster, wnc anywherev1.WorkerNodeGroupConfiguration) (*clusterv1.MachineDeployment, error)
	KubeadmConfigTemplate(ctx context.Context, cs *anywherev1.Cluster, wnc anywherev1.WorkerNodeGroupConfiguration) (*kubeadmv1.KubeadmConfigTemplate, error)
	VSphereWorkerMachineTemplate(ctx context.Context, cs *anywherev1.Cluster, wnc anywherev1.WorkerNodeGroupConfiguration) (*vspherev1.VSphereMachineTemplate, error)
	VSphereCredentials(ctx context.Context) (*corev1.Secret, error)
	FetchObject(ctx context.Context, objectKey types.NamespacedName, obj client.Object) error
	FetchObjectByName(ctx context.Context, name string, namespace string, obj client.Object) error
	Fetch(ctx context.Context, name string, namespace string, kind string, apiVersion string) (*unstructured.Unstructured, error)
	FetchCluster(ctx context.Context, objectKey types.NamespacedName) (*anywherev1.Cluster, error)
	ExistingVSphereDatacenterConfig(ctx context.Context, cs *anywherev1.Cluster, wnc anywherev1.WorkerNodeGroupConfiguration) (*anywherev1.VSphereDatacenterConfig, error)
	ExistingVSphereControlPlaneMachineConfig(ctx context.Context, cs *anywherev1.Cluster) (*anywherev1.VSphereMachineConfig, error)
	ExistingVSphereEtcdMachineConfig(ctx context.Context, cs *anywherev1.Cluster) (*anywherev1.VSphereMachineConfig, error)
	ExistingVSphereWorkerMachineConfig(ctx context.Context, cs *anywherev1.Cluster, wnc anywherev1.WorkerNodeGroupConfiguration) (*anywherev1.VSphereMachineConfig, error)
	ExistingWorkerNodeGroupConfig(ctx context.Context, cs *anywherev1.Cluster, wnc anywherev1.WorkerNodeGroupConfiguration) (*anywherev1.WorkerNodeGroupConfiguration, error)
	ExistingKubeVersion(ctx context.Context, cs *anywherev1.Cluster) (string, error)
	ExistingControlPlaneKindNodeImage(ctx context.Context, cs *anywherev1.Cluster) (string, error)
	ExistingWorkerKindNodeImage(ctx context.Context, cs *anywherev1.Cluster, wnc anywherev1.WorkerNodeGroupConfiguration) (string, error)
	ControlPlane(ctx context.Context, cs *anywherev1.Cluster) (*controlplanev1.KubeadmControlPlane, error)
	Etcd(ctx context.Context, cs *anywherev1.Cluster) (*etcdv1.EtcdadmCluster, error)
	FetchAppliedSpec(ctx context.Context, cs *anywherev1.Cluster) (*cluster.Spec, error)
	AWSIamConfig(ctx context.Context, ref *anywherev1.Ref, namespace string) (*anywherev1.AWSIamConfig, error)
	OIDCConfig(ctx context.Context, ref *anywherev1.Ref, namespace string) (*anywherev1.OIDCConfig, error)
}

type ResourceUpdater

type ResourceUpdater interface {
	CreateResource(ctx context.Context, obj *unstructured.Unstructured, dryRun bool) error
	UpdateTemplate(template *unstructured.Unstructured, values map[string]interface{}) (hasDiff bool, err error)
	ApplyTemplate(ctx context.Context, template *unstructured.Unstructured, values map[string]interface{}, dryRun bool) error
	ForceApplyTemplate(ctx context.Context, template *unstructured.Unstructured, dryRun bool) error
	ApplyUpdatedTemplate(ctx context.Context, template *unstructured.Unstructured, dryRun bool) error
	ApplyPatch(ctx context.Context, obj client.Object, dryRun bool) error
}

type TinkerbellTemplate added in v0.7.0

type TinkerbellTemplate struct {
	ResourceFetcher
	// contains filtered or unexported fields
}

func (*TinkerbellTemplate) TemplateResources added in v0.7.0

TODO(pokearu): This method is currently not used. Need to add logic in reconciler for TinkerbellDatacenterKind

type VsphereTemplate

type VsphereTemplate struct {
	ResourceFetcher
	ResourceUpdater
	// contains filtered or unexported fields
}

func (*VsphereTemplate) TemplateResources

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳