resources

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2026 License: Apache-2.0 Imports: 49 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PhaseUploadConfigKubeadm kubeadmPhase = iota
	PhaseUploadConfigKubelet
	PhaseBootstrapToken
	PhaseClusterAdminRBAC
)
View Source
const (
	AdminKubeConfigFileName             = kubeadmconstants.AdminKubeConfigFileName
	SuperAdminKubeConfigFileName        = kubeadmconstants.SuperAdminKubeConfigFileName
	ControllerManagerKubeConfigFileName = kubeadmconstants.ControllerManagerKubeConfigFileName
	SchedulerKubeConfigFileName         = kubeadmconstants.SchedulerKubeConfigFileName
)
View Source
const (
	OperationResultEnqueueBack controllerutil.OperationResult = "enqueueBack"
)

Variables

This section is empty.

Functions

func BuildGatewayAccessPointsStatus

func BuildGatewayAccessPointsStatus(ctx context.Context, c client.Client, route *gatewayv1alpha2.TLSRoute, routeStatuses gatewayv1alpha2.RouteStatus) ([]stewardv1alpha1.GatewayAccessPoint, error)

BuildGatewayAccessPointsStatus builds access points from route statuses.

func CleanupTLSRoute

func CleanupTLSRoute(ctx context.Context, c client.Client, routeName, routeNamespace string, tcp metav1.Object) (bool, error)

CleanupTLSRoute cleans up a TLSRoute resource if it's managed by the given TenantControlPlane.

func FindMatchingListener

func FindMatchingListener(listeners []gatewayv1.Listener, ref gatewayv1.ParentReference) (gatewayv1.Listener, error)

FindMatchingListener finds a listener in the given list that matches the parent reference.

func GetKubeadmManifestDeps

func GetKubeadmManifestDeps(ctx context.Context, client client.Client, tenantControlPlane *stewardv1alpha1.TenantControlPlane) (*clientset.Clientset, *kubeadm.Configuration, error)

func Handle

func Handle(ctx context.Context, resource Resource, tenantControlPlane *stewardv1alpha1.TenantControlPlane) (controllerutil.OperationResult, error)

Handle handles the given resource and returns a boolean to say if the tenantControlPlane has been modified.

func HandleDeletion

