v1beta1

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the ingress.security v1beta1 API group +kubebuilder:object:generate=true +groupName=ingress.security.moulick

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ingress.security.moulick", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AkamaiProvider

type AkamaiProvider struct {
	// +kubebuilder:validation:XIntOrString
	// +kubebuilder:validation:Optional
	MapId *intstr.IntOrString `json:"mapId,omitempty"`
	// +kubebuilder:validation:Optional
	Host *SecretKeySelector `json:"serviceConsumerDomainRef,omitempty"`
	// +kubebuilder:validation:Optional
	ClientToken *SecretKeySelector `json:"clientTokenSecretRef,omitempty"`
	// +kubebuilder:validation:Optional
	ClientSecret *SecretKeySelector `json:"clientSecretSecretRef,omitempty"`
	// +kubebuilder:validation:Optional
	AccessToken *SecretKeySelector `json:"accessTokenSecretRef,omitempty"`
}

func (*AkamaiProvider) DeepCopy

func (in *AkamaiProvider) DeepCopy() *AkamaiProvider

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

func (*AkamaiProvider) DeepCopyInto

func (in *AkamaiProvider) DeepCopyInto(out *AkamaiProvider)

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

type CloudflareProvider

type CloudflareProvider struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:default="https://api.cloudflare.com/client/v4/ips"
	// JsonApi is the URL of cloudflare to query for the list of IPs
	JsonApi string `json:"jsonApi"`
}

func (*CloudflareProvider) DeepCopy

func (in *CloudflareProvider) DeepCopy() *CloudflareProvider

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

func (*CloudflareProvider) DeepCopyInto

func (in *CloudflareProvider) DeepCopyInto(out *CloudflareProvider)

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

type FastlyProvider

type FastlyProvider struct {
	// +kubebuilder:validation:Required
	JsonApi string `json:"jsonApi"`
}

func (*FastlyProvider) DeepCopy

func (in *FastlyProvider) DeepCopy() *FastlyProvider

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

func (*FastlyProvider) DeepCopyInto

func (in *FastlyProvider) DeepCopyInto(out *FastlyProvider)

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

type GithubProvider added in v1.4.0

