Confd is a general-purpose tool that has shown some issues at our scale or when coordination is needed in any form. Also, it has some inherent limitations I came to hate.
I want to build a simple, lightweight "conftool agent" that does what follows:
- takes simple ini files as configuration; such files should be one per service, and can describe various files to create.
- generates the final service file from a simple templating system - jinja2 should be ok
- optionally verify syntax of all the generated files
- optionally restarts the service
- does nothing to the file on error
- does not write if a conftool write lock is acquired by some tool, to allow "transactions"
- responds reliably to changes in etcd within 5 seconds of the lock being released
in my plans, such a tool should replace confd and give us immediate benefits.