1. 03 Sep, 2021 12 commits
  2. 11 Aug, 2021 1 commit
    • Geoff Simmons's avatar
      Fix the haproxy container build. · a6a3d145
      Geoff Simmons authored
      For this it is necessary to abandon go get to download k8s-crt-dnldr,
      and use git clone && make instead. The reasons for that are detailed
      in commit message fe1fc4f of the k8s-crt-dnldr repo.
      a6a3d145
  3. 10 Aug, 2021 1 commit
  4. 09 Aug, 2021 1 commit
  5. 03 Aug, 2021 1 commit
  6. 03 Jun, 2021 1 commit
  7. 02 Jun, 2021 1 commit
    • Geoff Simmons's avatar
      Another breaking change to fix & complete self-sharding with conditions. · f2f71758
      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.
      f2f71758
  8. 28 May, 2021 2 commits
  9. 27 May, 2021 5 commits
  10. 10 May, 2021 3 commits
    • Geoff Simmons's avatar
    • Geoff Simmons's avatar
    • Geoff Simmons's avatar
      Add the conditions field to VarnishConfig.self-sharding. · 075c5b26
      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.
      075c5b26
  11. 29 Apr, 2021 4 commits
  12. 28 Apr, 2021 2 commits
  13. 26 Apr, 2021 5 commits
  14. 22 Apr, 2021 1 commit