Documentation ¶
Overview ¶
Package features configures additional extra features for the Ingress. Examples for how to implement additional features can be found in the *_example.go files.
Index ¶
- Variables
- type AffinityFeature
- type AllowHTTPFeature
- type AppProtocolFeature
- type BackendConfigExampleFeature
- type CDNFeature
- type HTTPSRedirectsFeature
- func (v *HTTPSRedirectsFeature) CheckResponse(host, path string, resp *http.Response, body []byte) (fuzz.CheckResponseAction, error)
- func (v *HTTPSRedirectsFeature) ConfigureAttributes(env fuzz.ValidatorEnv, ing *v1.Ingress, a *fuzz.IngressValidatorAttributes) error
- func (*HTTPSRedirectsFeature) Name() string
- func (f *HTTPSRedirectsFeature) NewValidator() fuzz.FeatureValidator
- type IAPFeature
- type ILBFeature
- type ILBValidator
- type NegFeature
- type PresharedCertFeature
- type SecurityPolicyFeature
- type StaticIPFeature
Constants ¶
This section is empty.
Variables ¶
var Affinity = &AffinityFeature{}
Affinity is a feature in BackendConfig that supports using session affinity on GCP LBs.
var All = []fuzz.Feature{ AllowHTTP, PresharedCert, CDN, IAP, SecurityPolicy, Affinity, NEG, AppProtocol, ILB, HTTPSRedirects, }
All is the set of all features.
var AllowHTTP = &AllowHTTPFeature{}
AllowHTTP is the "kubernetes.io/ingress.allow-http" annotation. If the annotation is set to false, then disable serving HTTP.
var AppProtocol = &AppProtocolFeature{}
AppProtocol is the "service.alpha.kubernetes.io/app-protocols" annotation
var BackendConfigExample = &BackendConfigExampleFeature{}
BackendConfigExample is an example of how a Feature will integrate with the BackendConfig referenced from a Service.
var CDN = &CDNFeature{}
CDN is a feature in BackendConfig that supports using GCP CDN.
var HTTPSRedirects = &HTTPSRedirectsFeature{}
HTTPSRedirects
var IAP = &IAPFeature{}
IAP is a feature in BackendConfig that supports using GCP Identity-Aware Proxy (IAP).
var ILB = &ILBFeature{}
ILB is an internal load balancer
var NEG = &NegFeature{}
NEG is a feature in GCP to support pod as Loadbalancer backends
PresharedCert is the "kubernetes.io/pre-shared-cert" annotation.
var SecurityPolicy = &SecurityPolicyFeature{}
SecurityPolicy is a feature in BackendConfig that supports using GCP Security Policy.
var StaticIP = &StaticIPFeature{}
StaticIP is the "kubernetes.io/ingress.static-ip" annotation.
Functions ¶
This section is empty.
Types ¶
type AffinityFeature ¶ added in v1.5.0
type AffinityFeature struct{}
AffinityFeature implements the associated feature.
func (*AffinityFeature) Name ¶ added in v1.5.0
func (*AffinityFeature) Name() string
Name implements fuzz.Feature.
func (AffinityFeature) NewValidator ¶ added in v1.5.0
func (AffinityFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type AllowHTTPFeature ¶
type AllowHTTPFeature struct {
fuzz.NullValidator
}
AllowHTTPFeature implements the associated feature.
func (*AllowHTTPFeature) ConfigureAttributes ¶
func (*AllowHTTPFeature) ConfigureAttributes(env fuzz.ValidatorEnv, ing *v1.Ingress, a *fuzz.IngressValidatorAttributes) error
ConfigureAttributes implements fuzz.Feature.
func (*AllowHTTPFeature) Name ¶
func (*AllowHTTPFeature) Name() string
Name implements fuzz.Feature.
func (*AllowHTTPFeature) NewValidator ¶
func (f *AllowHTTPFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type AppProtocolFeature ¶ added in v1.6.0
type AppProtocolFeature struct{}
AppProtocolFeature implements the associated feature.
func (*AppProtocolFeature) Name ¶ added in v1.6.0
func (*AppProtocolFeature) Name() string
Name implements fuzz.Feature.
func (*AppProtocolFeature) NewValidator ¶ added in v1.6.0
func (f *AppProtocolFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type BackendConfigExampleFeature ¶
type BackendConfigExampleFeature struct{}
BackendConfigExampleFeature is the example BackendConfig feature.
func (*BackendConfigExampleFeature) Name ¶
func (*BackendConfigExampleFeature) Name() string
Name implements fuzz.Feature.
func (BackendConfigExampleFeature) NewValidator ¶
func (BackendConfigExampleFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type CDNFeature ¶
type CDNFeature struct{}
CDNFeature implements the associated feature.
func (CDNFeature) NewValidator ¶
func (CDNFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type HTTPSRedirectsFeature ¶ added in v1.11.0
type HTTPSRedirectsFeature struct { fuzz.NullValidator // contains filtered or unexported fields }
HTTPSRedirectsFeature implements the associated feature.
func (*HTTPSRedirectsFeature) CheckResponse ¶ added in v1.11.0
func (v *HTTPSRedirectsFeature) CheckResponse(host, path string, resp *http.Response, body []byte) (fuzz.CheckResponseAction, error)
CheckResponse implements fuzz.FeatureValidator.
func (*HTTPSRedirectsFeature) ConfigureAttributes ¶ added in v1.11.0
func (v *HTTPSRedirectsFeature) ConfigureAttributes(env fuzz.ValidatorEnv, ing *v1.Ingress, a *fuzz.IngressValidatorAttributes) error
ConfigureAttributes implements fuzz.Feature.
func (*HTTPSRedirectsFeature) Name ¶ added in v1.11.0
func (*HTTPSRedirectsFeature) Name() string
Name implements fuzz.Feature.
func (*HTTPSRedirectsFeature) NewValidator ¶ added in v1.11.0
func (f *HTTPSRedirectsFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type IAPFeature ¶
type IAPFeature struct{}
IAPFeature implements the associated feature.
func (IAPFeature) NewValidator ¶
func (IAPFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type ILBFeature ¶ added in v1.7.0
type ILBFeature struct{}
ILBFeature implements the associated feature
func (*ILBFeature) Name ¶ added in v1.7.0
func (*ILBFeature) Name() string
Name implements fuzz.Feature.
func (*ILBFeature) NewValidator ¶ added in v1.7.0
func (*ILBFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type ILBValidator ¶ added in v1.7.0
type ILBValidator struct { fuzz.NullValidator // contains filtered or unexported fields }
ILBValidator is an example validator.
func (*ILBValidator) CheckResponse ¶ added in v1.7.0
func (v *ILBValidator) CheckResponse(host, path string, resp *http.Response, body []byte) (fuzz.CheckResponseAction, error)
CheckResponse implements fuzz.FeatureValidator.
func (*ILBValidator) ConfigureAttributes ¶ added in v1.7.0
func (v *ILBValidator) ConfigureAttributes(env fuzz.ValidatorEnv, ing *v1.Ingress, a *fuzz.IngressValidatorAttributes) error
ConfigureAttributes implements fuzz.FeatureValidator.
func (*ILBValidator) Name ¶ added in v1.7.0
func (*ILBValidator) Name() string
Name implements fuzz.FeatureValidator.
type NegFeature ¶ added in v1.6.0
type NegFeature struct{}
NegFeature implements the associated feature.
func (*NegFeature) Name ¶ added in v1.6.0
func (*NegFeature) Name() string
Name implements fuzz.Feature.
func (*NegFeature) NewValidator ¶ added in v1.6.0
func (*NegFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type PresharedCertFeature ¶
type PresharedCertFeature struct {
}PresharedCertFeature implements the Feature associated with PresharedCert.
func (*PresharedCertFeature) ConfigureAttributes ¶
func (*PresharedCertFeature) ConfigureAttributes(env fuzz.ValidatorEnv, ing *v1.Ingress, a *fuzz.IngressValidatorAttributes) error
ConfigureAttributes implements fuzz.Feature.
func (*PresharedCertFeature) Name ¶
func (*PresharedCertFeature) Name() string
Name implements fuzz.Feature.
func (*PresharedCertFeature) NewValidator ¶
func (f *PresharedCertFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type SecurityPolicyFeature ¶
type SecurityPolicyFeature struct{}
SecurityPolicyFeature implements the associated feature.
func (*SecurityPolicyFeature) Name ¶
func (*SecurityPolicyFeature) Name() string
Name implements fuzz.Feature.
func (SecurityPolicyFeature) NewValidator ¶
func (SecurityPolicyFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.
type StaticIPFeature ¶ added in v1.6.0
type StaticIPFeature struct {
fuzz.NullValidator
}
StaticIPFeature implements the associated feature.
func (*StaticIPFeature) Name ¶ added in v1.6.0
func (*StaticIPFeature) Name() string
Name implements fuzz.Feature.
func (*StaticIPFeature) NewValidator ¶ added in v1.6.0
func (f *StaticIPFeature) NewValidator() fuzz.FeatureValidator
NewValidator implements fuzz.Feature.