summaryrefslogtreecommitdiff
path: root/WINDOWS_INGESTION.md
blob: 324984d6b29e10f5871b5c1b4926e23204c12c1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# WINDOWS_INGESTION

## Objectif
Synchroniser des dossiers photos Windows vers MinIO avec une structure de prefixes compatible ACL par roles.

## Convention de structure
- Source Windows:
  - `D:\Photos\EquipeA\...`
  - `D:\Photos\ProjetX\...`
- Destination MinIO:
  - `medias-private/photos/EquipeA/...`
  - `medias-private/photos/ProjetX/...`

Les noms de dossiers deviennent les prefixes de securite (ex: role `media_reader:folder:photos/EquipeA`).

## Prerequis
- AWS CLI installe sur Windows.
- Connectivite vers MinIO (`http://<vm>:9000`).
- Clefs MinIO (`MINIO_ROOT_USER`, `MINIO_ROOT_PASSWORD`) ou un compte S3 dedie.

## Commande de sync initiale
```powershell
powershell -ExecutionPolicy Bypass -File .\sync_windows_to_minio.ps1 `
  -SourceRoot "D:\Photos" `
  -EndpointUrl "http://192.168.99.23:9000" `
  -Bucket "medias-private" `
  -AccessKey "minio" `
  -SecretKey "CHANGE_ME"
```

## Mode simulation
```powershell
powershell -ExecutionPolicy Bypass -File .\sync_windows_to_minio.ps1 `
  -SourceRoot "D:\Photos" `
  -EndpointUrl "http://192.168.99.23:9000" `
  -Bucket "medias-private" `
  -AccessKey "minio" `
  -SecretKey "CHANGE_ME" `
  -WhatIf
```

## Bonnes pratiques
- Ne pas utiliser le compte root MinIO en production; creer un compte de sync dedie.
- Figer une convention de nommage des dossiers avant mise en prod.
- Eviter les renommages massifs de prefixes pour limiter les remappings de roles.
- Planifier une sync periodique (Task Scheduler) et journaliser les erreurs.