Commit 7c568dce authored by Geoff Simmons's avatar Geoff Simmons

Only one copy of the VarnishConfig CRD.

parent 7c22f4d5
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: varnishconfigs.ingress.varnish-cache.org
spec:
group: ingress.varnish-cache.org
names:
kind: VarnishConfig
listKind: VarnishConfigList
plural: varnishconfigs
singular: varnishconfig
shortNames:
- vcfg
scope: Namespaced
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true
validation:
openAPIV3Schema:
required:
- spec
properties:
spec:
required:
- services
properties:
services:
type: array
minItems: 1
items:
type: string
self-sharding:
type: object
required:
- rules
properties:
probe:
type: object
properties:
timeout:
type: string
pattern: '^\d+(\.\d+)?(ms|[smhdwy])$'
interval:
type: string
pattern: '^\d+(\.\d+)?(ms|[smhdwy])$'
initial:
type: integer
minimum: 0
window:
type: integer
minimum: 0
maximum: 64
threshold:
type: integer
minimum: 0
maximum: 64
max-secondary-ttl:
type: string
pattern: '^\d+(\.\d+)?(ms|[smhdwy])$'
rules:
type: array
minItems: 1
items:
type: object
required:
- shard
properties:
shard:
type: object
properties:
primaryOnly:
type: boolean
key:
type: string
pattern: "^client\\.identity$|^req\\.(url|http\\.[a-zA-Z0-9!#$%&'*+.^_`|~-]+)$"
digest:
type: string
enum:
- CRC32
- ICRC32
- MD5
- RS
- SHA1
- SHA224
- SHA256
- SHA384
- SHA512
- SHA3_224
- SHA3_256
- SHA3_512
conditions:
type: array
minItems: 1
items:
type: object
required:
- comparand
properties:
comparand:
type: string
pattern: "^req\\.(url|method|proto|http\\.[a-zA-Z0-9!#$%&'*+.^_`|~-]+)$"
compare:
type: string
enum:
- equal
- not-equal
- match
- not-match
- prefix
- not-prefix
- exists
- not-exists
values:
type: array
minItems: 1
items:
type: string
match-flags:
type: object
properties:
max-mem:
type: integer
minimum: 0
anchor:
type: string
enum:
- none
- start
- both
utf8:
type: boolean
posix-syntax:
type: boolean
longest-match:
type: boolean
literal:
type: boolean
never-capture:
type: boolean
case-sensitive:
type: boolean
perl-classes:
type: boolean
word-boundary:
type: boolean
auth:
type: array
minItems: 1
items:
type: object
required:
- realm
- secretName
properties:
realm:
type: string
minLength: 1
secretName:
type: string
minLength: 1
type:
enum:
- basic
- proxy
type: string
utf8:
type: boolean
conditions:
type: array
minItems: 1
items:
type: object
required:
- comparand
- value
properties:
comparand:
type: string
pattern: "^req\\.(url|http\\.[a-zA-Z0-9!#$%&'*+.^_`|~-]+)$"
compare:
enum:
- equal
- not-equal
- match
- not-match
type: string
value:
type: string
minLength: 1
acl:
type: array
minItems: 1
items:
type: object
required:
- name
- addrs
properties:
name:
type: string
minLength: 1
addrs:
type: array
minItems: 1
items:
type: object
required:
- addr
properties:
addr:
type: string
pattern: '^[^"]+$'
mask-bits:
type: integer
minimum: 0
maximum: 128
negate:
type: boolean
type:
enum:
- whitelist
- blacklist
type: string
fail-status:
type: integer
minimum: 0
maximum: 599
comparand:
type: string
pattern: "^((client|server|local|remote)\\.ip|xff-(first|2ndlast)|req\\.http\\.[a-zA-Z0-9!#$%&'*+.^_`|~-]+)$"
conditions:
type: array
minItems: 1
items:
type: object
required:
- comparand
- value
properties:
comparand:
type: string
pattern: "^req\\.(url|http\\.[a-zA-Z0-9!#$%&'*+.^_`|~-]+)$"
compare:
enum:
- equal
- not-equal
- match
- not-match
type: string
value:
type: string
minLength: 1
result-header:
type: object
required:
- header
- success
- failure
properties:
header:
type: string
pattern: "^req\\.http\\.[a-zA-Z0-9!#$%&'*+.^_`|~-]+$"
success:
type: string
minLength: 1
failure:
type: string
minLength: 1
vcl:
type: string
minLength: 1
rewrites:
type: array
minItems: 1
items:
type: object
required:
- target
- method
properties:
target:
type: string
pattern: "^(be)?(req\\.url|re(q|sp)\\.http\\.[a-zA-Z0-9!#$%&'*+.^_`|~-]+)$"
source:
type: string
pattern: "^(be)?(req\\.url|re(q|sp)\\.http\\.[a-zA-Z0-9!#$%&'*+.^_`|~-]+)$"
method:
type: string
enum:
- replace
- sub
- suball
- rewrite
- append
- prepend
- delete
select:
type: string
enum:
- unique
- first
- last
- exact
- longest
- shortest
compare:
type: string
enum:
- match
- equal
- prefix
vcl-sub:
type: string
enum:
- recv
- pipe
- pass
- hash
- purge
- miss
- hit
- deliver
- synth
- backend_fetch
- backend_response
- backend_error
rules:
type: array
minItems: 1
items:
type: object
properties:
rewrite:
type: string
minLength: 1
value:
type: string
minLength: 1
match-flags:
type: object
properties:
max-mem:
type: integer
minimum: 0
anchor:
type: string
enum:
- none
- start
- both
utf8:
type: boolean
posix-syntax:
type: boolean
longest-match:
type: boolean
literal:
type: boolean
never-capture:
type: boolean
case-sensitive:
type: boolean
perl-classes:
type: boolean
word-boundary:
type: boolean
req-disposition:
type: array
minItems: 1
items:
type: object
required:
- conditions
- disposition
properties:
conditions:
type: array
minItems: 1
items:
type: object
required:
- comparand
properties:
comparand:
type: string
pattern: "^req\\.(url|method|proto|esi_level|restarts|http\\.[a-zA-Z0-9!#$%&'*+.^_`|~-]+)$"
compare:
enum:
- equal
- not-equal
- match
- not-match
- prefix
- not-prefix
- exists
- not-exists
- greater
- greater-equal
- less
- less-equal
type: string
values:
type: array
minItems: 1
items:
type: string
count:
type: integer
minimum: 0
match-flags:
type: object
properties:
max-mem:
type: integer
minimum: 0
anchor:
type: string
enum:
- none
- start
- both
utf8:
type: boolean
posix-syntax:
type: boolean
longest-match:
type: boolean
literal:
type: boolean
never-capture:
type: boolean
case-sensitive:
type: boolean
perl-classes:
type: boolean
word-boundary:
type: boolean
disposition:
type: object
required:
- action
properties:
action:
enum:
- hash
- pass
- pipe
- purge
- synth
- fail
- restart
type: string
status:
type: integer
minimum: 200
maximum: 599
reason:
type: string
minLength: 1
status:
acceptedNames:
kind: VarnishConfig
listKind: VarnishConfigList
plural: varnishconfigs
singular: varnishconfig
shortNames:
- vcfg
storedVersions:
- v1alphav1
conditions: []
../charts/viking-controller/crds/varnishcfg-crd.yaml
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment