Refactor environment and configuration management
- Updated the project structure to store configuration files (.env, models.yaml, extensions.yaml) in the project root instead of the user's home directory. - Enhanced the setup process to automatically copy example files to the project root on first run. - Implemented a migration function to transfer legacy configuration files from the user's home directory to the new project structure. - Revised documentation to reflect changes in file locations and setup instructions. - Improved code readability and maintainability by refactoring path management functions.
This commit is contained in:
+4
-4
@@ -48,7 +48,7 @@
|
||||
3. Квота GPU > 0; иначе текст «напишите в поддержку Selectel».
|
||||
4. В сегменте есть хотя бы один flavor из `FLAVOR_PREFERENCE` (не `disabled`).
|
||||
5. Volume type сегмента существует; data 100 GB влезает в квоту дисков.
|
||||
6. SSH-ключ: есть `~/.gpu-rent/id_ed25519` или CLI сможет его создать.
|
||||
6. SSH-ключ: есть `<repo>/.gpu-rent/id_ed25519` или CLI сможет его создать.
|
||||
7. Если задан `CIVITAI_API_TOKEN` — HEAD/лёгкий запрос к `CIVITAI_API_HOST` (дефолт `.red`); манифест парсится.
|
||||
8. `extensions.yaml` парсится, если файл есть.
|
||||
9. Локальные папки: предупреждение, если `Models/` огромный относительно свободного места на будущем диске.
|
||||
@@ -98,7 +98,7 @@ Hold killer: gpu-rent hold
|
||||
|
||||
## Конфигурация
|
||||
|
||||
`%USERPROFILE%\.gpu-rent\.env` / `~/.gpu-rent/.env`:
|
||||
`.env` в корне репозитория (рядом с `env.example`):
|
||||
|
||||
```env
|
||||
OS_AUTH_URL=https://cloud.api.selcloud.ru/identity/v3
|
||||
@@ -154,7 +154,7 @@ Application credential для idle-killer CLI создаёт при bootstrap и
|
||||
|
||||
## State
|
||||
|
||||
`~/.gpu-rent/state.json` — ids, фаза (`idle` / `ready_cloud` / `ready_tunneled` / …), flavor, timestamps create/unshelve (для окна 24 ч). Без паролей. Lockfile, чтобы два `up` не создали два сервера.
|
||||
`<repo>/.gpu-rent/state.json` — ids, фаза (`idle` / `ready_cloud` / `ready_tunneled` / …), flavor, timestamps create/unshelve (для окна 24 ч). Без паролей. Lockfile там же, чтобы два `up` не создали два сервера.
|
||||
|
||||
## Ожидание готовности
|
||||
|
||||
@@ -168,6 +168,6 @@ Application credential для idle-killer CLI создаёт при bootstrap и
|
||||
|
||||
## Windows
|
||||
|
||||
Лаунчеры в корне: `gpu-rent.bat` (cmd / двойной клик), `.\gpu-rent.ps1` (PowerShell). На Unix — `./gpu-rent.sh`. Они создают `.venv` в репозитории и вызывают `python -m gpu_rent`. Пути в приложении через `Path.expanduser`. Ключ генерирует CLI: `~/.gpu-rent/id_ed25519`.
|
||||
Лаунчеры в корне: `gpu-rent.bat` (cmd / двойной клик), `.\gpu-rent.ps1` (PowerShell). На Unix — `./gpu-rent.sh`. Они создают `.venv` в репозитории и вызывают `python -m gpu_rent`. Ключ генерирует CLI: `<repo>/.gpu-rent/id_ed25519`.
|
||||
|
||||
`NOTIFY_READY`: toast через WinRT / `win10toast` (что заработает на 10/11 без админ-прав) + системный звук. Если toast недоступен — только звук и лог, не падать.
|
||||
|
||||
Reference in New Issue
Block a user