Documentation of the ioslaves suite

ioslaves is modualar, secure, and service-oriented hosting-machine management system for decentralised self-hosting.

  • ioslavesd : main deamon, running on each machine
    • Service-oriented : systemd services, plain old deamons, plugin services
    • Modular : plugin services take advantage of ioslavesd features and hence do not have to re-implement control interface
    • Strong authentification with symectrical keys and permissions for each master, with a system of authorized key sending
    • Health monitoring (used by network control page), real-time logging (used by macgui)
    • Automatic shutdown of the machine
  • ioslaves-master
    • Control program for slaves with symetric key authentication methods :
      • Raw key storage
      • Arduino external key storage
    • macgui : usefull systray graphical interface
      • Slave status + token generation for the network control page
      • Realtime colored and selective logging
      • SSH/SSHFS quick profiles with automatic ssh service start/stop
  • Network control page + ioslstatd : Network status and management master page
    • Real-time status with graphs via ioslstatd and websocket
    • Slaves/services/ports status and management; publicly-wakable machines…
    • Multiple factor authentication (dynamic password, token got with ioslaves-master via ioslavesd-tokgen…)
  • ioslavesd-wake-gateway : just a dynslaves slave wake order forwarder service
  • ioslavesd-xifnetdyndns : dynamic DNS system for slaves, this service running with NSD is contacted by ioslaves periodically to check for external IP change; also provides a dynamic SRV entries mechanism