# libreschool-client-manager This software uses Ansible Playbooks to configure all connected clients. ## Available Events Adopt a machine (which should already exist in the *hosts* db): # signal-event client-adopt pc-99 username password Reboot a machine: # signal-event client-reboot pc-01 Reboot all machines: # signal-event client-reboot-all Force reconfiguration of a machine: # signal-event client-reconfigure pc-02 Force reconfiguration of all machines: # signal-event client-reconfigure-all Shutdown a machine: # signal-event client-shutdown pc-02 Shutdown all machines: # signal-event client-shutdown-all Update source configuration timestamp: # signal-event client-update-lastconfig Wakeup a machine: # signal-event client-wake pc-02 Wakeup all machines: # signal-event client-wake-all ### Support for a group of machines If you defined a group of machines, you can send signals to groups also. # db hosts set epoptes_lab1 group members 'pc-01 pc-02 pc-03' master pc-01 # signal-event client-wake epoptes_lab1 ## E-smith DB reference The general configuration is stored in the *client-manager* key. Properties of such key are: * *lastConfig*: timestamp of the actual configuration set * *ManagementKeyFile*: management user's SSH public key * *ManagementPrivateKeyFile*: management user's SSH private key All host-specific information are stored in the *hosts* db. For each host we have: * *sshUser*: ssh user used to connect to the host. This is set when SSH adoption is successful