add yml config file, client now does not depends on .env
This commit is contained in:
+19
-8
@@ -32,15 +32,26 @@ client -> server: hello!, i'm $(hostname), uuid= , ts=, stdout= , stderr= , ...
|
||||
|
||||
## Разрешённые команды
|
||||
|
||||
Клиент исполняет только локально разрешённые command presets. Базовая
|
||||
настройка задаётся переменной окружения `NEXUS_SYNC_ALLOWED_COMMANDS`.
|
||||
Клиент исполняет только команды, описанные в локальном YAML config-файле.
|
||||
Серверу отправляются только `name` и `description`; поле `cmd` остаётся только
|
||||
на клиенте и не управляется сервером.
|
||||
|
||||
Примеры:
|
||||
Пример:
|
||||
|
||||
```bash
|
||||
NEXUS_SYNC_ALLOWED_COMMANDS=hostname,network_interfaces
|
||||
NEXUS_SYNC_ALLOWED_COMMANDS=full_access
|
||||
```yaml
|
||||
server_url: "http://127.0.0.1:5852"
|
||||
client_id: "linux-client"
|
||||
client_token: "change-me-client-token"
|
||||
allowed_commands:
|
||||
- name: hostname
|
||||
description: "Get the hostname of the client machine"
|
||||
cmd: "hostname"
|
||||
- name: network_interfaces
|
||||
description: "Get network interface information"
|
||||
cmd: "ip addr show"
|
||||
logging_level: "INFO"
|
||||
```
|
||||
|
||||
`full_access` означает доступ ко всем локально зарегистрированным presets. Это
|
||||
не разрешает выполнение произвольных shell-строк от сервера.
|
||||
Файл ищется как `nexus.yml`/`nexus.yaml` в текущей директории, затем в
|
||||
`$XDG_CONFIG_HOME`, затем в `~/.config`, затем как
|
||||
`~/.config/nexus/config.yml`/`.yaml`.
|
||||
|
||||
Reference in New Issue
Block a user