This is complicated because knative will create a new revision for the update image, which will have a new corresponding service, invalidating the one we use in c8s-virtual-service.yaml.
Until knative supports wildcard domains, we need to either:
update the virtual service to use the new service whenever we update to a new image/revision
have our virtual service rewrite the request's host/authority header to c8s.c8s and forward to cluster-local-gateway.istio-system.svc.cluster.local which will route to the desired service for the new revision's pod. However, this causes us to lose the subdomain (manifest hash), so we'd have to store that somewhere else, like header... :/
This is complicated because knative will create a new revision for the update image, which will have a new corresponding service, invalidating the one we use in
c8s-virtual-service.yaml
.Until knative supports wildcard domains, we need to either:
c8s.c8s
and forward tocluster-local-gateway.istio-system.svc.cluster.local
which will route to the desired service for the new revision's pod. However, this causes us to lose the subdomain (manifest hash), so we'd have to store that somewhere else, like header... :/