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 |
PG_PASSWORD |
Mot de passe PostgreSQL (netbox) |
Déploiement manuel
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
export PG_PASSWORD=xxx
python setup_blocks.py
python deploy.py
Blocks créés
| Block | Type | Usage |
|---|---|---|
garage-credentials |
AwsCredentials |
Credentials S3 pour Garage |
netbox-db-password |
Secret |
Mot de passe PostgreSQL |
Flows déployés
| Flow | Schedule | Description |
|---|---|---|
pg-backup-daily |
0 2 * * * |
Backup quotidien à 2h |
Lancement manuel
Dans l'UI Prefect : Deployments → pg-backup-daily → Run → Quick Run
Ou via CLI :
prefect deployment run 'pg-backup/pg-backup-daily'
Description
Languages
Python
100%