Documentation ¶
Index ¶
- Constants
- func CreateOrUpdateEndpointSlice(ctx context.Context, client ctrlclient.Client, obj *discoveryv1.EndpointSlice) error
- func CreateOrUpdateSecret(ctx context.Context, client ctrlclient.Client, obj *corev1.Secret) error
- func GetAnnotations(tenant *kubelbv1alpha1.Tenant, config *kubelbv1alpha1.Config) kubelbv1alpha1.AnnotationSettings
- func GetConfig(ctx context.Context, client ctrlclient.Client, configNamespace string) (*kubelbv1alpha1.Config, error)
- func GetKubeconfig(ctx context.Context, client ctrlruntimeclient.Client, log logr.Logger) (*clientcmdapi.Config, error)
- func GetTenant(ctx context.Context, client ctrlclient.Client, tenantName string) (*kubelbv1alpha1.Tenant, error)
- func GetTenantAndConfig(ctx context.Context, client ctrlclient.Client, ...) (*kubelbv1alpha1.Tenant, *kubelbv1alpha1.Config, error)
- func RemoveTenantPrefix(namespace string) string
- type BridgeServiceReconciler
- type EnvoyCPReconciler
- func (r *EnvoyCPReconciler) ListLoadBalancersAndRoutes(ctx context.Context, req ctrl.Request) ([]kubelbv1alpha1.LoadBalancer, []kubelbv1alpha1.Route, error)
- func (r *EnvoyCPReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
- func (r *EnvoyCPReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error
- type EnvoyProxyTopology
- type LoadBalancerReconciler
- type RouteReconciler
- type SyncSecretReconciler
- type TenantMigrationReconciler
- type TenantReconciler
Constants ¶
View Source
const ( RouteControllerName = "route-controller" CleanupFinalizer = "kubelb.k8c.io/cleanup" )
View Source
const (
BridgeServiceControllerName = "bridge-service-controller"
)
View Source
const (
EnvoyGlobalCache = "global"
)
View Source
const (
RequeueAllResources = "requeue-all-for-route"
)
View Source
const (
SyncSecretControllerName = "sync-secret-controller"
)
View Source
const (
TenantControllerName = "tenant-controller"
)
View Source
const (
TenantMigrationControllerName = "tenant-migration-controller"
)
Variables ¶
This section is empty.
Functions ¶
func CreateOrUpdateEndpointSlice ¶
func CreateOrUpdateEndpointSlice(ctx context.Context, client ctrlclient.Client, obj *discoveryv1.EndpointSlice) error
func CreateOrUpdateSecret ¶
func GetAnnotations ¶
func GetAnnotations(tenant *kubelbv1alpha1.Tenant, config *kubelbv1alpha1.Config) kubelbv1alpha1.AnnotationSettings
func GetConfig ¶
func GetConfig(ctx context.Context, client ctrlclient.Client, configNamespace string) (*kubelbv1alpha1.Config, error)
func GetKubeconfig ¶
func GetKubeconfig(ctx context.Context, client ctrlruntimeclient.Client, log logr.Logger) (*clientcmdapi.Config, error)
func GetTenant ¶
func GetTenant(ctx context.Context, client ctrlclient.Client, tenantName string) (*kubelbv1alpha1.Tenant, error)
func GetTenantAndConfig ¶
func GetTenantAndConfig(ctx context.Context, client ctrlclient.Client, configNamespace, tenantName string) (*kubelbv1alpha1.Tenant, *kubelbv1alpha1.Config, error)
func RemoveTenantPrefix ¶
Types ¶
type BridgeServiceReconciler ¶
type BridgeServiceReconciler struct { ctrlclient.Client Log logr.Logger Scheme *runtime.Scheme Recorder record.EventRecorder }
BridgeServiceReconciler reconciles the "bridge" service. This service is used to forward traffic from tenant namespace to the controller namespace when global topology is used.
func (*BridgeServiceReconciler) SetupWithManager ¶
func (r *BridgeServiceReconciler) SetupWithManager(mgr ctrl.Manager) error
type EnvoyCPReconciler ¶
type EnvoyCPReconciler struct { client.Client EnvoyCache envoycachev3.SnapshotCache EnvoyProxyTopology EnvoyProxyTopology PortAllocator *portlookup.PortAllocator Namespace string EnvoyBootstrap string DisableGatewayAPI bool Config *kubelbv1alpha1.Config }
func (*EnvoyCPReconciler) ListLoadBalancersAndRoutes ¶
func (r *EnvoyCPReconciler) ListLoadBalancersAndRoutes(ctx context.Context, req ctrl.Request) ([]kubelbv1alpha1.LoadBalancer, []kubelbv1alpha1.Route, error)
func (*EnvoyCPReconciler) Reconcile ¶
+kubebuilder:rbac:groups=kubelb.k8c.io,resources=loadbalancers,verbs=get;list;watch +kubebuilder:rbac:groups=kubelb.k8c.io,resources=loadbalancers/status,verbs=get
func (*EnvoyCPReconciler) SetupWithManager ¶
type EnvoyProxyTopology ¶
type EnvoyProxyTopology string
const ( EnvoyProxyTopologyDedicated EnvoyProxyTopology = "dedicated" EnvoyProxyTopologyGlobal EnvoyProxyTopology = "global" )
func (EnvoyProxyTopology) IsGlobalTopology ¶
func (e EnvoyProxyTopology) IsGlobalTopology() bool
type LoadBalancerReconciler ¶
type LoadBalancerReconciler struct { ctrlruntimeclient.Client Scheme *runtime.Scheme Cache cache.Cache Namespace string PortAllocator *portlookup.PortAllocator EnvoyProxyTopology EnvoyProxyTopology }
LoadBalancerReconciler reconciles a LoadBalancer object
func (*LoadBalancerReconciler) SetupWithManager ¶
type RouteReconciler ¶
type RouteReconciler struct { ctrlclient.Client Log logr.Logger Scheme *runtime.Scheme Recorder record.EventRecorder Namespace string PortAllocator *portlookup.PortAllocator EnvoyProxyTopology EnvoyProxyTopology DisableGatewayAPI bool }
RouteReconciler reconciles a Route Object
func (*RouteReconciler) SetupWithManager ¶
func (r *RouteReconciler) SetupWithManager(mgr ctrl.Manager) error
func (*RouteReconciler) UpdateRouteStatus ¶
func (r *RouteReconciler) UpdateRouteStatus(ctx context.Context, route *kubelbv1alpha1.Route, status kubelbv1alpha1.RouteStatus) error
type SyncSecretReconciler ¶
type SyncSecretReconciler struct { ctrlclient.Client Namespace string EnvoyProxyTopology EnvoyProxyTopology Log logr.Logger Scheme *runtime.Scheme Recorder record.EventRecorder }
SyncSecretReconciler reconciles an Ingress Object
func (*SyncSecretReconciler) SetupWithManager ¶
func (r *SyncSecretReconciler) SetupWithManager(mgr ctrl.Manager) error
type TenantMigrationReconciler ¶
type TenantMigrationReconciler struct { ctrlclient.Client Log logr.Logger Scheme *runtime.Scheme Recorder record.EventRecorder }
TenantMigrationReconciler is responsible for migrating namespace to a 1:1 tenant mapping.
func (*TenantMigrationReconciler) SetupWithManager ¶
func (r *TenantMigrationReconciler) SetupWithManager(mgr ctrl.Manager) error
type TenantReconciler ¶
type TenantReconciler struct { ctrlclient.Client Config *rest.Config Log logr.Logger Scheme *runtime.Scheme Recorder record.EventRecorder }
TenantReconciler reconciles an HTTPRoute Object
func (*TenantReconciler) SetupWithManager ¶
func (r *TenantReconciler) SetupWithManager(mgr ctrl.Manager) error
Source Files ¶
Click to show internal directories.
Click to hide internal directories.