1. 19 Aug, 2020 8 commits
  2. 18 Aug, 2020 5 commits
    • Geoff Simmons's avatar
    • Geoff Simmons's avatar
      Update helm charts for the refactored TLS solution. · 59afb5d6
      Geoff Simmons authored
      Ref #36
      59afb5d6
    • Geoff Simmons's avatar
      Refactor the mechansim for making TLS Secrets available to haproxy. · b5d6cef1
      Geoff Simmons authored
      The haproxy container now runs the app k8s-crt-dnldr, and no longer
      runs http-faccess. See https://code.uplex.de/k8s/k8s-crt-dnldr
      
      k8s-crt-dnldr runs a k8s client that reads Secrets, filtered for
      RLS (type:kubernetes.io/tls). It provides a REST API with which a
      client can instruct it to write (PUT) or remove (DELETE) a pem
      file (concatenated crt and key) corresponding to a TLS Secret in
      the cluster. By default, these are written to /etc/ssl/private,
      where haproxy reads certificates. After the next haproxy reload
      following the write or delete, haproxy will use or not use the
      certificate.
      
      Once k8s-crt-dnldr has been instructed to store a Secret, it
      responds to Update and Delete events for the Secret by updating
      or deleting the file on its own. The controller currently sends
      commands to do so as well, but in practice the k8s-crt-dnldr has
      already changed the certificate itself (this is not an error).
      
      This means that viking Pods must have RBAC rights to read
      Secrets (the fact that these are filtered for TLS is not
      expressible in RBAC). That in turn means that viking Pods
      must be assigned a service account name, to get the RBAC
      role binding.
      
      The controller no longer needs RBAC write privileges for Secrets,
      and the "tls-cert" Secret with the hard-wired name is no longer
      necessary. The Secret volume that projects "tls-cert" into viking
      Pods has been removed.
      
      The port faccess in the headless Service for viking admin
      has been renamed to crt-dnldr.
      
      Addresses #36
      b5d6cef1
    • Geoff Simmons's avatar
      Add icon addresses to the helm charts. · 59d432fe
      Geoff Simmons authored
      59d432fe
    • Geoff Simmons's avatar
      38270bfb
  3. 17 Aug, 2020 8 commits
  4. 14 Aug, 2020 1 commit
  5. 13 Aug, 2020 1 commit
  6. 05 Aug, 2020 1 commit
  7. 23 Jul, 2020 1 commit
  8. 21 Jul, 2020 2 commits
  9. 20 Jul, 2020 1 commit
  10. 10 Jul, 2020 7 commits
  11. 09 Jul, 2020 4 commits
    • Geoff Simmons's avatar
      Internal renaming to reflect changing "readiness" to "configured". · f8220d1c
      Geoff Simmons authored
      VCL label and source file names changed.
      f8220d1c
    • Geoff Simmons's avatar
      Empty response bodies for readiness and configured checks. · 159f919a
      Geoff Simmons authored
      Update comments and fix up whitespace while we're here.
      159f919a
    • Geoff Simmons's avatar
      Varnish Pods are Ready when Varnish is running, even without an Ingress. · ba45234c
      Geoff Simmons authored
      Add the port "configured" to the headless Varnish admin Service,
      which responds with status 200 when an Ingress is configured, 503
      otherwise. This replaces the previous purpose of the Ready state,
      to determine if the Pods are currently implementing an Ingress.
      
      This is actually a small change to the Varnish images and the admin
      Service, but a wide-ranging change for testing, since we now check
      the configured port before verifying a configuration (rather than
      wait for the Ready state). Common test code is now in the bash
      library test/utils.sh.
      
      This commit also includes a fix for the repeated test of the
      ExternalName example, which verifies that the changed IP addresses
      for ExternalName Services are picked up by VMOD dynamic. The test
      waits for the Ready state of the IngressBackends. The second time
      around, kubectl wait sometimes picked up previous versions of the
      Pods that were in the process of terminating. These of course never
      became Ready, and the wait timed out. Now we wait for those Pods
      to delete before proceeding with the second test.
      ba45234c
    • Geoff Simmons's avatar
  12. 07 Jul, 2020 1 commit