Documentation ¶
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type AllowedNetworks
- type CloudControllerManagerConfig
- type CloudProfileConfig
- type ControlPlaneConfig
- type ControlPlaneFeatures
- type CustomDefaultStorageClass
- type EgressRule
- type Firewall
- type FirewallControllerVersion
- type FirewallStatus
- type ImageProviderConfig
- type InfrastructureConfig
- type InfrastructureStatus
- type MachineImage
- type MetalControlPlane
- type NetworkAccessType
- type NetworkIsolation
- type NftablesExporter
- type Partition
- type RateLimit
- type RegistryMirror
- type VersionClassification
- type WorkerStatus
Constants ¶
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") )
const GroupName = "metal.provider.extensions.gardener.cloud"
GroupName is the group name use in this package
Variables ¶
var ( // SchemeBuilder used to register the Shoot resource. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a pointer to SchemeBuilder.AddToScheme. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
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 ¶
func (in *CloudControllerManagerConfig) DeepCopy() *CloudControllerManagerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudControllerManagerConfig.
func (*CloudControllerManagerConfig) DeepCopyInto ¶
func (in *CloudControllerManagerConfig) DeepCopyInto(out *CloudControllerManagerConfig)
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
func (in *ControlPlaneFeatures) DeepCopy() *ControlPlaneFeatures
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
func (in *CustomDefaultStorageClass) DeepCopy() *CustomDefaultStorageClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDefaultStorageClass.
func (*CustomDefaultStorageClass) DeepCopyInto ¶ added in v0.18.6
func (in *CustomDefaultStorageClass) DeepCopyInto(out *CustomDefaultStorageClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EgressRule ¶ added in v0.15.1
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firewall.
func (*Firewall) DeepCopyInto ¶
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
func (in *FirewallControllerVersion) DeepCopy() *FirewallControllerVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallControllerVersion.
func (*FirewallControllerVersion) DeepCopyInto ¶ added in v0.16.12
func (in *FirewallControllerVersion) DeepCopyInto(out *FirewallControllerVersion)
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 ¶
func (in *InfrastructureConfig) DeepCopy() *InfrastructureConfig
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 ¶
func (in *InfrastructureStatus) DeepCopy() *InfrastructureStatus
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Partition.
func (*Partition) DeepCopyInto ¶ added in v0.15.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimit ¶ added in v0.15.1
func (*RateLimit) DeepCopy ¶ added in v0.15.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.
func (*RateLimit) DeepCopyInto ¶ added in v0.15.1
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.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package v1alpha1 contains the metal provider API resources.
|
Package v1alpha1 contains the metal provider API resources. |