Notifications¶
RestoreProof vous prévient là où vous regardez déjà : dans Slack, Teams, Discord, Telegram, Matrix, par e-mail, ou chez vous grâce à un webhook signé. Chaque endroit où partent les messages s'appelle un canal. Vous en créez autant que vous voulez, et vous choisissez pour chacun les événements qui l'intéressent. Les types de canaux disponibles dépendent de votre offre.
Les canaux se gèrent dans Notifications, dans le menu de l'application. Tous les membres de l'organisation peuvent les consulter ; seuls les administrateurs peuvent en créer, en modifier ou en supprimer.
Cette page donne le fonctionnement commun. Chaque type de canal a sa page, avec les chemins de menu exacts, et deux pages détaillent le catalogue des événements et le format du message et la vérification de la signature pour le webhook.
Ce qui est envoyé, et ce qui ne l'est jamais¶
Un message dit ce qui s'est passé, sur quel plan et quel runner, à quelle heure, et donne un lien vers la page correspondante de l'application. Pour une exécution en échec, il peut reprendre le message d'erreur de la sonde qui a échoué, limité à 500 caractères.
Il ne contient jamais le contenu d'une sauvegarde, la sortie ou les journaux d'une sonde, les chemins de vos machines, les références de secrets ni les clés d'API. C'est la même règle que pour le reste du service : ce qui est sensible reste sur le runner.
L'adresse du webhook Slack, Teams ou Discord, le jeton d'un bot Telegram ou Matrix sont enregistrés chiffrés et ne sont plus jamais affichés après la création. Pour en changer, il faut les remplacer.
Créer un canal¶
- Ouvrez Notifications puis Ajouter un canal.
- Choisissez le type de canal. Chaque type renvoie vers sa page.
- Donnez-lui un nom (80 caractères au plus, unique dans votre organisation) et choisissez la langue des messages, français ou anglais.
- Collez l'adresse ou le jeton demandé, cochez les événements qui vous intéressent, puis créez le canal.
- Cliquez sur Envoyer un test : un message d'exemple part immédiatement, et l'application vous dit si le service de destination l'a accepté. Le test est limité à six par minute et par canal.
Un canal que le service de destination refuse (adresse périmée, bot retiré du
groupe) apparaît avec son dernier test échoué et la raison, par exemple
http 404.
Quels types de canaux selon l'offre¶
Il n'y a pas de limite au nombre de canaux : ce qui dépend de l'offre, c'est le type de canal que vous pouvez utiliser.
| Type de canal | Offres qui l'incluent |
|---|---|
| E-mail, webhook générique signé | Toutes les offres |
| Discord, Telegram | Starter et au-dessus |
| Slack, Microsoft Teams, Matrix | Pro et au-dessus |
L'offre Business les inclut tous. La page de chaque type indique à partir de quelle offre il est disponible.
Créer un canal d'un type que votre offre n'inclut pas est refusé, et l'application vous propose de changer d'offre. Dans le choix du type, ces types restent visibles, marqués de l'offre nécessaire.
Si vous passez à une offre inférieure¶
Les canaux dont le type n'est plus inclus ne sont pas supprimés : ils sont suspendus. Rien n'est envoyé par ces canaux, mais les événements restent visibles dans le centre de notifications. Pendant la suspension, vous ne pouvez ni réactiver le canal ni l'essayer avec Envoyer un test.
Le canal repart tout seul dès que votre offre inclut de nouveau son type, sans rien à refaire.
Combien d'e-mails par mois¶
Les canaux e-mail ont aussi un plafond mensuel, qui dépend de l'offre : 10 e-mails en Free, 100 en Starter, 1 000 en Pro, et aucune limite en Business. L'unité est un e-mail par destinataire : un événement envoyé à trois adresses compte pour trois.
Ne sont pas comptés : les messages de test, l'e-mail qui prévient les administrateurs qu'un canal est en panne, et l'e-mail de confirmation envoyé à une adresse extérieure. Les autres types de canaux n'ont pas de plafond de volume.
Le compteur repart de zéro au renouvellement mensuel du compteur d'exécutions, qui n'a pas forcément lieu le 1er du mois. L'application affiche la date, et l'usage (par exemple « 60 / 100 e-mails ce mois-ci »), dans Notifications.
Quand le plafond est atteint :
- Un message qui ne tiendrait pas en entier dans ce qui reste n'est pas envoyé
du tout, même partiellement. Il apparaît dans le journal avec l'état
skippedet la raisonemail quota reached. - Un bandeau, dans le centre de notifications et dans Notifications, indique que les notifications par e-mail reprennent à la date de remise à zéro, et que tout reste visible dans l'application.
- Les exécutions ne sont pas touchées, et les autres types de canaux continuent d'envoyer.
Un changement d'offre applique la nouvelle limite aussitôt, sans remettre le compteur à zéro.
Le centre de notifications¶
Indépendamment des canaux, l'application affiche une cloche dans l'en-tête, avec le nombre de notifications non lues. Un clic ouvre la liste des événements de l'organisation, du plus récent au plus ancien : un titre, l'heure, une couleur selon la gravité, et un lien vers l'objet concerné (l'exécution, le runner, la page de facturation).
Le centre liste tous les événements, qu'un canal y soit abonné ou non. Une organisation sans aucun canal, ou dont le quota d'e-mails du mois est épuisé, voit donc quand même ce qui s'est passé. Les événements y restent 30 jours.
Ce que chacun voit dépend de son rôle :
| Événements | Qui les voit |
|---|---|
| Exécutions, runners, quotas | Tous les membres |
| Facturation, équipe, sécurité | Les administrateurs seulement |
L'état « lu » est personnel : Tout marquer comme lu remet à zéro votre compteur, et seulement le vôtre. Un collègue qui n'a rien ouvert garde ses notifications non lues.
Les types de canaux¶
Chaque section ci-dessous résume un type ; la page liée donne la marche à suivre complète.
Slack¶
Publie dans un canal Slack grâce à un webhook entrant : une URL à créer dans votre espace de travail. Voir Slack.
Microsoft Teams¶
Publie dans un canal Teams grâce à un flux de l'application Workflows. Les anciens connecteurs Office 365 ne fonctionnent plus. Voir Microsoft Teams.
Discord¶
Publie dans un salon Discord grâce à un webhook de salon. Voir Discord.
Telegram¶
Écrit dans un groupe, un canal ou une conversation avec votre propre bot, créé auprès de BotFather. Voir Telegram.
Matrix¶
Écrit dans un salon Matrix avec un compte de bot de votre serveur. Voir Matrix.
Webhook générique¶
Envoie un message JSON signé à votre propre adresse HTTPS. Les en-têtes
webhook-id, webhook-timestamp et webhook-signature permettent de vérifier
l'origine du message ; le secret de signature, de la forme whsec_…, est
affiché une seule fois à la création. Voir
Webhook générique et
le format du message.
E-mail¶
Envoie des messages bilingues aux administrateurs de l'organisation ou à des adresses choisies, les adresses extérieures devant d'abord confirmer par un lien. Voir E-mail.
Les événements¶
Dix-sept événements existent, regroupés par thème. Le détail de chacun (quand il part, à quelle fréquence, s'il est coché par défaut) est dans le catalogue des événements.
- Exécutions :
run.failed,run.recovered,run.succeeded,run.warning,run.unclaimed. - Runners :
runner.offline,runner.online,runner.signing_key_pending. - Quotas :
quota.runs_80,quota.runs_exhausted. - Facturation :
billing.payment_failed,billing.plan_changed,billing.subscription_cancelled. - Équipe :
team.member_invited,team.member_joined,team.member_removed,security.two_factor_disabled.
Un nouveau canal démarre avec run.failed, run.recovered et run.unclaimed.
Les tentatives et les canaux en panne¶
Quand le service de destination ne répond pas, RestoreProof réessaie : six tentatives en tout, espacées de 15 secondes, 1 minute, 5 minutes, 10 minutes puis 15 minutes, soit environ 31 minutes. Un message qui n'a toujours pas pu partir 24 heures après l'événement est abandonné. Les refus définitifs (adresse inexistante, jeton révoqué) ne sont pas retentés.
RestoreProof espace aussi ses envois vers un même canal, d'environ une seconde, pour ne pas se faire bloquer par le service de destination.
Un canal qui échoue sans arrêt est mis en panne : après 20 événements de suite qui n'ont pas pu être livrés, ou en l'absence de toute livraison réussie pendant 24 heures. Les administrateurs en sont prévenus par e-mail, et le canal cesse d'envoyer. Une fois la cause corrigée (nouvelle adresse, bot de nouveau dans le groupe), ouvrez le canal et cliquez sur Réactiver. Les messages de test n'entrent pas dans ce décompte.
Vous pouvez aussi cliquer sur Mettre en pause pour suspendre un canal sans le supprimer, puis sur Reprendre pour le relancer. Les événements qui arrivent pendant la pause ne sont pas envoyés plus tard.
Le journal des envois¶
La page de chaque canal garde le journal de ses envois pendant 30 jours : pour chaque événement, son état, le nombre de tentatives, le code de réponse du service de destination et la raison d'un échec.
| État | Signification |
|---|---|
delivered |
Livré. |
retrying |
Une tentative a échoué, une autre est programmée. |
failed |
Toutes les tentatives ont échoué. |
rejected |
Le service de destination a refusé le message, sans espoir de réessai. |
skipped |
Rien n'a été envoyé : canal en pause, suspendu (type non inclus dans l'offre) ou supprimé, runner revenu avant l'envoi, destinataires pas encore confirmés, ou quota d'e-mails du mois atteint. |
expired |
Plus de 24 heures sont passées avant l'envoi. |
Sur un envoi failed, rejected, expired ou skipped, Réessayer crée un
nouvel envoi du même événement. Le canal doit être actif, ni en pause ni suspendu.
Et par l'API¶
Tout ce qui précède est aussi disponible par l'API : canaux, abonnements, test, rotation du secret et journal des envois.