bastion

package
v2.3.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

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
	CustomLabelDomain string
}

func (*Actuator) Delete

func (*Actuator) DetermineOptions

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

func (*Actuator) Reconcile

func (a *Actuator) Reconcile(ctx context.Context, log logr.Logger, bastion *extensionsv1alpha1.Bastion, cluster *extensionscontroller.Cluster) 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
	// CustomLabelDomain is the domain prefix for custom labels applied to STACKIT infrastructure resources.
	CustomLabelDomain string
}

AddOptions are Options to apply when adding the Openstack bastion controller to the manager.

type Options

type Options struct {
	Bastion *extensionsv1alpha1.Bastion

	// TechnicalID is the shoot's technical ID, as determined from Cluster.status.shoot.status.technicalID.
	TechnicalID string
	// 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 Bastion.
	ResourceName string
	// Labels added to all STACKIT resources.
	Labels map[string]string

	// Region for the Bastion server, determined from Cluster.spec.shoot.spec.region (RegionOne is replaced with eu01).
	Region string
	// AvailabilityZone for the Bastion server, first non-metro zone in CloudProfile.
	AvailabilityZone string
	// Machine type and image for the Bastion, determined from CloudProfile (spec.bastion and spec.providerConfig.machineImages).
	MachineType, ImageID string
	// Network and security group used by shoot workers, determined from Infrastructure.status.providerStatus.
	NetworkID, WorkerSecurityGroupID string
}

Options contains all input required for creating a Bastion host for a shoot on STACKIT. The options are determined from the Bastion and Cluster object.

type Resources

type Resources struct {
	Options
	IaaS stackitclient.IaaSClient

	SecurityGroup *iaas.SecurityGroup
	Server        *iaas.Server
	PublicIP      *iaas.PublicIp
}

Resources holds the STACKIT resources created for a Bastion along with all input (options) and the needed clients.

Jump to

Keyboard shortcuts

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