mirror of https://git.48k.eu/ogcli/
172 lines
3.1 KiB
Markdown
172 lines
3.1 KiB
Markdown
|
|
# ogCLI
|
|
|
|
Manage your OpenGnsys environment from your command line. A CLI for the ogServer
|
|
REST API.
|
|
|
|
## Installation
|
|
|
|
This tool is expected to be executed from the OpenGnsys installation environment.
|
|
|
|
**Before running any command copy `ogcli.json` inside `/opt/opengnsys/etc/`**
|
|
|
|
## Usage
|
|
|
|
`ogcli {command} {object} [{command object options}]`
|
|
|
|
### Commands
|
|
|
|
```
|
|
usage: ogcli [-h] [{create,list,restore,send,set,setup}]
|
|
|
|
positional arguments:
|
|
{create,list,restore,send,set,setup}
|
|
Subcommand to run
|
|
|
|
options:
|
|
-h, --help show this help message and exit
|
|
```
|
|
|
|
#### `create`
|
|
|
|
Create images.
|
|
|
|
```
|
|
usage: ogcli create [-h] {image}
|
|
|
|
positional arguments:
|
|
{image}
|
|
|
|
options:
|
|
-h, --help show this help message and exit
|
|
```
|
|
|
|
#### `list`
|
|
|
|
You can list currently connected clients, disk, scope tree,
|
|
boot modes, hardware/software profiles, images, and specific client information.
|
|
|
|
```
|
|
usage: ogcli list [-h] {clients,scopes,modes,hardware,client,images,disks}
|
|
|
|
positional arguments:
|
|
{clients,scopes,modes,hardware,client,images,disks}
|
|
|
|
options:
|
|
-h, --help show this help message and exit
|
|
```
|
|
|
|
#### `restore`
|
|
|
|
Restore an image partition
|
|
|
|
```
|
|
usage: ogcli restore [-h] {image}
|
|
|
|
positional arguments:
|
|
{image}
|
|
|
|
options:
|
|
-h, --help show this help message and exit
|
|
```
|
|
|
|
#### `send`
|
|
|
|
Send WoL, poweroff or refresh to a given scope.
|
|
|
|
```
|
|
usage: ogcli send [-h] {wol,poweroff,refresh}
|
|
|
|
positional arguments:
|
|
{wol,poweroff,refresh}
|
|
|
|
options:
|
|
-h, --help show this help message and exit
|
|
```
|
|
|
|
#### `set`
|
|
|
|
Set properties of the managed computers.
|
|
|
|
You can modify boot mode using `set`.
|
|
|
|
```
|
|
usage: ogcli set [-h] {modes}
|
|
|
|
positional arguments:
|
|
{modes}
|
|
|
|
positional arguments:
|
|
{modes}
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
```
|
|
|
|
#### `setup`
|
|
|
|
Setup disks of a given scope
|
|
|
|
```
|
|
usage: ogcli setup [-h] {disk}
|
|
|
|
positional arguments:
|
|
{disk}
|
|
|
|
options:
|
|
-h, --help show this help message and exit
|
|
```
|
|
|
|
### Objects
|
|
|
|
They are subject to the specified command.
|
|
|
|
* `clients`: Currently connected clients to the ogServer
|
|
* `client`: Any specific client
|
|
* `disk`: Client's disks
|
|
* `images`: Partition images
|
|
* `modes`: Network boot modes
|
|
* `hardware`: Hardware profiles
|
|
* `scopes`: Scope tree of managed computers, rooms and centers.
|
|
|
|
### Examples
|
|
|
|
#### Client setup
|
|
|
|
##### DOS/MBR, first partition: 40G Linux/ext4, also add a 10G OpenGnsys cache partition. Format each partition.
|
|
```
|
|
ogcli setup disk --type dos --part 1,LINUX,EXT4,40G --part 4,CACHE,CACHE,10G --format 1,4 --client-ip 192.168.56.11
|
|
```
|
|
|
|
#### Changing the boot mode of computers in a particular classroom
|
|
|
|
##### Fetching a classroom id
|
|
|
|
```
|
|
ogcli list scopes
|
|
|
|
{'scope': [{'name': 'Unidad Organizativa (Default)', 'type': 'center', 'id': 1, 'scope': [{'name': 'Aula virtual', 'type': 'room', 'id': 1, ...
|
|
```
|
|
|
|
##### Fetching net boot modes
|
|
|
|
```
|
|
ogcli list modes
|
|
|
|
{'modes': ['11', 'pxe', '00unknown', '19pxeADMIN', '13', '10', '12']}
|
|
```
|
|
|
|
##### Changing boot mode of the classroom
|
|
|
|
```
|
|
ogcli set modes --room-id 1 --mode pxe
|
|
```
|
|
|
|
## License
|
|
|
|
ogCLI is released under the GNU Affero Public License v3
|
|
|
|
## Authors
|
|
|
|
[Soleta Networks](https://opengnsys.soleta.eu)
|