Help us shape the future of Go! Take the 2026 Go Developer Survey

selfhostedshootexposure

package
v2.26.0 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2026 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ExposureLabelKey = "exposure.stackit.cloud"
)

Variables

View Source
var DefaultAddOptions = AddOptions{}

DefaultAddOptions are the default AddOptions for AddToManager.

Functions

func AddToManager

func AddToManager(_ context.Context, mgr manager.Manager) error

AddToManager adds a controller with the default Options.

func AddToManagerWithOptions

func AddToManagerWithOptions(mgr manager.Manager, opts AddOptions) error

AddToManagerWithOptions adds a controller with the given Options to the given manager. The opts.Reconciler is being set with a newly instantiated Actuator.

Types

type Actuator

type Actuator struct {
	Client  client.Client
	Decoder runtime.Decoder
}

func (*Actuator) Delete

func (*Actuator) DetermineOptions

func (a *Actuator) DetermineOptions(ctx context.Context, exposure *extensionsv1alpha1.SelfHostedShootExposure, cluster *extensionscontroller.Cluster, projectID string) (*Options, error)

func (*Actuator) WithManager

func (a *Actuator) WithManager(mgr manager.Manager) *Actuator

type AddOptions

type AddOptions struct {
	// Controller are the controller.Options.
	Controller controller.Options
	// IgnoreOperationAnnotation specifies whether to ignore the operation annotation or not.
	IgnoreOperationAnnotation bool
	// ExtensionClasses defines the extension class this extension is responsible for.
	ExtensionClasses []extensionsv1alpha1.ExtensionClass
}

AddOptions are Options to apply when adding the SelfHostedShootExposure controller to the manager.

type Options

type Options struct {
	SelfHostedShootExposure *extensionsv1alpha1.SelfHostedShootExposure

	// ProjectID is the STACKIT project ID of the shoot. Currently determined from the cloudprovider (credentials) secret.
	ProjectID string
	// ResourceName of all STACKIT resources for this SelfHostedShootExposure.
	ResourceName string
	// Labels added to all STACKIT resources.
	Labels map[string]string

	// Region for the LB, determined from Cluster.spec.shoot.spec.region (RegionOne is replaced with eu01).
	Region string
	// NetworkID is the ID of the network where the control plane nodes reside.
	NetworkID string
	// PlanID specifies the service plan (size) of the load balancer.
	PlanID string
	// AllowedSourceRanges restricts which source CIDRs may reach the load balancer.
	// Empty means unrestricted.
	AllowedSourceRanges []string
}

Options contains all input required for creating a STACKIT LB for a self-hosted shoot on STACKIT. The options are determined from the SelfHostedShootExposure and Cluster object.

type Resources

type Resources struct {
	Options
	LBClient stackitclient.LoadBalancingClient

	LoadBalancer *loadbalancer.LoadBalancer
}

Resources holds the STACKIT resources created for a Self-hosted Shoot Exposure along with all inputs (options) and the needed clients.

Jump to

Keyboard shortcuts

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