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

bastion

package
v2.13.0 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 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