1. 03 Nov, 2021 23 commits
  2. 22 Oct, 2021 2 commits
  3. 20 Sep, 2021 1 commit
  4. 17 Sep, 2021 7 commits
    • Geoff Simmons's avatar
      Update the haproxy version. · 79061006
      Geoff Simmons authored
      79061006
    • Geoff Simmons's avatar
      Fix an e2e test when the deployment method is kubectl. · dfab0df7
      Geoff Simmons authored
      The replica scaling test for self-sharding requires the Deployment
      name "varnish-ingress" for the viking service.
      dfab0df7
    • Geoff Simmons's avatar
      WIP: implement the authority field for TLS onload, to set the SNI. · ab2b74c6
      Geoff Simmons authored
      This is the SNI sent in the client TLS connection to a backend.
      
      We use VMOD dynamic for backends represented by an ExternalName
      Service (likely the common use case for TLS onload). VMOD dynamic
      does not have the authority field that klarlack makes available
      for standard backends. But if the host_header field is set for
      a VMOD dynamic director, the VMOD uses that value for the SNI.
      
      So if the BackendConfig authority field is set, we also assign its
      value to the host_header field. Since BackendConfig also has a
      separate field for host_header, both of them could be conceivably
      set to different values. If we find that the two fields are set
      to non-empty, conflicting values, the controller emits a
      SyncFatalError, and the BackendConfig is not synced.
      ab2b74c6
    • Geoff Simmons's avatar
      3a8c3017
    • Geoff Simmons's avatar
    • Geoff Simmons's avatar
      WIP: initial, limited implementation of TLS onload. · d72a0d36
      Geoff Simmons authored
      This uses haproxy for TLS connections to IngressBackends, and the
      via feature of the klarlack implementation of Varnish. See:
      
      https://github.com/varnishcache/varnish-cache/pull/3128
      
      Adds the spec.tls object to the BackendConfig CRD, which configures
      TLS onload for a backend.
      
      Limitations: currently only verify:false and the maxConn settings
      are implemented. Specification of CA certificates and the stick
      table configuration for haproxy are not yet implemented. Currently
      TLS onload may be only specified for one backend (no more than one
      BackendConfig).
      
      Adds the CLI option -varnishImpl to the controller. TLS onload is
      only supported if this option is set to "klarlack". Otherwise, the
      presence of the tls object in a BackendConfig leads to a SyncFatalError,
      with a message that it's only supported for klarlack, and the
      BackendConfig is not synced.
      
      If the backend Service specified for TLS onload has type ExternalName,
      then 3 server instances are configured for the haproxy backend. This
      value is currently hard-wired, and may be made configurable in a future
      iteration. For any other Service type, there are as many haproxy server
      instances as there are Endpoints (Pods) in the k8s cluster.
      
      If maxConn is not specified in the BackendConfig, it defaults to
      2000 (the haproxy default).
      d72a0d36
    • Geoff Simmons's avatar
  5. 03 Sep, 2021 7 commits