State your intentions
Now that we understand how our applications will communicate over the service mesh, we need to understand how to configure and manage that communication. We may want to think that all of our services will live in harmony, and only those that should speak to each other shall do so. However, as altruistic as this idea is, it isn't very realistic. Therefore, we need a mechanism to easily define what applications can, and more importantly cannot, access one another within the Consul system. For this, we use what is called a Consul intention.
The nice thing about where we are with Consul services is that each service is defined by a human-understandable name. I would strongly recommend clear and distinct service names within any system simply to avoid ambiguity. However, that effort provides some additional comfort in that we can now specify intentions via the service name. If you've ever had to deal with any sort of IP-based firewall, you should find...