config

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const GroupName = "shoot-networking-filter.extensions.config.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 Configuration

type Configuration struct {
	metav1.TypeMeta

	// EgressFilter contains the configuration for the egress filter
	EgressFilter *EgressFilter

	// HealthCheckConfig is the config for the health check controller.
	HealthCheckConfig *extensionsconfig.HealthCheckConfig
}

Configuration contains information about the policy filter configuration.

func (*Configuration) DeepCopy

func (in *Configuration) DeepCopy() *Configuration

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

func (*Configuration) DeepCopyInto

func (in *Configuration) DeepCopyInto(out *Configuration)

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

func (*Configuration) DeepCopyObject

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

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

type DownloaderConfig

type DownloaderConfig struct {
	// Endpoint is the endpoint URL for downloading the filter list.
	Endpoint string
	// OAuth2Endpoint contains the optional OAuth endpoint for fetching the access token.
	// If specified, the OAuth2Secret must be provided, too.
	OAuth2Endpoint *string
	// RefreshPeriod is interval for refreshing the filter list.
	// If unset, the filter list is only fetched on startup.
	RefreshPeriod *metav1.Duration
}

DownloaderConfig contains the configuration for the filter list downloader.

func (*DownloaderConfig) DeepCopy

func (in *DownloaderConfig) DeepCopy() *DownloaderConfig

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

func (*DownloaderConfig) DeepCopyInto

func (in *DownloaderConfig) DeepCopyInto(out *DownloaderConfig)

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

type EgressFilter

type EgressFilter struct {
	// BlackholingEnabled is a flag to set blackholing or firewall approach.
	BlackholingEnabled bool

	// Workers contains worker-specific block modes
	Workers *Workers

	// SleepDuration is the time interval between policy updates.
	SleepDuration *metav1.Duration

	// FilterListProviderType specifies how the filter list is retrieved.
	// Supported types are `static` and `download`.
	FilterListProviderType FilterListProviderType

	// StaticFilterList contains the static filter list.
	// Only used for provider type `static`.
	StaticFilterList []Filter

	// DownloaderConfig contains the configuration for the filter list downloader.
	// Only used for provider type `download`.
	DownloaderConfig *DownloaderConfig

	// EnsureConnectivity configures the removal of seed and/or shoot load balancers IPs from the filter list.
	EnsureConnectivity *EnsureConnectivity
}

EgressFilter contains the configuration for the egress filter.

func (*EgressFilter) DeepCopy

func (in *EgressFilter) DeepCopy() *EgressFilter

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

func (*EgressFilter) DeepCopyInto

func (in *EgressFilter) DeepCopyInto(out *EgressFilter)

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

type EnsureConnectivity

type EnsureConnectivity struct {
	// SeedNamespaces contains the seed namespaces to check for load balancers.
	SeedNamespaces []string
}

EnsureConnectivity configures the removal of seed and/or shoot load balancers IPs from the filter list.

func (*EnsureConnectivity) DeepCopy

func (in *EnsureConnectivity) DeepCopy() *EnsureConnectivity

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

func (*EnsureConnectivity) DeepCopyInto

func (in *EnsureConnectivity) DeepCopyInto(out *EnsureConnectivity)

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

type Filter

type Filter struct {
	// Network is the network CIDR of the filter.
	Network string
	// Policy is the access policy (`BLOCK_ACCESS` or `ALLOW_ACCESS`).
	Policy Policy
}

Filter specifies a network-CIDR policy pair.

func (*Filter) DeepCopy

func (in *Filter) DeepCopy() *Filter

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

func (*Filter) DeepCopyInto

func (in *Filter) DeepCopyInto(out *Filter)

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

type FilterListProviderType

type FilterListProviderType string
const (
	// FilterListProviderTypeStatic is the provider type for static filter list
	FilterListProviderTypeStatic FilterListProviderType = "static"
	// FilterListProviderTypeDownload is the provider type for downloading the filter list from a URL
	FilterListProviderTypeDownload FilterListProviderType = "download"
)

type OAuth2Secret

type OAuth2Secret struct {
	// ClientID is the OAuth2 client id.
	ClientID string
	// ClientSecret is the optional OAuth2 client secret.
	ClientSecret string
	// ClientCert is the optional client certificate.
	ClientCert []byte
	// ClientCertKey is the optional private key of the client certificate.
	ClientCertKey []byte
}

OAuth2Secret contains the secret data for the optional oauth2 authorisation.

func (*OAuth2Secret) DeepCopy

func (in *OAuth2Secret) DeepCopy() *OAuth2Secret

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

func (*OAuth2Secret) DeepCopyInto

func (in *OAuth2Secret) DeepCopyInto(out *OAuth2Secret)

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

type Policy

type Policy string

Policy is the access policy

const (
	// PolicyAllowAccess is the `ALLOW_ACCESS` policy
	PolicyAllowAccess Policy = "ALLOW_ACCESS"
	// PolicyBlockAccess is the `BLOCK_ACCESS` policy
	PolicyBlockAccess Policy = "BLOCK_ACCESS"
)

type Workers added in v0.21.0

type Workers struct {
	// BlackholingEnabled is a flag to set blackholing or firewall approach.
	BlackholingEnabled bool

	// Names is a list of worker groups to use the specified blocking mode.
	Names []string
}

Workers allows to specify block modes per worker group.

func (*Workers) DeepCopy added in v0.21.0

func (in *Workers) DeepCopy() *Workers

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

func (*Workers) DeepCopyInto added in v0.21.0

func (in *Workers) DeepCopyInto(out *Workers)

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

Directories

Path Synopsis
Package v1alpha1 contains the shoot networking filter extension configuration.
Package v1alpha1 contains the shoot networking filter extension configuration.

Jump to

Keyboard shortcuts

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