v1alpha1

package
v0.0.0-...-cc11b02 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2023 License: BSD-2-Clause Imports: 4 Imported by: 0

README

GoDoc

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

View Source
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"
)
View Source
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"
)
View Source
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"
)
View Source
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"
)
View Source
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"
)
View Source
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"
)
View Source
const (
	// RoundRobin director
	RoundRobin DirectorType = "round-robin"
	// Random director
	Random = "random"
	// Shard director
	Shard = "shard"
)
View Source
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

View Source
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
)
View Source
var SchemeGroupVersion = schema.GroupVersion{
	Group:   ving.GroupName,
	Version: "v1alpha1",
}

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 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

func (in *ACLSpec) DeepCopy() *ACLSpec

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

func (*ACLSpec) DeepCopyInto

func (in *ACLSpec) DeepCopyInto(out *ACLSpec)

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

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

func (in *AuthSpec) DeepCopy() *AuthSpec

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

func (*AuthSpec) DeepCopyInto

func (in *AuthSpec) DeepCopyInto(out *AuthSpec)

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

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

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

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

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

func (in *ProbeSpec) DeepCopy() *ProbeSpec

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

func (*ProbeSpec) DeepCopyInto

func (in *ProbeSpec) DeepCopyInto(out *ProbeSpec)

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

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

func (in *ShardRule) DeepCopy() *ShardRule

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

func (*ShardRule) DeepCopyInto

func (in *ShardRule) DeepCopyInto(out *ShardRule)

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

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

func (in *ShardSpec) DeepCopy() *ShardSpec

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

func (*ShardSpec) DeepCopyInto

func (in *ShardSpec) DeepCopyInto(out *ShardSpec)

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

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

func (in *TLSSpec) DeepCopy() *TLSSpec

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

func (*TLSSpec) DeepCopyInto

func (in *TLSSpec) DeepCopyInto(out *TLSSpec)

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

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.

Jump to

Keyboard shortcuts

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