55 lines
1.4 KiB
Markdown
55 lines
1.4 KiB
Markdown
# Prefect Flows - PostgreSQL Backup
|
|
|
|
Flows Prefect pour la sauvegarde automatisée de bases PostgreSQL vers S3 (Garage).
|
|
|
|
## Structure
|
|
|
|
```
|
|
prefect-flows-pg-backup/
|
|
├── flows/
|
|
│ └── backup.py # Flow principal de backup
|
|
├── deploy.py # Script de déploiement
|
|
├── setup_blocks.py # Création des Prefect Blocks
|
|
├── requirements.txt
|
|
└── README.md
|
|
```
|
|
|
|
## Déploiement automatique (CI/CD)
|
|
|
|
Le workflow Gitea Actions crée les Blocks et déploie les flows automatiquement sur push vers `main`.
|
|
|
|
### Secrets requis dans Gitea
|
|
|
|
Dans **Settings → Secrets**, ajouter :
|
|
|
|
| Secret | Description |
|
|
|--------|-------------|
|
|
| `PREFECT_API_URL` | `https://prefect.taila5ad8.ts.net/api` |
|
|
| `S3_ACCESS_KEY` | Access key Garage |
|
|
| `S3_SECRET_KEY` | Secret key Garage |
|
|
| `S3_ENDPOINT_URL` | `https://s3.taila5ad8.ts.net` |
|
|
|
|
## Déploiement manuel
|
|
|
|
```bash
|
|
export PREFECT_API_URL=https://prefect.taila5ad8.ts.net/api
|
|
export AWS_ACCESS_KEY_ID=xxx
|
|
export AWS_SECRET_ACCESS_KEY=xxx
|
|
export AWS_ENDPOINT_URL=https://s3.taila5ad8.ts.net
|
|
|
|
python setup_blocks.py
|
|
python deploy.py
|
|
```
|
|
|
|
## Blocks créés
|
|
|
|
| Block | Type | Usage |
|
|
|-------|------|-------|
|
|
| `garage-credentials` | `AwsCredentials` | Credentials S3 pour Garage |
|
|
|
|
## Flows déployés
|
|
|
|
| Flow | Schedule | Description |
|
|
|------|----------|-------------|
|
|
| `pg-backup-daily` | `0 2 * * *` | Backup quotidien à 2h |
|