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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPGroup.
func (*IPGroup) DeepCopyInto ¶
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 ¶
func (in *IPWhitelistConfigList) DeepCopy() *IPWhitelistConfigList
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 ¶
func (in *IPWhitelistConfigSpec) DeepCopy() *IPWhitelistConfigSpec
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Providers.
func (*Providers) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.
func (*Rule) DeepCopyInto ¶
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.