runv-server

server tooling for runv.club
Log | Files | Refs | README

03-paths-files-and-state.md (1947B)


      1 # Caminhos, ficheiros e estado
      2 
      3 [← Índice](README.md)
      4 
      5 ## Caminhos canónicos no servidor
      6 
      7 | Caminho | Função | Gerado / versionado |
      8 |---------|--------|---------------------|
      9 | `/var/lib/runv/users.json` | Lista de metadados dos membros (fonte para `build_directory.py`) | **Gerado** na primeira operação que use; **nunca** commitar com dados reais |
     10 | `/var/lib/runv/users.lock` | Lock `flock` para escrita segura em `users.json` | Gerado em uso |
     11 | `/var/lib/runv/entre-queue/` | Fila de pedidos JSON do SSH `entre` | Gerado; ficheiros por `request_id` |
     12 | `/var/log/runv/entre.log` | Log do fluxo `entre` (configurável via TOML) | Gerado |
     13 | `/opt/runv/terminal/` | Instalação do módulo `terminal/` (`setup_entre.py`) | Cópia a partir do repo; `config.toml` gerado localmente |
     14 | `/etc/runv-email.json` | Estado público de configuração de email | Gerado por `configure_mailgun.py` |
     15 | `/etc/runv-email.secrets.json` | Segredos (API keys, etc.) | Gerado; **0600**, root; **nunca** commitar |
     16 | `/var/www/runv.club/html` | DocumentRoot **predefinido** em produção (`genlanding.py`, default `--landing-document-root` em `create_runv_user.py`) | Gerado no servidor; não é o mesmo que `site/public/` no clone |
     17 
     18 **Evidência:** `docs/04-bootstrap-and-base-system.md`, `terminal/config.example.toml`, defaults em `site/genlanding.py`, `site/build_directory.py`, `scripts/admin/create_runv_user.py`.
     19 
     20 ## No clone do Git
     21 
     22 - **`site/public/data/members.json`:** no repositório deve permanecer lista vazia `[]` (placeholder); dados reais vêm de `build_directory.py` no deploy.
     23 - **`terminal/config.toml`:** no `.gitignore`; usar `config.example.toml` + `gen_config_toml.py` / `setup_entre.py`.
     24 
     25 ## O que nunca commitar
     26 
     27 - `runv-email.secrets.json` (qualquer cópia)
     28 - `users.json` com dados reais
     29 - Ficheiros JSON da fila com PII
     30 - Chaves privadas SSH
     31 
     32 Próximo: [04-bootstrap-and-base-system.md](04-bootstrap-and-base-system.md).