Since #5 , the filebeat.service is a cmd.run without unless which means it's run on every highstate run. As I'm running highstate every 5 minutes, filebeat restarts every 5 minutes.
I changed cmd.run to cmd.wait locally in my repo but that unfortunately means the service is only started on config file changes (because of watch_in) but not if it is not running e.g. because of a crash. I'm not sure what a good way to solve this would look like.