39 lines
1.6 KiB
Markdown
39 lines
1.6 KiB
Markdown
# PatchCenter — SLPM (SANEF Linux Patch Manager)
|
|
|
|
App web FastAPI/PostgreSQL pour piloter le patching Linux SANEF : plan de patching, historique, users AD/LDAP, intégration iTop, API Qualys.
|
|
|
|
**Source de vérité** : VM CT 116 (`pc.mpcz.fr`, `172.28.199.185` + `pct exec 116 -- ...`) + repo Gitea `adminmpmcz/patchcenter`.
|
|
|
|
## Workflow de dev (validé 2026-04-17)
|
|
1. **Claude** modifie direct sur CT 116 via SSH → `git push` Gitea
|
|
2. **Khalid** sur poste SANEF (`C:\patchcenter`) → `git pull` → test sur `127.0.0.1:8080`
|
|
3. Si OK : Khalid ajoute ses modifs + `git push` Gitea
|
|
4. **Claude** sur CT 116 → `git pull` + `systemctl restart patchcenter`
|
|
|
|
## Stack
|
|
- Python 3.11+ / FastAPI / Uvicorn
|
|
- PostgreSQL (patchcenter)
|
|
- Jinja2 + Tailwind (templates)
|
|
- LDAP (AD SANEF) pour auth
|
|
|
|
## Structure
|
|
- `app/` — code FastAPI (auth, models, routers, services)
|
|
- `deploy/` — scripts déploiement + migrations SQL
|
|
- `tools/` — scripts d'import/enrichissement (Qualys, iTop, Ayoub, etc.)
|
|
- `docs/` — DEPLOY.md, SANEF_PATCHING_PROCESS.md
|
|
- `migrate_*.sql` — migrations DB manuelles
|
|
|
|
## Lancer en local (poste SANEF, pas la copie locale Claude)
|
|
```
|
|
python -m uvicorn app.main:app --host 0.0.0.0 --port 8080
|
|
```
|
|
|
|
## Gitea
|
|
- Repo : `http://172.28.199.202:3000/adminmpmcz/patchcenter`
|
|
- Creds HTTPS : `adminmpmcz` / `Admin@2025`
|
|
|
|
## Notes
|
|
- `SECRET_KEY` côté VM : `sanef-patchcenter-demo-key-change-me` (drop-in systemd)
|
|
- DB échangée via **Gitea Releases** (attachment `.sql`), jamais dans le git tree
|
|
- Après restore DB : `ALTER TABLE ... OWNER TO patchcenter` pour toutes les tables+sequences
|