Consul ConnectAware skips L7 routing?

Hey folks,

Just wanted to confirm my understanding of how the ConnectAware behavior works with Traefik. When this is enabled, Traefik will handle load balancing requests and communicate directly with a service's instance, correct?

For example, if I add service splitters/routers (Configuration Entry Kind: Service Splitter | Consul by HashiCorp), they will effectively be ignored since Traefik is the one deciding which instance to send traffic to?

Yes, this is correct. You will need to configure splitting, routing, etc directly on Traefik using configuration instead of using Consul's configuration entries.

@blake Which is not the same. For example, with a consul resolver you can define a consul datacenter failover, which is not possible with traefik as it is not aware of the consul wan federation setup. :confused:

@evandam Have you every found a good solution for this?
I am using Consul Connect which is extremely versatile with the ingress gateway(L7 routing, splitting, resolvers and failover is awesome), but with the ingress gateway I cannot configure custom TLS certs like I can with Traefik.
Consul API gateway looks promising but it is not available on Nomad just yet. :frowning:

Hey @vvarga007 I moved away from this and never ended up getting a solid solution. If I recall you could technically create a Consul ingress gateway and force Traefik through that, but it defeats purpose of the Connect-aware functionality and it feels pretty clunky.

Indeed there is no solid solution. You could have Traefik in front of the ingress gateway, so L7 routing could work. But in case u have to give up the global failover functionality achieved by consul prepared queries. Either way, there are sacrifices....