I am using Nginx as in an Ingress Gateway to route external traffic to the services that are running inside of a Consul Connect Service Mesh per the details in this discussion. This works well for most cases. However, Consul seems to evaluate the status of all checks registered for a service when determining whether to return the address to the upstream service proxy, which is problematic when you can have multiple levels of checks (e.g. L1, L2 and L3) and the L1 check is really the only check that we want to use when determining if a service is “up” or not. Right now, if the L2 or L3 checks are in warning or failed status, Consul will not return the proxy address to populate the Nginx configuration file.
In Nomad, there is the ability to mark a check as ignorable. Can we do something in Consul to get around this?