- 03 Aug, 2021 1 commit
-
-
Geoff Simmons authored
Allows custom vcl_recv to be executed when requests are forwarded to the primary.
-
- 03 Jun, 2021 1 commit
-
-
Geoff Simmons authored
-
- 02 Jun, 2021 1 commit
-
-
Geoff Simmons authored
The self-sharding field in VarnishConfig now has a mandatory field rules. This is an array of at least one object with a mandatory field shard and an optional field conditions. spec.self-sharding.rules[n].shard configures sharding in the fields key, digest and primaryOnly (all optional). spec.self-sharding.rules[n].conditions, if specified, is an array of at least one condition, which specifies a boolean expression. It is the same as conditions used for other contexts such as rewrites. The rules array is evaluated in order as an if-elsif-else sequence. This means that if any element of the array specifies no conditions, it MUST be the last rule in the array. In an array of length > 1, it becomes the else case. This constraint is trivially satisfied if there is only one rule. It is currently *not* enforced (would be suitable for a webhook validation). The fields probe and max2ndttl are now top-level fields under self-sharding, both optional.
-
- 28 May, 2021 2 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
Closes #42
-
- 27 May, 2021 5 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 10 May, 2021 3 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
Geoff Simmons authored
Currently only implemented to kubectl-style deployments. Helm support to be added in the next commits. This is a breaking change for the self-sharding configuration. Configs previously expressed in the self-sharding object are now moved to self-sharding.shard. In addition, the optional array self-sharding.conditions may express conditions under which self-sharding logic is executed. The conditions array has the same syntax and semantics as for req-disposition. XXX: there is some DRY that needs to be refactored away. - We currently have two internal means of expressing conditions under which something happens (translated to if-clauses with matching operations and the like in VCL): Condition and the legacy MatchTerm, in both the k8s VarnishConfig class and the spec type for VCL templating. These should be unified to Condition. - The code for interpreting Conditions for the k8s object in pkg/controller is in part repeated for self-sharding and req-disposition. These should be encapsulated in a common function. - Template generation for the if-clauses implementing conditions is repeated in req-dispostiion and currently in two places for self-sharding. This should be a common text/template object. While here, move some of the code about self-sharding and conditions from varnishconfig.go to ingress.go. Because it's actually about the VarnishConfig Custom Resource, and in a continuing effort to reduce the oversized ingress.go source.
-
- 29 Apr, 2021 4 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
We must now pass in the Pod namespace and name via the downward API, because the varnishd start script requires it.
-
Geoff Simmons authored
-
Nils Goroll authored
-
- 28 Apr, 2021 2 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 26 Apr, 2021 5 commits
-
-
Geoff Simmons authored
Tests self-sharding with primary-only and using client.identity as the shard key.
-
Geoff Simmons authored
Updated code contributed by @slink.
-
Geoff Simmons authored
This is to ensure matches against server.identity as part of the sharding implementation. VCL backend names generated for Varnish backends must match this pattern.
-
Geoff Simmons authored
-
Geoff Simmons authored
-
- 22 Apr, 2021 6 commits
-
-
Geoff Simmons authored
-
Geoff Simmons authored
Forgot it in the earlier commit.
-
Nils Goroll authored
-
Geoff Simmons authored
-
Geoff Simmons authored
This functions exactly like the recently added feature for the viking service. The probes are fixed, but properties such as timeouts, delays, and success/failure thresholds can be set in values.yaml for the controller. k8s defaults hold for values that are not set. Closes #41
-
Geoff Simmons authored
-
- 19 Apr, 2021 1 commit
-
-
Nils Goroll authored
-
- 18 Apr, 2021 3 commits
-
-
Nils Goroll authored
I was not aware that they obviously are bashisms
-
Nils Goroll authored
-
Nils Goroll authored
-
- 12 Apr, 2021 4 commits
-
-
Nils Goroll authored
-
Nils Goroll authored
2.0 is no longer available on ftp.debian.org/debian/dists/buster-backports/
-
Nils Goroll authored
I do not understand why ./bootstrap.sh ends up as 444 when it is checked into git as 755
-
Nils Goroll authored
https://gitlab.com/uplex/varnish/k8s-ingress/-/jobs/1171216645 $ go get -d github.com/slimhazard/gogitversion go: downloading github.com/slimhazard/gogitversion v0.0.0-20180821215210-78330f1af7fc go: github.com/slimhazard/gogitversion upgrade => v0.0.0-20180821215210-78330f1af7fc $ pushd $GOPATH/pkg/mod/github.com/slimhazard/gogitversion* /go/pkg/mod/github.com/slimhazard/gogitversion@v0.0.0-20180821215210-78330f1af7fc /builds/uplex/varnish/k8s-ingress $ make install go generate gogitversion.go:40: running "./bootstrap.sh": fork/exec ./bootstrap.sh: permission denied make: *** [Makefile:30: all] Error 1
-
- 01 Apr, 2021 1 commit
-
-
Geoff Simmons authored
The probes themselves are fixed, but it is now possible to set such properties as timeouts, delays, success/failure thresholds etc in values.yaml. k8s defaults hold for values that are not set. Closes #41
-
- 22 Mar, 2021 1 commit
-
-
Nils Goroll authored
-