Missed the whole consul part of the question. To register services you can:
1. You can use ansible module [0]
2. Use a template to create json files or suing http API [1]
3. Registrator. Project is old but still works well. [2]
> Do the services need to be modified to speak with consul directly?.
I am not sure that i get you, but had no such need when migrating legacy stuff.