# Conflict Detection

## Overview
The primary aim of this service is to provider loopback detection in policies by calculating the ingress and egress and comparing them to make sure that it doesn't cause infinite loops for traffic.

---

## Technology
- **Elastic**: Need an instance of elastic, this is where the policies are stored and what the service queries against.
- **RabbitMQ**: This service only reacts to change events from ziti, it never polls/reads from the controller unless it's notified of a change through rabbit.

---

## Local Testing
- Networks need to be installed **with** monitoring enabled which is normally turned off.
- Elastic doesn't need any preparation, as long as it's running without any auth enabled.
- RabbitMQ needs several changes. They are described here: https://netfoundry.atlassian.net/wiki/spaces/OSS/pages/3598286849/Ziti+Events+in+Local+Environments