There must be better alternatives, current options include:
- Replace unionfs with aufs which has less users yelling at it and more developers.
- Use a filesystem like btrfs which has snapshots. This changes the model and makes api's like "what changed?" hard to implement.
- Move to a pure userspace model using git. The problem here is that git as currently written is meant for users not transactions.
- Use combination of copy, bind mount, and rsync.
- Use a database for configuration. This is easier for general queries but is the most work. Conversion from existing format would be a pain.