Documentation ¶
Overview ¶
Package v1alpha1 is a version of the client API for CustomResource types defined for the Varnish Ingress project. Most of the code in the API is generated by k8s code generators (see: k8s.io/code-generator).
See: https://code.uplex.de/uplex-varnish/k8s-ingress
Currently there is one CustomResource named VarnishConfig.
Most of the code in the API is generated by k8s code generators (see: k8s.io/code-generator).
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type ACLAddress
- type ACLSpec
- type ACLType
- type AnchorType
- type AuthSpec
- type AuthType
- type BackendConfig
- type BackendConfigList
- type BackendConfigSpec
- type CompareType
- type Condition
- type DirectorSpec
- type DirectorType
- type DispositionSpec
- type GlobalTLSSpec
- type GlobalTLSTimeoutSpec
- type MatchFlagsType
- type MethodType
- type NameTTLFromType
- type NameTTLSpec
- type ProbeSpec
- type RecvReturn
- type ReqCondition
- type RequestDispSpec
- type ResultHdrType
- type RewriteRule
- type RewriteSpec
- type SelectType
- type SelfShardSpec
- type ShardRule
- type ShardSpec
- type TLSSpec
- type TemplateConfig
- type TemplateConfigList
- type TemplateConfigSpec
- type VCLSubType
- type VarnishConfig
- type VarnishConfigList
- type VarnishConfigSpec
- type VikingTLSSpec
Constants ¶
const ( // Equal specifies equality -- string equality, numeric // equality, or membership in a set of fixed strings. Equal CompareType = "equal" // NotEqual specifies non-equality. NotEqual = "not-equal" // Match specifies a regular expression match. Match = "match" // NotMatch specifies a regular expression non-match. NotMatch = "not-match" // Prefix specifies that a string has a prefix in a set of // fixed strings. Prefix = "prefix" // NotPrefix specifies that a string does not have a prefix // in a set of fixed strings. NotPrefix = "not-prefix" // Exists specifies that a request header exists. Exists = "exists" // NotExists specifies that a request header does not exist. NotExists = "not-exists" // Greater specifies the > relation between a VCL variable // with a numeric value and a constant. Greater = "greater" // GreaterEqual specifies the >= relation for a numeric VCL // variable and a constant. GreaterEqual = "greater-equal" // Less specifies the < relation for a numeric VCL variable // and a constant. Less = "less" // LessEqual specifies the <= relation for a numeric VCL // variable and a constant. LessEqual = "less-equal" )
const ( // None indicates no anchoring. None AnchorType = "none" // Start indicates anchoring at start-of-string. Start = "start" // Both indicates anchoring at start- and end-of-string. Both = "both" )
const ( // Replace means that the target is overwritten with a new // value. Replace MethodType = "replace" // Sub means that the first matching substring of the target // after a regex match is substituted with the new value. Sub = "sub" // Suball means that each non-overlapping matching substring // of the target is substituted. Suball = "suball" // Rewrite means that the target is rewritten with the rule in // the Rewrite field, possibly with backreferences. Rewrite = "rewrite" // Append means that a string is concatenated after the source // string, with the result written to the target. Append = "append" // Prepend means that a string is concatenated after the // source string. Prepend = "prepend" // Delete means that the target object is deleted. Delete = "delete" )
const ( // Recv for vcl_recv Recv VCLSubType = "recv" // Pipe for vcl_pipe Pipe = "pipe" // Pass for vcl_pass Pass = "pass" // Hash for vcl_hash Hash = "hash" // Purge for vcl_purge Purge = "purge" // Miss for vcl_miss Miss = "miss" // Hit for vcl_hit Hit = "hit" // Deliver for vcl_deliver Deliver = "deliver" // Synth for vcl_synth Synth = "synth" // BackendFetch for vcl_backend_fetch BackendFetch = "backend_fetch" // BackendResponse for vcl_backend_response BackendResponse = "backend_response" // BackendError for vcl_backend_error BackendError = "backend_error" )
const ( // Unique means that only one rewrite rule may match, // otherwise VCL failure is invoked. Unique SelectType = "unique" // First means that the first matching rule in the order of // the Rules array is executed. First = "first" // Last means that the last matching rule is executed. Last = "last" // Exact means that, for a prefix match, the rule by which the // full string matched exactly is executed. Exact = "exact" // Longest means that the rule for the longest prefix that // matched is executed. Longest = "longest" // Shortest means that the rule for the shortest prefix that // matched is executed. Shortest = "shortest" )
const ( // RecvHash to invoke cache lookup. RecvHash RecvReturn = "hash" // RecvPass to bypass cache lookup. RecvPass = "pass" // RecvPipe for pipe mode -- Varnish passes data between // client and backend with no further intervention. RecvPipe = "pipe" // RecvPurge to purge a cache object. // See: https://varnish-cache.org/docs/6.3/users-guide/purging.html?highlight=purge#http-purging RecvPurge = "purge" // RecvSynth to generate a synthetic response with a given // HTTP response status. RecvSynth = "synth" // RecvFail to invoke VCL failure. RecvFail = "fail" // RecvRestart to invoke request restart. RecvRestart = "restart" )
const ( // RoundRobin director RoundRobin DirectorType = "round-robin" // Random director Random = "random" // Shard director Shard = "shard" )
const ( // FromCfg to use the TTL from the BackendConfig only (or the // default) FromCfg NameTTLFromType = "cfg" // FromDNS to use the TTL from DNS only FromDNS = "dns" // FromMax to use the maximum of DNS TTL and the configured TTL FromMax = "max" // FromMin to use the minimum of DNS TTL and the configured TTL FromMin = "min" )
Variables ¶
var ( // SchemeBuilder adds Go types for Custom Resources to the // client API. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme specifies k8s.io/apimachinery/pkg/runtime.AddToScheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{ Group: ving.GroupName, Version: "v1alpha1", }
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Kind ¶
Kind takes an unqualified kind and returns back 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 ACLAddress ¶
type ACLAddress struct { Address string `json:"addr,omitempty"` MaskBits *int32 `json:"mask-bits,omitempty"` Negate bool `json:"negate,omitempty"` }
ACLAddress represents an entry in a VCL. If MaskBits is non-nil, it is a CIDR range. If Negate is true, use the '!' notation in the VCL ACL.
func (*ACLAddress) DeepCopy ¶
func (in *ACLAddress) DeepCopy() *ACLAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ACLAddress.
func (*ACLAddress) DeepCopyInto ¶
func (in *ACLAddress) DeepCopyInto(out *ACLAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ACLSpec ¶
type ACLSpec struct { Name string `json:"name,omitempty"` ACLType ACLType `json:"type,omitempty"` Comparand string `json:"comparand,omitempty"` ResultHdr *ResultHdrType `json:"result-header,omitempty"` FailStatus *int32 `json:"fail-status,omitempty"` Addresses []ACLAddress `json:"addrs,omitempty"` Conditions []Condition `json:"conditions,omitempty"` }
ACLSpec specifies whitelisting or blacklisting IP addresses against an access control list.
func (*ACLSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ACLSpec.
type ACLType ¶
type ACLType string
ACLType classifies an ACL.
const ( // Whitelist means that the failure status is returned when an // IP address does not match an ACL. Whitelist ACLType = "whitelist" // Blacklist means that the failure status is returned when an // IP address does match an ACL. Blacklist = "blacklist" )
type AnchorType ¶
type AnchorType string
AnchorType classifies start-of-string and/or end-of-string anchoring for a regex match.
type AuthSpec ¶
type AuthSpec struct { Realm string `json:"realm"` SecretName string `json:"secretName"` Type AuthType `json:"type,omitempty"` UTF8 bool `json:"utf8,omitempty"` Conditions []Condition `json:"conditions,omitempty"` }
AuthSpec specifies authentication (basic or proxy).
func (*AuthSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthSpec.
type AuthType ¶
type AuthType string
AuthType classifies the protocol for an AuthSpec.
const ( // Basic Authentication Basic AuthType = "basic" // Proxy Authentication Proxy = "proxy" )
type BackendConfig ¶
type BackendConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec BackendConfigSpec `json:"spec"` }
BackendConfig is the client API for the BackendConfig Custom Resource, which specifies properties of an Ingress/Varnish backend, realized as a k8s Service.
func (*BackendConfig) DeepCopy ¶
func (in *BackendConfig) DeepCopy() *BackendConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConfig.
func (*BackendConfig) DeepCopyInto ¶
func (in *BackendConfig) DeepCopyInto(out *BackendConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackendConfig) DeepCopyObject ¶
func (in *BackendConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackendConfigList ¶
type BackendConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []BackendConfig `json:"items"` }
BackendConfigList is a list of BackendConfig Custom Resources.
func (*BackendConfigList) DeepCopy ¶
func (in *BackendConfigList) DeepCopy() *BackendConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConfigList.
func (*BackendConfigList) DeepCopyInto ¶
func (in *BackendConfigList) DeepCopyInto(out *BackendConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackendConfigList) DeepCopyObject ¶
func (in *BackendConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackendConfigSpec ¶
type BackendConfigSpec struct { Services []string `json:"services,omitempty"` Probe *ProbeSpec `json:"probe,omitempty"` Director *DirectorSpec `json:"director,omitempty"` TLS *TLSSpec `json:"tls,omitempty"` NameTTL *NameTTLSpec `json:"nameTtl,omitempty"` HostHeader string `json:"host-header,omitempty"` ConnectTimeout string `json:"connect-timeout,omitempty"` FirstByteTimeout string `json:"first-byte-timeout,omitempty"` BetweenBytesTimeout string `json:"between-bytes-timeout,omitempty"` DNSRetryDelay string `json:"dnsRetryDelay,omitempty"` DomainUsageTimeout string `json:"domainUsageTimeout,omitempty"` FirstLookupTimeout string `json:"firstLookupTimeout,omitempty"` ResolverIdleTimeout string `json:"resolverIdleTimeout,omitempty"` ResolverTimeout string `json:"resolverTimeout,omitempty"` MaxConnections *int32 `json:"max-connections,omitempty"` ProxyHeader *int32 `json:"proxy-header,omitempty"` MaxDNSQueries *int32 `json:"maxDNSQueries,omitempty"` FollowDNSRedirects *bool `json:"followDNSRedirects,omitempty"` }
BackendConfigSpec corresponds to the spec section of a BackendConfig Custom Resource.
func (*BackendConfigSpec) DeepCopy ¶
func (in *BackendConfigSpec) DeepCopy() *BackendConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConfigSpec.
func (*BackendConfigSpec) DeepCopyInto ¶
func (in *BackendConfigSpec) DeepCopyInto(out *BackendConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompareType ¶
type CompareType string
CompareType classifies comparison operations performed for conditional configurations. Some of these are not permitted for certain config types; the custom resource defines which values are available.
type Condition ¶
type Condition struct { Comparand string `json:"comparand,omitempty"` Compare CompareType `json:"compare,omitempty"` Value string `json:"value,omitempty"` }
Condition represents a term in a boolean expression -- test the Comparand against Value for equality or regex match.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
type DirectorSpec ¶
type DirectorSpec struct { Type DirectorType `json:"type,omitempty"` Warmup *int32 `json:"warmup,omitempty"` Rampup string `json:"rampup,omitempty"` ShardParam string `json:"shard_param,omitempty"` }
DirectorSpec corresponds to spec.director in a BackendConfig, and allows for a choice of directors, and some parameters.
func (*DirectorSpec) DeepCopy ¶
func (in *DirectorSpec) DeepCopy() *DirectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectorSpec.
func (*DirectorSpec) DeepCopyInto ¶
func (in *DirectorSpec) DeepCopyInto(out *DirectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DirectorType ¶
type DirectorType string
DirectorType specfies the class of director to be used, see: https://varnish-cache.org/docs/6.3/reference/vmod_directors.generated.html
type DispositionSpec ¶
type DispositionSpec struct { Action RecvReturn `json:"action"` Status *int64 `json:"status,omitempty"` Reason string `json:"reason,omitempty"` }
DispositionSpec specifies the disposition of a client request when associated Conditions are met.
Status is the HTTP response status to set when Action is RecvSynth; ignored for other values of Action.
func (*DispositionSpec) DeepCopy ¶
func (in *DispositionSpec) DeepCopy() *DispositionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DispositionSpec.
func (*DispositionSpec) DeepCopyInto ¶
func (in *DispositionSpec) DeepCopyInto(out *DispositionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalTLSSpec ¶
type GlobalTLSSpec struct {
Timeout *GlobalTLSTimeoutSpec `json:"timeout,omitempty"`
}
GlobalTLSSpec specifies global properties of TLS.
func (*GlobalTLSSpec) DeepCopy ¶
func (in *GlobalTLSSpec) DeepCopy() *GlobalTLSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalTLSSpec.
func (*GlobalTLSSpec) DeepCopyInto ¶
func (in *GlobalTLSSpec) DeepCopyInto(out *GlobalTLSSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalTLSTimeoutSpec ¶
type GlobalTLSTimeoutSpec struct { Connect *int64 `json:"connect,omitempty"` Client *int64 `json:"client,omitempty"` Server *int64 `json:"server,omitempty"` }
GlobalTLSTimeoutSpec specifies global timeouts for TLS.
func (*GlobalTLSTimeoutSpec) DeepCopy ¶
func (in *GlobalTLSTimeoutSpec) DeepCopy() *GlobalTLSTimeoutSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalTLSTimeoutSpec.
func (*GlobalTLSTimeoutSpec) DeepCopyInto ¶
func (in *GlobalTLSTimeoutSpec) DeepCopyInto(out *GlobalTLSTimeoutSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MatchFlagsType ¶
type MatchFlagsType struct { MaxMem *uint64 `json:"max-mem,omitempty"` Anchor AnchorType `json:"anchor,omitempty"` CaseSensitive *bool `json:"case-sensitive,omitempty"` UTF8 bool `json:"utf8,omitempty"` PosixSyntax bool `json:"posix-syntax,omitempty"` LongestMatch bool `json:"longest-match,omitempty"` Literal bool `json:"literal,omitempty"` NeverCapture bool `json:"never-capture,omitempty"` PerlClasses bool `json:"perl-classes,omitempty"` WordBoundary bool `json:"word-boundary,omitempty"` }
MatchFlagsType is a collection of options that modify matching operations. CaseSensitive can be applied to both fixed string matches and regex matches; the remainder are for regex matches only. These correspond to flags for RE2 matching, and are used by the RE2 VMOD.
See: https://code.uplex.de/uplex-varnish/libvmod-re2
func (*MatchFlagsType) DeepCopy ¶
func (in *MatchFlagsType) DeepCopy() *MatchFlagsType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchFlagsType.
func (*MatchFlagsType) DeepCopyInto ¶
func (in *MatchFlagsType) DeepCopyInto(out *MatchFlagsType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MethodType ¶
type MethodType string
MethodType classifies the process by which a rewrite modifies the Target object.
type NameTTLFromType ¶
type NameTTLFromType string
NameTTLFromType is a enumeration of the ways that the name TTL specified in the BackendConfig can be evaluated with respect to DNS TTL.
type NameTTLSpec ¶
type NameTTLSpec struct { TTL *string `json:"ttl,omitempty"` From NameTTLFromType `json:"from,omitempty"` }
NameTTLSpec corresponds to spec.nameTtl in a BackendConfig, and configures the TTL for name lookups.
func (*NameTTLSpec) DeepCopy ¶
func (in *NameTTLSpec) DeepCopy() *NameTTLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NameTTLSpec.
func (*NameTTLSpec) DeepCopyInto ¶
func (in *NameTTLSpec) DeepCopyInto(out *NameTTLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProbeSpec ¶
type ProbeSpec struct { URL string `json:"url,omitempty"` Request []string `json:"request,omitempty"` ExpResponse *int32 `json:"expected-response,omitempty"` Timeout string `json:"timeout,omitempty"` Interval string `json:"interval,omitempty"` Initial *int32 `json:"initial,omitempty"` Window *int32 `json:"window,omitempty"` Threshold *int32 `json:"threshold,omitempty"` }
ProbeSpec specifies health probes for self-sharding and BackendConfig. see: https://code.uplex.de/uplex-varnish/k8s-ingress/blob/master/docs/self-sharding.md
func (*ProbeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProbeSpec.
type RecvReturn ¶
type RecvReturn string
RecvReturn is a name for the disposition of a client request. See: https://varnish-cache.org/docs/6.3/reference/states.html
type ReqCondition ¶
type ReqCondition struct { Values []string `json:"values,omitempty"` MatchFlags *MatchFlagsType `json:"match-flags,omitempty"` Count *int64 `json:"count,omitempty"` Comparand string `json:"comparand"` Compare CompareType `json:"compare,omitempty"` }
ReqCondition specifies (one of) the conditions that must be true if a client request disposition is to be executed.
func (*ReqCondition) DeepCopy ¶
func (in *ReqCondition) DeepCopy() *ReqCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReqCondition.
func (*ReqCondition) DeepCopyInto ¶
func (in *ReqCondition) DeepCopyInto(out *ReqCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequestDispSpec ¶
type RequestDispSpec struct { Conditions []ReqCondition `json:"conditions"` Disposition DispositionSpec `json:"disposition"` }
RequestDispSpec specifies the disposition of a client request when all of the Conditions are met.
func (*RequestDispSpec) DeepCopy ¶
func (in *RequestDispSpec) DeepCopy() *RequestDispSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestDispSpec.
func (*RequestDispSpec) DeepCopyInto ¶
func (in *RequestDispSpec) DeepCopyInto(out *RequestDispSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResultHdrType ¶
type ResultHdrType struct { Header string `json:"header"` Success string `json:"success"` Failure string `json:"failure"` }
ResultHdrType describes the configuration for writing a header as the result of an ACL comparison. Header is the header to write in VCL notation. Failure is the value to write on the fail condition, Success the value to write otherwise.
func (*ResultHdrType) DeepCopy ¶
func (in *ResultHdrType) DeepCopy() *ResultHdrType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResultHdrType.
func (*ResultHdrType) DeepCopyInto ¶
func (in *ResultHdrType) DeepCopyInto(out *ResultHdrType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RewriteRule ¶
type RewriteRule struct { Value string `json:"value,omitempty"` Rewrite string `json:"rewrite,omitempty"` }
RewriteRule describes conditions under which a rewrite is executed, and strings to be used for the rewrite. Elements of the Rules array for a RewriteSpec have this type.
Value is a string or pattern against which the Source object is compared. If Values is a regular expression, it has the syntax and semantics of RE2 (https://github.com/google/re2/wiki/Syntax).
Rewrite is a string to be used for the rewrite if the Value compares successfully. Depending on the RewriteSpec's Method, Rewrite may contain backreferences captured from a regex match.
func (*RewriteRule) DeepCopy ¶
func (in *RewriteRule) DeepCopy() *RewriteRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RewriteRule.
func (*RewriteRule) DeepCopyInto ¶
func (in *RewriteRule) DeepCopyInto(out *RewriteRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RewriteSpec ¶
type RewriteSpec struct { Rules []RewriteRule `json:"rules,omitempty"` MatchFlags *MatchFlagsType `json:"match-flags,omitempty"` Target string `json:"target,omitempty"` Source string `json:"source,omitempty"` Method MethodType `json:"method,omitempty"` Compare CompareType `json:"compare,omitempty"` VCLSub VCLSubType `json:"vcl-sub,omitempty"` Select SelectType `json:"select,omitempty"` }
RewriteSpec is the configuration for a set of rewrite rules; elements of the Rewrites array of a VarnishConfigSpec have this type.
Target is the object to be rewritten, in VCL notation. It can be the client or backend URL path, or a client or backend request or response header.
Source is the object against which comparisons are applied, and from which substrings may be extracted. It may have the same values as Target. If Source is the empty string, then the Source is the same as the Target, and the Target is rewritten in place.
func (*RewriteSpec) DeepCopy ¶
func (in *RewriteSpec) DeepCopy() *RewriteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RewriteSpec.
func (*RewriteSpec) DeepCopyInto ¶
func (in *RewriteSpec) DeepCopyInto(out *RewriteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SelectType ¶
type SelectType string
SelectType classifies the determination of the rewrite rule to apply if more than one of them in the Rules array compares successfully. This is only possible when the Method specifies a regex or prefix match.
The values Unique, First or Last may be used for both regex and prefix matches; the others may only be used for prefix matches.
type SelfShardSpec ¶
type SelfShardSpec struct { Probe *ProbeSpec `json:"probe,omitempty"` Rules []ShardRule `json:"rules"` Max2ndTTL string `json:"max-secondary-ttl,omitempty"` }
SelfShardSpec specifies self-sharding in a Varnish cluster. see: https://code.uplex.de/uplex-varnish/k8s-ingress/blob/master/docs/self-sharding.md
func (*SelfShardSpec) DeepCopy ¶
func (in *SelfShardSpec) DeepCopy() *SelfShardSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfShardSpec.
func (*SelfShardSpec) DeepCopyInto ¶
func (in *SelfShardSpec) DeepCopyInto(out *SelfShardSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShardRule ¶
type ShardRule struct { Conditions []ReqCondition `json:"conditions,omitempty"` Sharding ShardSpec `json:"shard"` }
ShardRule specifies a sharding configuration, and optional conditions under which the configuration holds.
func (*ShardRule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardRule.
type ShardSpec ¶
type ShardSpec struct { Key string `json:"key,omitempty"` Digest string `json:"digest,omitempty"` DefaultKey string `json:"defaultKey,omitempty"` PrimaryOnly bool `json:"primaryOnly,omitempty"` }
ShardSpec specifies the configuration details for sharding.
func (*ShardSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardSpec.
type TLSSpec ¶
type TLSSpec struct { Authority *string `json:"authority,omitempty"` MaxConn *int32 `json:"maxConn,omitempty"` StickTblSz *int32 `json:"stickTableSize,omitempty"` Verify *bool `json:"verify,omitempty"` CACrt string `json:"caCrt,omitempty"` CAIssuer string `json:"caIssuer,omitempty"` CASecret string `json:"caSecret,omitempty"` }
TLSSpec corresponds to spec.tls in a BackendConfig, to configure TLS onload -- TLS connections to IngressBackends using haproxy and the via feature of the klarlack implementation of Varnish. Only supported for klarlack.
func (*TLSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSpec.
type TemplateConfig ¶
type TemplateConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TemplateConfigSpec `json:"spec"` }
TemplateConfig is the client API for the TemplateConfig Custom Resource, which specifies template sources for the generation of VCL. This is only to be used with the controller in dev-mode, to rapidly change VCL generation during development and testing.
func (*TemplateConfig) DeepCopy ¶
func (in *TemplateConfig) DeepCopy() *TemplateConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateConfig.
func (*TemplateConfig) DeepCopyInto ¶
func (in *TemplateConfig) DeepCopyInto(out *TemplateConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemplateConfig) DeepCopyObject ¶
func (in *TemplateConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TemplateConfigList ¶
type TemplateConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []TemplateConfig `json:"items"` }
TemplateConfigList is a list of TemplateConfig Custom Resources.
func (*TemplateConfigList) DeepCopy ¶
func (in *TemplateConfigList) DeepCopy() *TemplateConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateConfigList.
func (*TemplateConfigList) DeepCopyInto ¶
func (in *TemplateConfigList) DeepCopyInto(out *TemplateConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemplateConfigList) DeepCopyObject ¶
func (in *TemplateConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TemplateConfigSpec ¶
type TemplateConfigSpec struct { Ingress string `json:"ingress,omitempty"` ACL string `json:"acl,omitempty"` Auth string `json:"auth,omitempty"` ReqDisp string `json:"reqDisp,omitempty"` Rewrite string `json:"rewrite,omitempty"` Shard string `json:"shard,omitempty"` }
TemplateConfigSpec corresponds to the spec section of a TemplateConfig Custom Resource.
func (*TemplateConfigSpec) DeepCopy ¶
func (in *TemplateConfigSpec) DeepCopy() *TemplateConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateConfigSpec.
func (*TemplateConfigSpec) DeepCopyInto ¶
func (in *TemplateConfigSpec) DeepCopyInto(out *TemplateConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VCLSubType ¶
type VCLSubType string
VCLSubType classifies the VCL subroutine in which a rewrite is executed.
type VarnishConfig ¶
type VarnishConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VarnishConfigSpec `json:"spec"` }
VarnishConfig is the client API for the VarnishConfig Custom Resource, which specifies additional configuration and features for Services running Varnish as an implementation of Ingress.
func (*VarnishConfig) DeepCopy ¶
func (in *VarnishConfig) DeepCopy() *VarnishConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VarnishConfig.
func (*VarnishConfig) DeepCopyInto ¶
func (in *VarnishConfig) DeepCopyInto(out *VarnishConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VarnishConfig) DeepCopyObject ¶
func (in *VarnishConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VarnishConfigList ¶
type VarnishConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []VarnishConfig `json:"items"` }
VarnishConfigList is a list of VarnishConfig Custom Resources.
func (*VarnishConfigList) DeepCopy ¶
func (in *VarnishConfigList) DeepCopy() *VarnishConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VarnishConfigList.
func (*VarnishConfigList) DeepCopyInto ¶
func (in *VarnishConfigList) DeepCopyInto(out *VarnishConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VarnishConfigList) DeepCopyObject ¶
func (in *VarnishConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VarnishConfigSpec ¶
type VarnishConfigSpec struct { Services []string `json:"services,omitempty"` SelfSharding *SelfShardSpec `json:"self-sharding,omitempty"` VCL string `json:"vcl,omitempty"` Auth []AuthSpec `json:"auth,omitempty"` ACLs []ACLSpec `json:"acl,omitempty"` Rewrites []RewriteSpec `json:"rewrites,omitempty"` ReqDispositions []RequestDispSpec `json:"req-disposition,omitempty"` TLS *VikingTLSSpec `json:"tls,omitempty"` }
VarnishConfigSpec corresponds to the spec section of a VarnishConfig Custom Resource.
func (*VarnishConfigSpec) DeepCopy ¶
func (in *VarnishConfigSpec) DeepCopy() *VarnishConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VarnishConfigSpec.
func (*VarnishConfigSpec) DeepCopyInto ¶
func (in *VarnishConfigSpec) DeepCopyInto(out *VarnishConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VikingTLSSpec ¶
type VikingTLSSpec struct {
Global *GlobalTLSSpec `json:"global,omitempty"`
}
VikingTLSSpec specifies configuration details of TLS offload, as well as global configuration.
func (*VikingTLSSpec) DeepCopy ¶
func (in *VikingTLSSpec) DeepCopy() *VikingTLSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VikingTLSSpec.
func (*VikingTLSSpec) DeepCopyInto ¶
func (in *VikingTLSSpec) DeepCopyInto(out *VikingTLSSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.