libreschool-client-manager/README.md
Paolo Asperti 3230e28bc6
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
per-host log files
2020-04-02 01:24:30 +02:00

87 lines
1.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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):
```bash
# signal-event client-adopt pc-99 username password
```
Reboot a machine:
```bash
# signal-event client-reboot pc-01
```
Reboot all machines:
```bash
# signal-event client-reboot-all
```
Force reconfiguration of a machine:
```bash
# signal-event client-reconfigure pc-02
```
Force reconfiguration of all machines:
```bash
# signal-event client-reconfigure-all
```
Shutdown a machine:
```bash
# signal-event client-shutdown pc-02
```
Shutdown all machines:
```bash
# signal-event client-shutdown-all
```
Update source configuration timestamp:
```bash
# signal-event client-update-lastconfig
```
Wakeup a machine:
```bash
# signal-event client-wake pc-02
```
Wakeup all machines:
```bash
# 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.
```bash
# 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