libreschool-client-manager/README.md

87 lines
1.6 KiB
Markdown
Raw Permalink 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