metal

package
v0.25.2 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// NetworkAccessBaseline allows the cluster to access external networks in a baseline manner
	NetworkAccessBaseline = NetworkAccessType("baseline")
	// NetworkAccessRestricted access to external networks is by default restricted to registries, dns and ntp to partition only destinations.
	// Therefore registries, dns and ntp destinations must be specified in the cloud-profile accordingly-
	// If this is not the case, restricting the access must not be possible.
	// Image overrides for all images which are required to create such a shoot, must be specified. No other images are provided in the given registry.
	// customers can define own rules to access external networks as in the baseline.
	// Service type loadbalancers are also not restricted.
	NetworkAccessRestricted = NetworkAccessType("restricted")
	// NetworkAccessForbidden in this configuration a customer can no longer create rules to access external networks.
	// which are outside of a given list of allowed networks. This is enforced by the firewall.
	// Service type loadbalancers are also not possible to open a service ip which is not in the list of allowed networks.
	// This is also enforced by the firewall.
	NetworkAccessForbidden = NetworkAccessType("forbidden")
)
View Source
const GroupName = "metal.provider.extensions.gardener.cloud"

GroupName is the group name use in this package

Variables

View Source
var (
	// SchemeBuilder used to register the Shoot resource.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a pointer to SchemeBuilder.AddToScheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AllowedNetworks added in v0.22.0

type AllowedNetworks struct {
	// Ingress defines a list of networks which are allowed for incoming traffic like service type loadbalancer
	// to allow all you must specify 0.0.0.0/0 or ::/0
	Ingress []string
	// Egress defines a list of networks which are allowed for outgoing traffic
	// to allow all you must specify 0.0.0.0/0 or ::/0
	Egress []string
}

AllowedNetworks is a list of networks which are allowed to connect in restricted or forbidden NetworkIsolated clusters.

func (*AllowedNetworks) DeepCopy added in v0.22.0

func (in *AllowedNetworks) DeepCopy() *AllowedNetworks

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedNetworks.

func (*AllowedNetworks) DeepCopyInto added in v0.22.0

func (in *AllowedNetworks) DeepCopyInto(out *AllowedNetworks)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudControllerManagerConfig

type CloudControllerManagerConfig struct {
	// FeatureGates contains information about enabled feature gates.
	FeatureGates map[string]bool
	// DefaultExternalNetwork explicitly defines the network from which the CCM allocates IPs for services of type load balancer
	// If not defined, it will use the last network with the default external network tag from the infrastructure firewall networks
	// Networks not derived from a private super network have precedence.
	// +optional
	DefaultExternalNetwork *string
}

CloudControllerManagerConfig contains configuration settings for the cloud-controller-manager.

func (*CloudControllerManagerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudControllerManagerConfig.

func (*CloudControllerManagerConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudProfileConfig

type CloudProfileConfig struct {
	metav1.TypeMeta

	// MetalControlPlanes is a map of a control plane name to control plane configuration
	MetalControlPlanes map[string]MetalControlPlane
}

CloudProfileConfig contains provider-specific configuration that is embedded into Gardener's `CloudProfile` resource.

func (*CloudProfileConfig) DeepCopy

func (in *CloudProfileConfig) DeepCopy() *CloudProfileConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfileConfig.

func (*CloudProfileConfig) DeepCopyInto

func (in *CloudProfileConfig) DeepCopyInto(out *CloudProfileConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudProfileConfig) DeepCopyObject

func (in *CloudProfileConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControlPlaneConfig

type ControlPlaneConfig struct {
	metav1.TypeMeta

	// CloudControllerManager contains configuration settings for the cloud-controller-manager.
	// +optional
	CloudControllerManager *CloudControllerManagerConfig

	// FeatureGates contains feature gates for the control plane.
	FeatureGates ControlPlaneFeatures

	// CustomDefaultStorageClass
	CustomDefaultStorageClass *CustomDefaultStorageClass

	// NetworkAccessType defines how the cluster can reach external networks.
	// +optional
	NetworkAccessType *NetworkAccessType
}

ControlPlaneConfig contains configuration settings for the control plane.

func (*ControlPlaneConfig) DeepCopy

func (in *ControlPlaneConfig) DeepCopy() *ControlPlaneConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneConfig.

func (*ControlPlaneConfig) DeepCopyInto

func (in *ControlPlaneConfig) DeepCopyInto(out *ControlPlaneConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ControlPlaneConfig) DeepCopyObject

func (in *ControlPlaneConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControlPlaneFeatures added in v0.15.1

type ControlPlaneFeatures struct {
	// MachineControllerManagerOOT enables the deployment of the out-of-tree machine controller manager.
	// Once enabled this cannot be taken back.
	// Deprecated: This is now default and always on. Toggle does not have an effect anymore.
	// +optional
	MachineControllerManagerOOT *bool

	// DurosStorageEncryption enables the deployment of configured encrypted storage classes for the duros-controller.
	// +optional
	DurosStorageEncryption *bool
	// RestrictEgress limits the cluster egress to the API server and necessary external dependencies (like container registries)
	// by using DNS egress policies.
	// Requires firewall-controller >= 1.2.0.
	// Deprecated: Will be replaced by NetworkAccessRestricted.
	// +optional
	RestrictEgress *bool

	// ClusterAudit enables the deployment of a non-null audit policy to the apiserver and the forwarding
	// of the audit events into the cluster where they appear as container log of an audittailer pod, where they
	// can be picked up by any of the available Kubernetes logging solutions.
	// Deprecated: This is not used anymore. The gardener-extension-audit handles cluster auditing.
	// +optional
	ClusterAudit *bool
	// AuditToSplunk enables the forwarding of the apiserver auditlog to a defined splunk instance in addition to
	// forwarding it into the cluster. Needs the clusterAudit featureGate to be active.
	// Deprecated: This is not used anymore. The gardener-extension-audit handles cluster auditing.
	// +optional
	AuditToSplunk *bool
}

ControlPlaneFeatures contains feature gates for the control plane.

func (*ControlPlaneFeatures) DeepCopy added in v0.15.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneFeatures.

func (*ControlPlaneFeatures) DeepCopyInto added in v0.15.1

func (in *ControlPlaneFeatures) DeepCopyInto(out *ControlPlaneFeatures)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomDefaultStorageClass added in v0.18.6

type CustomDefaultStorageClass struct {
	// ClassName name of the storageclass to be set as default
	// If you want to have your own SC be set as default, set classname to ""
	ClassName string
}

CustomDefaultStorageClass defines the custom storageclass which should be set as default This applies only to storageClasses managed by metal-stack. If set to nil, our default storageClass (e.g. csi-lvm) is set as default

func (*CustomDefaultStorageClass) DeepCopy added in v0.18.6

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDefaultStorageClass.

func (*CustomDefaultStorageClass) DeepCopyInto added in v0.18.6

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EgressRule added in v0.15.1

type EgressRule struct {
	NetworkID string
	IPs       []string
}

func (*EgressRule) DeepCopy added in v0.15.1

func (in *EgressRule) DeepCopy() *EgressRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRule.

func (*EgressRule) DeepCopyInto added in v0.15.1

func (in *EgressRule) DeepCopyInto(out *EgressRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Firewall

type Firewall struct {
	Size                   string
	Image                  string
	Networks               []string
	RateLimits             []RateLimit
	EgressRules            []EgressRule
	LogAcceptedConnections bool
	ControllerVersion      string
	AutoUpdateMachineImage bool
}

func (*Firewall) DeepCopy

func (in *Firewall) DeepCopy() *Firewall

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firewall.

func (*Firewall) DeepCopyInto

func (in *Firewall) DeepCopyInto(out *Firewall)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallControllerVersion added in v0.16.12

type FirewallControllerVersion struct {
	// Version is the version name of the firewall controller
	Version string
	// URL points to the downloadable binary artifact of the firewall controller
	URL string
	// Classification defines the state of a version (preview, supported, deprecated)
	Classification *VersionClassification
}

FirewallControllerVersion describes the version of the firewall controller binary

func (*FirewallControllerVersion) DeepCopy added in v0.16.12

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallControllerVersion.

func (*FirewallControllerVersion) DeepCopyInto added in v0.16.12

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallStatus

type FirewallStatus struct {
	MachineID string
}

func (*FirewallStatus) DeepCopy

func (in *FirewallStatus) DeepCopy() *FirewallStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallStatus.

func (*FirewallStatus) DeepCopyInto

func (in *FirewallStatus) DeepCopyInto(out *FirewallStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageProviderConfig added in v0.22.0

type ImageProviderConfig struct {
	// required to convert it to/from RawExtension
	metav1.TypeMeta
	// NetworkIsolation defines restricted/forbidden networkaccess for worker nodes
	NetworkIsolation *NetworkIsolation
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object ImageProviderConfig is stored in the OSC's provider config RawExtension

func (*ImageProviderConfig) DeepCopy added in v0.22.0

func (in *ImageProviderConfig) DeepCopy() *ImageProviderConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageProviderConfig.

func (*ImageProviderConfig) DeepCopyInto added in v0.22.0

func (in *ImageProviderConfig) DeepCopyInto(out *ImageProviderConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ImageProviderConfig) DeepCopyObject added in v0.22.0

func (in *ImageProviderConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InfrastructureConfig

type InfrastructureConfig struct {
	metav1.TypeMeta
	Firewall    Firewall
	PartitionID string
	ProjectID   string
}

InfrastructureConfig infrastructure configuration resource

func (*InfrastructureConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfrastructureConfig.

func (*InfrastructureConfig) DeepCopyInto

func (in *InfrastructureConfig) DeepCopyInto(out *InfrastructureConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InfrastructureConfig) DeepCopyObject

func (in *InfrastructureConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InfrastructureStatus

type InfrastructureStatus struct {
	metav1.TypeMeta
	Firewall FirewallStatus
}

InfrastructureStatus contains information about created infrastructure resources.

func (*InfrastructureStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfrastructureStatus.

func (*InfrastructureStatus) DeepCopyInto

func (in *InfrastructureStatus) DeepCopyInto(out *InfrastructureStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InfrastructureStatus) DeepCopyObject

func (in *InfrastructureStatus) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MachineImage

type MachineImage struct {
	// Name is the logical name of the machine image.
	Name string
	// Version is the logical version of the machine image.
	Version string
	// Image is the path to the image.
	Image string
}

MachineImage is a mapping from logical names and versions to specific identifiers.

func (*MachineImage) DeepCopy

func (in *MachineImage) DeepCopy() *MachineImage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineImage.

func (*MachineImage) DeepCopyInto

func (in *MachineImage) DeepCopyInto(out *MachineImage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetalControlPlane added in v0.15.1

type MetalControlPlane struct {
	// Endpoint is the endpoint to the metal-api of the control plane
	Endpoint string
	// Partitions is a map of a region name from the regions defined in the cloud profile to region-specific control plane settings
	Partitions map[string]Partition
	// FirewallImages is a list of available firewall images in this control plane. When empty, allows all values.
	FirewallImages []string
	// FirewallControllerVersions is a list of available firewall controller binary versions
	FirewallControllerVersions []FirewallControllerVersion
	// NftablesExporter is the nftables exporter which will be reconciled by the firewall controller
	NftablesExporter NftablesExporter
}

MetalControlPlane contains configuration specific for this metal stack control plane

func (*MetalControlPlane) DeepCopy added in v0.15.1

func (in *MetalControlPlane) DeepCopy() *MetalControlPlane

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetalControlPlane.

func (*MetalControlPlane) DeepCopyInto added in v0.15.1

func (in *MetalControlPlane) DeepCopyInto(out *MetalControlPlane)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkAccessType added in v0.22.0

type NetworkAccessType string

NetworkAccessType defines how a cluster is capable of accessing external networks

type NetworkIsolation added in v0.22.0

type NetworkIsolation struct {
	// AllowedNetworks is a list of networks which are allowed to connect in restricted or forbidden NetworkIsolated clusters.
	AllowedNetworks AllowedNetworks
	// DNSServers
	DNSServers []string
	// NTPServers
	NTPServers []string
	// The registry which serves the images required to create a shoot.
	RegistryMirrors []RegistryMirror
}

NetworkIsolation defines configuration for restricted or forbidden clusters.

func (*NetworkIsolation) DeepCopy added in v0.22.0

func (in *NetworkIsolation) DeepCopy() *NetworkIsolation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkIsolation.

func (*NetworkIsolation) DeepCopyInto added in v0.22.0

func (in *NetworkIsolation) DeepCopyInto(out *NetworkIsolation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NftablesExporter added in v0.19.0

type NftablesExporter struct {
	// Version is the version name of the nftables exporter
	Version string
	// URL points to the downloadable binary artifact of the nftables exporter
	URL string
}

NftablesExporter describes the version of the nftables exporter binary

func (*NftablesExporter) DeepCopy added in v0.19.0

func (in *NftablesExporter) DeepCopy() *NftablesExporter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NftablesExporter.

func (*NftablesExporter) DeepCopyInto added in v0.19.0

func (in *NftablesExporter) DeepCopyInto(out *NftablesExporter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Partition added in v0.15.1

type Partition struct {
	// FirewallTypes is a list of available firewall machine types in this partition. When empty, allows all values.
	FirewallTypes []string

	// NetworkIsolation if given allows the creation of shoot clusters which have network restrictions activated.
	// Will be taken into account if NetworkAccessRestricted or NetworkAccessForbidden is defined
	NetworkIsolation *NetworkIsolation
}

Partition contains configuration specific for this metal stack control plane partition

func (*Partition) DeepCopy added in v0.15.1

func (in *Partition) DeepCopy() *Partition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Partition.

func (*Partition) DeepCopyInto added in v0.15.1

func (in *Partition) DeepCopyInto(out *Partition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit added in v0.15.1

type RateLimit struct {
	NetworkID string
	RateLimit uint32
}

func (*RateLimit) DeepCopy added in v0.15.1

func (in *RateLimit) DeepCopy() *RateLimit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.

func (*RateLimit) DeepCopyInto added in v0.15.1

func (in *RateLimit) DeepCopyInto(out *RateLimit)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegistryMirror added in v0.22.0

type RegistryMirror struct {
	// Name describes this server
	Name string
	// Endpoint is typically the url of the registry in the form https://hostname
	Endpoint string
	// IP is the ipv4 or ipv6 address of this server
	IP string
	// Port at which port the service is reachable
	Port int32
	// This Registry Mirror mirrors the following registries
	MirrorOf []string
}

func (*RegistryMirror) DeepCopy added in v0.22.0

func (in *RegistryMirror) DeepCopy() *RegistryMirror

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryMirror.

func (*RegistryMirror) DeepCopyInto added in v0.22.0

func (in *RegistryMirror) DeepCopyInto(out *RegistryMirror)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionClassification added in v0.16.13

type VersionClassification string

VersionClassification is the logical state of a version according to https://github.com/gardener/gardener/blob/master/docs/operations/versioning.md

const (
	// ClassificationPreview indicates that a version has recently been added and not promoted to "Supported" yet.
	// ClassificationPreview versions will not be considered for automatic firewallcontroller version updates.
	ClassificationPreview VersionClassification = "preview"
	// ClassificationSupported indicates that a patch version is the recommended version for a shoot.
	// Supported versions are eligible for the automated firewallcontroller version update.
	ClassificationSupported VersionClassification = "supported"
	// ClassificationDeprecated indicates that a patch version should not be used anymore, should be updated to a new version
	// and will eventually expire.
	ClassificationDeprecated VersionClassification = "deprecated"
)

type WorkerStatus

type WorkerStatus struct {
	metav1.TypeMeta

	// MachineImages is a list of machine images that have been used in this worker. Usually, the extension controller
	// gets the mapping from name/version to the provider-specific machine image data in its componentconfig. However, if
	// a version that is still in use gets removed from this componentconfig it cannot reconcile anymore existing `Worker`
	// resources that are still using this version. Hence, it stores the used versions in the provider status to ensure
	// reconciliation is possible.
	MachineImages []MachineImage
}

WorkerStatus contains information about created worker resources.

func (*WorkerStatus) DeepCopy

func (in *WorkerStatus) DeepCopy() *WorkerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerStatus.

func (*WorkerStatus) DeepCopyInto

func (in *WorkerStatus) DeepCopyInto(out *WorkerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WorkerStatus) DeepCopyObject

func (in *WorkerStatus) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

Directories

Path Synopsis
Package v1alpha1 contains the metal provider API resources.
Package v1alpha1 contains the metal provider API resources.

Jump to

Keyboard shortcuts

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