# Render-only overlay for ci/run-httproute-match-test.sh, applied LAST. # # Its one job is to put this chart into Gateway mode, because the convention # ships with httpRoute.enabled: false and the test would otherwise be green # over nothing. A chart that has an overlay here and still renders no # HTTPRoute FAILS the test - that is the whole point of the file existing. # # An overlay and not a change to ci/freesailarr/test-values.yaml: the # install-test runs exactly ONE configuration per chart, and this chart's # fixture is the expensive one - it brings up a real Wireguard tunnel so that # ten containers can become Ready. Switching it into Gateway mode would trade # its Ingress objects for a CRD schema cyberchef's fixture already exercises # against the real Gateway-API CRDs. The install keeps the Ingresses; the # routes are held here, at render level, which is where their two silent # failure modes live. # # ingress.enabled: false is not optional here - ingress.enabled is this chart's # MASTER switch and defaults to true, so without this line the chart aborts its # own render with both modes on. # # WHAT THIS OVERLAY ACTUALLY COVERS, which is more than one route: # # - ingress.host comes from the fixture (freesailarr.example.com), so the # SHARED-domain shape is what renders: one HTTPRoute with one rule per app. # - qbittorrent is enabled in the fixture, so its rule is in that route WITH # the URLRewrite filter - the per-rule equivalent of the rewrite-target # annotation, and the reason this chart needs no second routing object in # this mode. # - mediathekarr is enabled in the fixture with its ingress off, so the # per-app selector is exercised in the negative direction too. # - every rule's backendRef is checked against the per-app Services of the # same render, which is where this chart differs from the rest of the # sweep: it has one Service per app and the route carries the port NUMBER, # not the name the Ingress uses. # # There is no httpRoute.hostnames key in this chart (see values.yaml): the # hostnames come from ingress.host and .ingress.host, which the fixture # already sets. # # A SECOND APP IS GIVEN A HOST OF ITS OWN so the MIXED shape is covered as # well: bazarr then renders its own route (ci-freesailarr-bazarr-httproute) # while the rest stay on the shared host. Without it the per-app branch of the # template would never be entered by any test. Bazarr is the right one to move # because its sub-path mode needs a manual step inside the application anyway. ingress: enabled: false httpRoute: enabled: true parentRefs: - name: public namespace: gateway sectionName: https bazarr: ingress: host: bazarr.ci.local