SSS, mk.2 – Magic syncing x2
The aim of SSS mk. 2 is to fix the deficiencies of mk. 1: namely, the use of pacman and PKGBUILDs for a job they really aren’t designed for.
The detailed aims are mostly the same as those for SSS mk. 1, with a few changes:
- Fast – written in Go, C, C++, or a similar compiled language. Not python, because it needs to run in the background on limited hardware like my Toshiba.
- Automated – automatic syncing of the state files, like with immix.
- Manages packages and configuration – what SSS does currently 🙂
- Flexible – can handle my varied computers, and maybe different operating systems? (Mac OSX? Linux distros?).
- Configured by plain text files stored somewhere obvious (/var/lib/<syncing_system> or similar).
- Handles roll outs easily – something SSS does well at the moment :). Probably more complex than SSS, but I could make a script that automated most of it. Hopefully.
- Manages patches to files – configuration changes. Because the configuration files are different, a simple patch system might not work. I’ll have to consider something else.
- Handles more complex changes – like adding new users.
Possible extra goals:
- Automatically handles ‘global’ activities – like daily updates.
- Messages me if something goes wrong, like an update fails, or conflicting things need merging by hand…
- Looks after disk usage, makes sure all of the services are running as expected.
The possible goals may be better handled by another daemon, or a helper script.
We’ll see what happens…