Initial server source import
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# TRUF worker: шпаргалка Linux без Docker
|
||||
|
||||
Нужны системный Python 3.12 и package-local Git, TruffleHog и Python dependencies
|
||||
из проверенного artifact. Native executable authority должна находиться под
|
||||
root-owned путём, поэтому один раз перенесите распакованный package в `/opt`:
|
||||
|
||||
## Один раз
|
||||
|
||||
```sh
|
||||
sudo mv ./truf-worker-linux-x86_64 /opt/truf-worker
|
||||
cd /opt/truf-worker
|
||||
```
|
||||
|
||||
Подготовьте доверенные ownership и permissions package. Скрипт оставляет
|
||||
application code приватным для текущего user, а native Git и TruffleHog -
|
||||
неизменяемыми для него:
|
||||
|
||||
```sh
|
||||
sudo ./prepare-worker.sh
|
||||
```
|
||||
|
||||
Затем создайте `~/.config/truf/worker-install.yaml` через локальный текстовый
|
||||
редактор:
|
||||
|
||||
```sh
|
||||
install -d -m 700 ~/.config/truf
|
||||
nano ~/.config/truf/worker-install.yaml
|
||||
```
|
||||
|
||||
```yaml
|
||||
server: https://pregnant.horsecock.store
|
||||
token: PASTE_DEVICE_TOKEN_HERE
|
||||
parallelism: 1
|
||||
```
|
||||
|
||||
Затем выполните:
|
||||
|
||||
```sh
|
||||
chmod 600 ~/.config/truf/worker-install.yaml
|
||||
./truf-worker install --config ~/.config/truf/worker-install.yaml
|
||||
rm -- ~/.config/truf/worker-install.yaml
|
||||
./truf-worker doctor --json
|
||||
```
|
||||
|
||||
## Каждый день
|
||||
|
||||
```sh
|
||||
./truf-worker start --startup-timeout 30
|
||||
./truf-worker status
|
||||
./truf-worker attach --follow-seconds 300
|
||||
./truf-worker watch --follow-seconds 300
|
||||
./truf-worker stop --timeout 120 --json
|
||||
```
|
||||
|
||||
`q` или `Ctrl-C` отсоединяет `attach`/`watch`, но не останавливает worker.
|
||||
Portable package не устанавливает systemd unit: после перезагрузки выполните
|
||||
`start` из того же package под тем же OS user.
|
||||
|
||||
## Диагностика
|
||||
|
||||
```sh
|
||||
./truf-worker status --json
|
||||
./truf-worker logs --tail 200
|
||||
./truf-worker logs --follow --follow-seconds 300
|
||||
./truf-worker history --limit 50
|
||||
./truf-worker doctor --json
|
||||
```
|
||||
|
||||
Clean stop должен вернуть `state: stopped`, `drained: true`, `exit_code: 0`.
|
||||
Иначе сохраните state и диагностику; не удаляйте work или bundles.
|
||||
Reference in New Issue
Block a user