====== 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 : [[xifnet:ioslaves:api|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 [[https://www.nlnetlabs.nl/projects/nsd/|NSD]] is contacted by ioslaves periodically to check for external IP change; also provides a dynamic SRV entries mechanism