SSS, mk.2 – Magic syncing x2

by hobbitalastair

The replacement date for SSS looms on the horizon – whenever I get around to it. So, it looms somewhere over the horizon… maybe I am just experiencing a Fata Morgana 🙂

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…