Files
roa2web-service-auto/scripts
Claude Agent 28f259cd05 fix(ocr): Fix store profile extraction patterns and module loading
Major fixes to OCR store profiles for Romanian receipt extraction:

- Fix ProfileRegistry module path resolution (was loading 0 profiles)
- Add multiline TVA extraction for Brick, Electrobering, Gama Ink
- Add "CARTE CREDIT" payment detection for OMV/SOCAR gas stations
- Handle OCR artifacts: TVA→TUA, "-"→"4", I→L in CUI markers
- Add client CUI patterns for Brick receipts
- Add profile selection logging to ocr_extractor.py
- Create test script for all 29 PDFs (test_all_profiles.py)

Test results: 13/29 passing (improved from 9/29)
Remaining failures are primarily OCR quality issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 09:40:58 +00:00
..

ROA2WEB Scripts - Secrets Management

Backup & Restore Environment Secrets

Aceste script-uri ajută la backup-ul securizat (criptat) al fișierelor .env și .env.prod care conțin credențiale sensibile.

🔐 Backup Secrets

Creează backup criptat cu AES256:

./scripts/backup-secrets.sh

Ce face:

  • Găsește toate fișierele .env și .env.prod
  • Le criptează cu GPG (AES256)
  • Le salvează în secrets-backup/YYYY-MM-DD_HH-MM-SS/
  • Creează README cu instrucțiuni

Rezultat:

secrets-backup/
└── 2025-01-15_14-30-00/
    ├── .env.gpg
    ├── .env.prod.gpg
    └── README.md

Notă: Vei fi rugat să introduci o parolă pentru criptare. Salvează această parolă în gestionar de parole!

🔓 Restore Secrets

Restaurează din backup criptat:

# Restaurează din ultimul backup
./scripts/restore-secrets.sh

# Restaurează din backup specific
./scripts/restore-secrets.sh 2025-01-15_14-30-00

Ce face:

  • Decriptează fișierele .gpg din backup
  • Le plasează înapoi în locațiile originale
  • backend/.env
  • backend/.env.prod
  • backend/modules/telegram/.env
  • backend/modules/telegram/.env.prod

Notă: Vei fi rugat să introduci parola de decriptare.

🗂️ Opțiuni de Salvare a Backup-urilor

Opțiunea 1: Commit în Git (Recomandat)

Fișierele .gpg sunt criptate și pot fi comise în siguranță:

# Creează backup
./scripts/backup-secrets.sh

# Adaugă în git
git add secrets-backup/
git commit -m "Add encrypted secrets backup"
git push

Avantaje:

  • Sincronizat automat cu remote
  • Versioning complet
  • Acces de pe orice mașină
  • Sigur (criptat cu parolă)

Dezavantaje:

  • Trebuie să ții minte parola

Opțiunea 2: Backup Local (Doar Local)

Păstrează backup-urile doar pe mașina locală:

# Decomentează în .gitignore:
# secrets-backup/

# Copiază backup-urile pe USB/cloud manual
cp -r secrets-backup /mnt/usb/roa2web-secrets-backup

Opțiunea 3: Gestionar de Parole

Pentru backup manual rapid:

# Copiază conținutul și salvează în Bitwarden/1Password
cat backend/.env
cat backend/.env.prod
cat backend/modules/telegram/.env
cat backend/modules/telegram/.env.prod

🔒 Best Practices

  1. Rulează backup înaintea deployment-ului:

    ./scripts/backup-secrets.sh
    git add secrets-backup/
    git commit -m "Backup secrets before deployment"
    
  2. Salvează parola de criptare în gestionar de parole:

    • Bitwarden: Secure Note "ROA2WEB GPG Backup Password"
    • 1Password: Document "ROA2WEB Secrets Password"
    • LastPass: Secure Note
  3. Testează restore periodic:

    # Backup
    ./scripts/backup-secrets.sh
    
    # Șterge temporar
    mv backend/.env backend/.env.backup
    
    # Restore
    ./scripts/restore-secrets.sh
    
    # Verifică
    diff backend/.env backend/.env.backup
    
  4. Pentru echipă:

    • Partajează parola GPG în gestionar de parole partajat
    • Sau folosește chei GPG separate pentru fiecare membru

🚨 Troubleshooting

"gpg: decryption failed: Bad session key"

  • Parola introdusă este greșită
  • Verifică în gestionar de parole

"No such file or directory"

  • Asigură-te că rulezi script-ul din root-ul proiectului:
    cd /path/to/roa2web
    ./scripts/backup-secrets.sh
    

"gpg: command not found"

# Ubuntu/Debian
sudo apt-get install gnupg

# Windows WSL
sudo apt-get install gnupg

📋 Alternative de Backup

1. Manual GPG (un fișier):

gpg --symmetric --cipher-algo AES256 backend/.env
# Rezultat: .env.gpg

2. Tar + GPG (toate odată):

tar -czf - backend/**/.env* | gpg --symmetric --cipher-algo AES256 > secrets-backup.tar.gz.gpg

3. Ansible Vault:

ansible-vault encrypt backend/.env.prod

📝 Deployment pe Windows Server

Pentru deployment pe Windows, copiază fișierele .env.prod:

# Linux/WSL -> Windows Server

# 1. Creează backup local
./scripts/backup-secrets.sh

# 2. Copiază backup-ul pe server Windows
scp -r secrets-backup/latest/ administrator@server-ip:C:/temp/

# 3. Pe server Windows, decriptează:
gpg --decrypt .env.prod.gpg > C:\inetpub\wwwroot\roa2web\backend\.env.prod
gpg --decrypt .env.prod.gpg > C:\inetpub\wwwroot\roa2web\telegram-bot\.env.prod

🔗 Vezi și

  • .gitignore - Pattern-uri pentru .env files
  • DEPLOYMENT_GUIDE.md - Deployment production
  • deployment/windows/docs/WINDOWS_DEPLOYMENT.md - Windows deployment