Approvals
Workflow d'approbation obligatoire ou optionnel par environnement et par type d'action. Sans approbation, aucune execution destructive ne part en prod.
Quand l'utiliser
Toutes les equipes >5 personnes qui touchent a un environnement prod. L'approbation transforme un patch en revue de code : un autre humain valide avant execution.
Workflow rapide
Approbations->Politique(admin projet) : matrice action × environnement. Ex :mass_patch + prod = required, min approvers = 2.- Un user demande une action (Mass Patch, Seed, Bridge). Si policy dit
"required", Auralith renvoie
202 AcceptedavecrequestIdau lieu d'executer. - Les approbateurs autorises recoivent un email
send_approval_request. - Ouvrir
Approbations, voir le diff preview, approuver / rejeter / commenter. - Quand
min_approversatteints, l'action devient executable. L'auteur recoitsend_approval_decision. Il peut alors lancer l'execution. - Si rejete : statut terminal, l'execution est bloquee. Re-creer un nouveau patch si necessaire.
Concepts cles
- ApprovalPolicy : par projet, par action × environment_tag. Reglages :
required,min_approvers,allowed_approver_roles. - ApprovalRequest : id, requester, target (patch / seed / bridge), status (pending / approved / rejected / expired), policy_snapshot (gele a la creation), expires_at.
- policy_snapshot : la policy effective au moment de la demande, pour garantir l'integrite si l'admin la modifie apres coup.
Pieges courants
- Self-approve : par defaut un requester ne peut pas s'approuver lui-meme. Reglage par policy si vous tenez a l'autoriser (deconseille).
- Expired : 7 jours par defaut. Au-dela, demande caduque, re-emettre.
- Roles d'approbateur :
adminprojet par defaut. Lesdevne peuvent pas approuver sans modification de policy.
API
# Lister approbations en attente
curl https://app.auralith.io/api/v1/projects/{pid}/approvals?status=pending
# Approuver
curl -X PATCH https://app.auralith.io/api/v1/approvals/{id} \
-d '{"decision":"approve","reason":"reviewed diff"}'