func HandleDeletion(ctx context.Context, resource DeletableResource, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

HandleDeletion handles the deletion of the given resource.

func IsGatewayRouteStatusChanged

func IsGatewayRouteStatusChanged(currentStatus *stewardv1alpha1.KubernetesGatewayStatus, resourceStatus gatewayv1alpha2.RouteStatus) bool

IsGatewayRouteStatusChanged checks if the gateway route status has changed compared to the stored status. Returns true if the status has changed (update needed), false if it's the same.

func LazyLoadHistogramFromResource

func LazyLoadHistogramFromResource(collector prometheus.Histogram, resource Resource) prometheus.Histogram

func NewParentRefsSpecWithPortAndSection

func NewParentRefsSpecWithPortAndSection(parentRefs []gatewayv1.ParentReference, port int32, sectionName string) []gatewayv1.ParentReference

NewParentRefsSpecWithPortAndSection creates a copy of parentRefs with port and sectionName set for each reference.

Types

type APIServerCertificate

type APIServerCertificate struct {
	Client                  client.Client
	TmpDirectory            string
	CertExpirationThreshold time.Duration
	// contains filtered or unexported fields
}

func (*APIServerCertificate) CleanUp

func (*APIServerCertificate) CreateOrUpdate

func (r *APIServerCertificate) CreateOrUpdate(ctx context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) (res controllerutil.OperationResult, err error)

func (*APIServerCertificate) Define

func (r *APIServerCertificate) Define(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

func (*APIServerCertificate) GetClient

func (r *APIServerCertificate) GetClient() client.Client

func (*APIServerCertificate) GetHistogram

func (r *APIServerCertificate) GetHistogram() prometheus.Histogram

func (*APIServerCertificate) GetName

func (r *APIServerCertificate) GetName() string

func (*APIServerCertificate) GetTmpDirectory

func (r *APIServerCertificate) GetTmpDirectory() string

func (*APIServerCertificate) ShouldCleanup

func (*APIServerCertificate) ShouldStatusBeUpdated

func (r *APIServerCertificate) ShouldStatusBeUpdated(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*APIServerCertificate) UpdateTenantControlPlaneStatus

func (r *APIServerCertificate) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type APIServerKubeletClientCertificate

type APIServerKubeletClientCertificate struct {
	Client                  client.Client
	TmpDirectory            string
	CertExpirationThreshold time.Duration
	// contains filtered or unexported fields
}

func (*APIServerKubeletClientCertificate) CleanUp

func (*APIServerKubeletClientCertificate) CreateOrUpdate

func (*APIServerKubeletClientCertificate) Define

func (*APIServerKubeletClientCertificate) GetClient

func (*APIServerKubeletClientCertificate) GetHistogram

func (*APIServerKubeletClientCertificate) GetName

func (*APIServerKubeletClientCertificate) GetTmpDirectory

func (r *APIServerKubeletClientCertificate) GetTmpDirectory() string

func (*APIServerKubeletClientCertificate) ShouldCleanup

func (*APIServerKubeletClientCertificate) ShouldStatusBeUpdated

func (r *APIServerKubeletClientCertificate) ShouldStatusBeUpdated(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*APIServerKubeletClientCertificate) UpdateTenantControlPlaneStatus

func (r *APIServerKubeletClientCertificate) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type CACertificate

type CACertificate struct {
	Client                  client.Client
	TmpDirectory            string
	CertExpirationThreshold time.Duration
	// contains filtered or unexported fields
}

func (*CACertificate) CleanUp

func (*CACertificate) CreateOrUpdate

func (r *CACertificate) CreateOrUpdate(ctx context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) (controllerutil.OperationResult, error)

func (*CACertificate) Define

func (r *CACertificate) Define(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

func (*CACertificate) GetClient

func (r *CACertificate) GetClient() client.Client

func (*CACertificate) GetHistogram

func (r *CACertificate) GetHistogram() prometheus.Histogram

func (*CACertificate) GetName

func (r *CACertificate) GetName() string

func (*CACertificate) GetTmpDirectory

func (r *CACertificate) GetTmpDirectory() string

func (*CACertificate) ShouldCleanup

func (*CACertificate) ShouldStatusBeUpdated

func (r *CACertificate) ShouldStatusBeUpdated(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*CACertificate) UpdateTenantControlPlaneStatus

func (r *CACertificate) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type DeletableResource

type DeletableResource interface {
	GetName() string
	Define(ctx context.Context, tcp *stewardv1alpha1.TenantControlPlane) error
	Delete(ctx context.Context, tcp *stewardv1alpha1.TenantControlPlane) error
}

type FrontProxyCACertificate

type FrontProxyCACertificate struct {
	Client                  client.Client
	TmpDirectory            string
	CertExpirationThreshold time.Duration
	// contains filtered or unexported fields
}

func (*FrontProxyCACertificate) CleanUp

func (*FrontProxyCACertificate) CreateOrUpdate

func (*FrontProxyCACertificate) Define

func (*FrontProxyCACertificate) GetClient

func (r *FrontProxyCACertificate) GetClient() client.Client

func (*FrontProxyCACertificate) GetHistogram

func (r *FrontProxyCACertificate) GetHistogram() prometheus.Histogram

func (*FrontProxyCACertificate) GetName

func (r *FrontProxyCACertificate) GetName() string

func (*FrontProxyCACertificate) GetTmpDirectory

func (r *FrontProxyCACertificate) GetTmpDirectory() string

func (*FrontProxyCACertificate) ShouldCleanup

func (*FrontProxyCACertificate) ShouldStatusBeUpdated

func (r *FrontProxyCACertificate) ShouldStatusBeUpdated(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*FrontProxyCACertificate) UpdateTenantControlPlaneStatus

func (r *FrontProxyCACertificate) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type FrontProxyClientCertificate

type FrontProxyClientCertificate struct {
	Client                  client.Client
	TmpDirectory            string
	CertExpirationThreshold time.Duration
	// contains filtered or unexported fields
}

func (*FrontProxyClientCertificate) CleanUp

func (*FrontProxyClientCertificate) CreateOrUpdate

func (*FrontProxyClientCertificate) Define

func (*FrontProxyClientCertificate) GetClient

func (r *FrontProxyClientCertificate) GetClient() client.Client

func (*FrontProxyClientCertificate) GetHistogram

func (*FrontProxyClientCertificate) GetName

func (r *FrontProxyClientCertificate) GetName() string

func (*FrontProxyClientCertificate) GetTmpDirectory

func (r *FrontProxyClientCertificate) GetTmpDirectory() string

func (*FrontProxyClientCertificate) ShouldCleanup

func (*FrontProxyClientCertificate) ShouldStatusBeUpdated

func (r *FrontProxyClientCertificate) ShouldStatusBeUpdated(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*FrontProxyClientCertificate) UpdateTenantControlPlaneStatus

func (r *FrontProxyClientCertificate) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type HandlerConfig

type HandlerConfig struct {
	Resource           Resource
	TenantControlPlane *stewardv1alpha1.TenantControlPlane
}

type KubeadmConfigResource

type KubeadmConfigResource struct {
	Client       client.Client
	ETCDs        []string
	TmpDirectory string
	// contains filtered or unexported fields
}

func (*KubeadmConfigResource) CleanUp

func (*KubeadmConfigResource) CreateOrUpdate

func (*KubeadmConfigResource) Define

func (*KubeadmConfigResource) GetHistogram

func (r *KubeadmConfigResource) GetHistogram() prometheus.Histogram

func (*KubeadmConfigResource) GetName

func (r *KubeadmConfigResource) GetName() string

func (*KubeadmConfigResource) ShouldCleanup

func (*KubeadmConfigResource) ShouldStatusBeUpdated

func (r *KubeadmConfigResource) ShouldStatusBeUpdated(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*KubeadmConfigResource) UpdateTenantControlPlaneStatus

func (r *KubeadmConfigResource) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type KubeadmPhase

type KubeadmPhase struct {
	Client client.Client
	Phase  kubeadmPhase
	// contains filtered or unexported fields
}

func (*KubeadmPhase) CleanUp

func (*KubeadmPhase) CreateOrUpdate

func (r *KubeadmPhase) CreateOrUpdate(ctx context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) (controllerutil.OperationResult, error)

func (*KubeadmPhase) Define

func (*KubeadmPhase) GetClient

func (r *KubeadmPhase) GetClient() client.Client

func (*KubeadmPhase) GetHistogram

func (r *KubeadmPhase) GetHistogram() prometheus.Histogram

func (*KubeadmPhase) GetKubeadmFunction

func (*KubeadmPhase) GetName

func (r *KubeadmPhase) GetName() string

func (*KubeadmPhase) GetPredicateFunc

func (r *KubeadmPhase) GetPredicateFunc() func(obj client.Object) bool

func (*KubeadmPhase) GetStatus

func (*KubeadmPhase) GetTmpDirectory

func (r *KubeadmPhase) GetTmpDirectory() string

func (*KubeadmPhase) GetWatchedObject

func (r *KubeadmPhase) GetWatchedObject() client.Object

func (*KubeadmPhase) SetKubeadmConfigChecksum

func (r *KubeadmPhase) SetKubeadmConfigChecksum(checksum string)

func (*KubeadmPhase) ShouldCleanup

func (*KubeadmPhase) ShouldStatusBeUpdated

func (r *KubeadmPhase) ShouldStatusBeUpdated(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*KubeadmPhase) UpdateTenantControlPlaneStatus

func (r *KubeadmPhase) UpdateTenantControlPlaneStatus(ctx context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type KubeadmPhaseResource

type KubeadmPhaseResource interface {
	Resource
	KubeadmResource
	GetClient() client.Client
	GetKubeadmFunction(ctx context.Context, tcp *stewardv1alpha1.TenantControlPlane) (func(clientset.Interface, *kubeadm.Configuration) ([]byte, error), error)
	GetStatus(tcp *stewardv1alpha1.TenantControlPlane) (stewardv1alpha1.KubeadmConfigChecksumDependant, error)
	SetKubeadmConfigChecksum(checksum string)
	GetWatchedObject() client.Object
	GetPredicateFunc() func(obj client.Object) bool
}

type KubeadmResource

type KubeadmResource interface {
	GetClient() client.Client
	GetTmpDirectory() string
}

type KubeconfigResource

type KubeconfigResource struct {
	Client                  client.Client
	Name                    string
	KubeConfigFileName      string
	TmpDirectory            string
	CertExpirationThreshold time.Duration
	// contains filtered or unexported fields
}

func (*KubeconfigResource) CleanUp

func (*KubeconfigResource) CreateOrUpdate

func (*KubeconfigResource) Define

func (r *KubeconfigResource) Define(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

func (*KubeconfigResource) GetClient

func (r *KubeconfigResource) GetClient() client.Client

func (*KubeconfigResource) GetHistogram

func (r *KubeconfigResource) GetHistogram() prometheus.Histogram

func (*KubeconfigResource) GetName

func (r *KubeconfigResource) GetName() string

func (*KubeconfigResource) GetTmpDirectory

func (r *KubeconfigResource) GetTmpDirectory() string

func (*KubeconfigResource) ShouldCleanup

func (*KubeconfigResource) ShouldStatusBeUpdated

func (r *KubeconfigResource) ShouldStatusBeUpdated(_ context.Context, tcp *stewardv1alpha1.TenantControlPlane) bool

func (*KubeconfigResource) UpdateTenantControlPlaneStatus

func (r *KubeconfigResource) UpdateTenantControlPlaneStatus(ctx context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type KubernetesDeploymentResource

type KubernetesDeploymentResource struct {
	Client             client.Client
	DataStore          stewardv1alpha1.DataStore
	DataStoreOverrides []builder.DataStoreOverrides
	KineContainerImage string
	// contains filtered or unexported fields
}

func (*KubernetesDeploymentResource) CleanUp

func (*KubernetesDeploymentResource) CreateOrUpdate

func (*KubernetesDeploymentResource) Define

func (*KubernetesDeploymentResource) GetHistogram

func (*KubernetesDeploymentResource) GetName

func (r *KubernetesDeploymentResource) GetName() string

func (*KubernetesDeploymentResource) ShouldCleanup

func (*KubernetesDeploymentResource) ShouldStatusBeUpdated

func (r *KubernetesDeploymentResource) ShouldStatusBeUpdated(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*KubernetesDeploymentResource) UpdateTenantControlPlaneStatus

func (r *KubernetesDeploymentResource) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type KubernetesGatewayResource

type KubernetesGatewayResource struct {
	Client client.Client
	// contains filtered or unexported fields
}

func (*KubernetesGatewayResource) CleanUp

func (*KubernetesGatewayResource) CreateOrUpdate

func (*KubernetesGatewayResource) Define

func (*KubernetesGatewayResource) GetHistogram

func (*KubernetesGatewayResource) GetName

func (r *KubernetesGatewayResource) GetName() string

func (*KubernetesGatewayResource) ShouldCleanup

func (*KubernetesGatewayResource) ShouldStatusBeUpdated

func (*KubernetesGatewayResource) UpdateTenantControlPlaneStatus

func (r *KubernetesGatewayResource) UpdateTenantControlPlaneStatus(ctx context.Context, tcp *stewardv1alpha1.TenantControlPlane) error

type KubernetesIngressResource

type KubernetesIngressResource struct {
	Client client.Client
	// contains filtered or unexported fields
}

func (*KubernetesIngressResource) CleanUp

func (*KubernetesIngressResource) CreateOrUpdate

func (*KubernetesIngressResource) Define

func (*KubernetesIngressResource) GetHistogram

func (*KubernetesIngressResource) GetName

func (r *KubernetesIngressResource) GetName() string

func (*KubernetesIngressResource) ShouldCleanup

func (*KubernetesIngressResource) ShouldStatusBeUpdated

func (*KubernetesIngressResource) UpdateTenantControlPlaneStatus

func (r *KubernetesIngressResource) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type KubernetesServiceResource

type KubernetesServiceResource struct {
	Client client.Client
	// contains filtered or unexported fields
}

KubernetesServiceResource must be the first Resource processed by the TenantControlPlane: when a TenantControlPlan is expecting a dynamic IP address, the Service will get it from the controller-manager.

func (*KubernetesServiceResource) CleanUp

func (*KubernetesServiceResource) CreateOrUpdate

func (*KubernetesServiceResource) Define

func (*KubernetesServiceResource) GetHistogram

func (*KubernetesServiceResource) GetName

func (r *KubernetesServiceResource) GetName() string

func (*KubernetesServiceResource) ShouldCleanup

func (*KubernetesServiceResource) ShouldStatusBeUpdated

func (r *KubernetesServiceResource) ShouldStatusBeUpdated(ctx context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*KubernetesServiceResource) UpdateTenantControlPlaneStatus

func (r *KubernetesServiceResource) UpdateTenantControlPlaneStatus(ctx context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type KubernetesUpgrade

type KubernetesUpgrade struct {
	Client client.Client
	// contains filtered or unexported fields
}

func (*KubernetesUpgrade) CleanUp

func (*KubernetesUpgrade) CreateOrUpdate

func (*KubernetesUpgrade) Define

func (k *KubernetesUpgrade) Define(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

func (*KubernetesUpgrade) GetHistogram

func (k *KubernetesUpgrade) GetHistogram() prometheus.Histogram

func (*KubernetesUpgrade) GetName

func (k *KubernetesUpgrade) GetName() string

func (*KubernetesUpgrade) ShouldCleanup

func (*KubernetesUpgrade) ShouldStatusBeUpdated

func (*KubernetesUpgrade) UpdateTenantControlPlaneStatus

func (k *KubernetesUpgrade) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type Resource

type Resource interface {
	ResourceMetric

	Define(ctx context.Context, tcp *stewardv1alpha1.TenantControlPlane) error
	ShouldCleanup(tcp *stewardv1alpha1.TenantControlPlane) bool
	CleanUp(ctx context.Context, tcp *stewardv1alpha1.TenantControlPlane) (bool, error)
	CreateOrUpdate(ctx context.Context, tcp *stewardv1alpha1.TenantControlPlane) (controllerutil.OperationResult, error)
	GetName() string
	ShouldStatusBeUpdated(ctx context.Context, tcp *stewardv1alpha1.TenantControlPlane) bool
	UpdateTenantControlPlaneStatus(ctx context.Context, tcp *stewardv1alpha1.TenantControlPlane) error
}

type ResourceMetric

type ResourceMetric interface {
	GetHistogram() prometheus.Histogram
}

type SACertificate

type SACertificate struct {
	Client       client.Client
	Name         string
	TmpDirectory string
	// contains filtered or unexported fields
}

func (*SACertificate) CleanUp

func (*SACertificate) CreateOrUpdate

func (r *SACertificate) CreateOrUpdate(ctx context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) (controllerutil.OperationResult, error)

func (*SACertificate) Define

func (r *SACertificate) Define(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

func (*SACertificate) GetClient

func (r *SACertificate) GetClient() client.Client

func (*SACertificate) GetHistogram

func (r *SACertificate) GetHistogram() prometheus.Histogram

func (*SACertificate) GetName

func (r *SACertificate) GetName() string

func (*SACertificate) GetTmpDirectory

func (r *SACertificate) GetTmpDirectory() string

func (*SACertificate) ShouldCleanup

func (*SACertificate) ShouldStatusBeUpdated

func (r *SACertificate) ShouldStatusBeUpdated(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) bool

func (*SACertificate) UpdateTenantControlPlaneStatus

func (r *SACertificate) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

type TraefikIngressRouteTCPResource

type TraefikIngressRouteTCPResource struct {
	Client client.Client
	// contains filtered or unexported fields
}

TraefikIngressRouteTCPResource manages Traefik IngressRouteTCP resources for TLS passthrough. This is used when controllerType=traefik since standard Kubernetes Ingress does not support TLS passthrough with Traefik.

func (*TraefikIngressRouteTCPResource) CleanUp

func (*TraefikIngressRouteTCPResource) CreateOrUpdate

func (*TraefikIngressRouteTCPResource) Define

func (*TraefikIngressRouteTCPResource) GetHistogram

func (*TraefikIngressRouteTCPResource) GetName

func (*TraefikIngressRouteTCPResource) ShouldCleanup

func (*TraefikIngressRouteTCPResource) ShouldStatusBeUpdated

func (*TraefikIngressRouteTCPResource) UpdateTenantControlPlaneStatus

func (r *TraefikIngressRouteTCPResource) UpdateTenantControlPlaneStatus(_ context.Context, tenantControlPlane *stewardv1alpha1.TenantControlPlane) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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