# secrets/ — Configurare credențiale (gitignored) Acest director conține parole Oracle, chei SSH și alte credențiale. **Tot conținutul (cu excepția acestui README) e gitignored.** --- ## Fișiere necesare ### Pentru fiecare server Oracle din `backend/ssh-tunnels.json` #### `{server_id}.oracle_pass` — parola user-ului READ Parola pentru `ORACLE_USER` (user de citire), folosită de modulul Reports și pentru tunelul SSH spre Oracle. Exemplu: dacă `ssh-tunnels.json` are `"id": "vending"`, creează: ```bash echo -n 'parola_read_user' > secrets/vending.oracle_pass chmod 600 secrets/vending.oracle_pass ``` #### `{server_id}_write.oracle_pass` — parola user-ului WRITE (US-003, US-005) Parola pentru user-ul cu drepturi de scriere (`{user}_AUTO` by default, sau `OracleServerConfig.write_user` dacă e setat). Folosită de `backend/modules/data_entry/services/oracle_receipt_writer.py` pentru a scrie bonuri în `ACT_TEMP` via `PACK_CONTAFIN`. Exemplu pentru `vending`: ```bash echo -n 'parola_write_user' > secrets/vending_write.oracle_pass chmod 600 secrets/vending_write.oracle_pass ``` > **Notă (US-005):** dacă fișierul lipsește, `_build_oracle_write_config()` > face fallback la parola de read și logează un warning. Pentru producție, > setează parolă dedicată pentru write user. ### Pentru fiecare server cu autentificare SSH cu parolă #### `{server_id}.ssh_pass` ```bash echo -n 'parola_ssh' > secrets/vending.ssh_pass chmod 600 secrets/vending.ssh_pass ``` ### Pentru fiecare server cu autentificare SSH cu cheie #### `{server_id}.ssh_key` Cheia privată SSH (PEM/OpenSSH format). ```bash cp ~/.ssh/id_ed25519_oracle secrets/romfast.ssh_key chmod 600 secrets/romfast.ssh_key ``` --- ## Verificare ```bash # Toate fișierele trebuie să fie chmod 600 (owner-only) ls -la secrets/ # -rw------- 1 user user 20 ... vending.oracle_pass # -rw------- 1 user user 18 ... vending_write.oracle_pass # Verifică că secrets/ e gitignored git check-ignore secrets/vending.oracle_pass # secrets/vending.oracle_pass # Niciun fișier .oracle_pass nu trebuie să apară în git git ls-files secrets/ # (gol — sau doar README.md) ``` --- ## Trouble­shooting | Eroare | Cauză | Fix | |--------|-------|-----| | `ORA-01017: invalid username/password` | Parolă greșită în `.oracle_pass` | Re-creează fișierul fără newline trailing: `echo -n` | | `Permission denied (publickey,password)` | SSH auth failed | Verifică `chmod 600` pe `.ssh_key` / `.ssh_pass` | | Warning "No write password file '{id}_write.oracle_pass' found" | Lipsește fișierul write | Creează `{id}_write.oracle_pass` cu parola corectă |