type GithubProvider struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="https://api.github.com/meta"
	JsonApi string `json:"jsonApi,omitempty"`

	// Services are names of sections with IP addresses in the api.github.com/meta like "hooks", "web", "api", "actions" etc
	// +kubebuilder:validation:Required
	Services []string `json:"services,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="2022-11-28"
	APIVersion string `json:"apiVersion,omitempty"`
}

GithubProvider is a provider for the github meta API +kubebuilder:validation:Optional

func (*GithubProvider) DeepCopy added in v1.4.0

func (in *GithubProvider) DeepCopy() *GithubProvider

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

func (*GithubProvider) DeepCopyInto added in v1.4.0

func (in *GithubProvider) DeepCopyInto(out *GithubProvider)

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

type IPGroup

type IPGroup struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// +kubebuilder:validation:Required
	Expires metav1.Time `json:"expires"`
	// TODO: add ip validation
	// +kubebuilder:validation:Optional
	CIDRS []string `json:"cidrs,omitempty"`
}

IPGroup is a group of IPs with a set expiration time

func (*IPGroup) DeepCopy

func (in *IPGroup) DeepCopy() *IPGroup

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

func (*IPGroup) DeepCopyInto

func (in *IPGroup) DeepCopyInto(out *IPGroup)

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

type IPWhitelistConfig

type IPWhitelistConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec IPWhitelistConfigSpec `json:"spec,omitempty"`
}

IPWhitelistConfig is the Schema for the ipwhitelistconfigs API

func (*IPWhitelistConfig) DeepCopy

func (in *IPWhitelistConfig) DeepCopy() *IPWhitelistConfig

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

func (*IPWhitelistConfig) DeepCopyInto

func (in *IPWhitelistConfig) DeepCopyInto(out *IPWhitelistConfig)

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

func (*IPWhitelistConfig) DeepCopyObject

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

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

type IPWhitelistConfigList

type IPWhitelistConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []IPWhitelistConfig `json:"items"`
}

IPWhitelistConfigList contains a list of IPWhitelistConfig

func (*IPWhitelistConfigList) DeepCopy

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

func (*IPWhitelistConfigList) DeepCopyInto

func (in *IPWhitelistConfigList) DeepCopyInto(out *IPWhitelistConfigList)

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

func (*IPWhitelistConfigList) DeepCopyObject

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

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

type IPWhitelistConfigSpec

type IPWhitelistConfigSpec struct {
	// +kubebuilder:validation:Required
	WhitelistAnnotation string `json:"whitelistAnnotation"`
	// +kubebuilder:validation:Required
	Rules []Rule `json:"rules"`
	// +listType=map
	// +listMapKey=name
	// +kubebuilder:validation:Optional
	IPGroups []IPGroup `json:"ipGroups"`

	// +listMapKey=name
	// +listType=map
	// +kubebuilder:validation:Optional
	Providers []Providers `json:"providers,omitempty"`
}

IPWhitelistConfigSpec defines the desired state of IPWhitelistConfig

func (*IPWhitelistConfigSpec) DeepCopy

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

func (*IPWhitelistConfigSpec) DeepCopyInto

func (in *IPWhitelistConfigSpec) DeepCopyInto(out *IPWhitelistConfigSpec)

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

type ProviderName added in v1.4.0

type ProviderName string
const (
	Cloudflare ProviderName = "cloudflare"
	Akamai     ProviderName = "akamai"
	Fastly     ProviderName = "fastly"
	Github     ProviderName = "github"
)

type ProviderSelector

type ProviderSelector struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

func (*ProviderSelector) DeepCopy

func (in *ProviderSelector) DeepCopy() *ProviderSelector

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

func (*ProviderSelector) DeepCopyInto

func (in *ProviderSelector) DeepCopyInto(out *ProviderSelector)

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

type Providers

type Providers struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=akamai;cloudflare;fastly;github
	Type ProviderName `json:"type"`
	// +kubebuilder:validation:Optional
	Akamai AkamaiProvider `json:"akamai,omitempty"`
	// +kubebuilder:validation:Optional
	Cloudflare CloudflareProvider `json:"cloudflare,omitempty"`
	// +kubebuilder:validation:Optional
	Fastly FastlyProvider `json:"fastly,omitempty"`
	// +kubebuilder:validation:Optional
	Github GithubProvider `json:"github,omitempty"`
}

func (*Providers) DeepCopy

func (in *Providers) DeepCopy() *Providers

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

func (*Providers) DeepCopyInto

func (in *Providers) DeepCopyInto(out *Providers)

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

type Rule

type Rule struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// +kubebuilder:validation:Required
	Selector *metav1.LabelSelector `json:"selector"`
	// +kubebuilder:validation:Optional
	IPGroupSelector []string `json:"ipGroupSelector,omitempty"`
	// +kubebuilder:validation:Optional
	// +listMapKey=name
	// +listType=map
	ProviderSelector []ProviderSelector `json:"providerSelector,omitempty"`
}

Rule is mapping of an IPGroup to a set of labels

func (*Rule) DeepCopy

func (in *Rule) DeepCopy() *Rule

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

func (*Rule) DeepCopyInto

func (in *Rule) DeepCopyInto(out *Rule)

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

type SecretKeySelector

type SecretKeySelector struct {
	Secret v1.SecretReference `json:"secret"`
	Key    string             `json:"key"`
}

func (*SecretKeySelector) DeepCopy

func (in *SecretKeySelector) DeepCopy() *SecretKeySelector

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

func (*SecretKeySelector) DeepCopyInto

func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)

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

Jump to

Keyboard shortcuts

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