I'm using rudder (https://www.rudder.io/), it's based on cfengine (https://cfengine.com/). But this is more enterprise ready, you'll be fine with lightweight ansible. Nice thing is, that rudder ensures compliance by periodically executing all defined rules on all endpoints.