Présentation du service

sigabrt.dev propose un mécanisme de surveillance de tâches planifiées (cron) basé sur des battements de cœur (heartbeat). L'utilisateur crée un endpoint, reçoit une URL de ping et ajoute une ligne curl à la fin du script. Si le ping n’arrive pas dans l’intervalle défini, le service envoie un e‑mail ou une notification ntfy. Le plan gratuit autorise 10 battements sans carte bancaire, tandis que l’offre payante coûte 15 € / mois et supprime les limites d’utilisation.

curl -fsS https://sigabrt.dev/pulse/8f3c…/beat

Architecture et flux de données

Le modèle repose sur un client HTTP minimaliste (le curl) qui effectue une requête GET vers l’URL du endpoint. Aucun agent, bibliothèque ou identifiant supplémentaire n’est requis, ce qui réduit la surface d’attaque. Le serveur sigabrt.dev enregistre chaque requête, calcule le délai depuis le dernier battement et compare ce délai à la période de grâce configurée (ex. 15 minutes). En cas de dépassement, il déclenche l’alerte configurée.

Pour la visualisation, le service expose une interface en lecture seule via SSH. L’utilisateur ajoute sa clé publique dans les paramètres, puis se connecte :

ssh sigabrt.dev

Le terminal affiche une table contenant le nom de l’endpoint, la fréquence attendue, le statut actuel (ok, grace, down) et le temps écoulé depuis le dernier ping. Cette interface ne permet pas d’écrire ou de modifier les endpoints, ce qui limite les risques d’altération accidentelle.

Analyse technique et limites

Le choix d’un protocole HTTP simple minimise la latence et la complexité d’intégration : un seul appel curl suffit, même sur des environnements restreints. Cependant, la dépendance à un service externe introduit un point de défaillance unique ; si sigabrt.dev devient indisponible, les alertes ne seront plus générées. De plus, la transmission du ping se fait en clair (HTTPS), mais l’URL contient un identifiant unique qui agit comme un secret partagé. La perte ou la divulgation de cet URL permettrait à un tiers de falsifier des battements et de masquer des pannes.

Le service ne collecte que le timestamp du ping. Il ne fournit pas de métriques de performance (durée d’exécution, consommation CPU, logs) et ne supporte pas de scénarios de récupération automatisée. L’interface SSH, bien que pratique, est actuellement en lecture seule et « early days », ce qui signifie que des fonctionnalités d’écriture (création, suppression d’endpoints) pourraient être ajoutées ultérieurement, augmentant la surface d’attaque.

Implications pour les équipes DevOps

Pour des pipelines CI/CD ou des jobs de maintenance, sigabrt.dev offre une solution rapide à déployer, surtout lorsqu’une intégration d’agent est impossible. La gratuité de 10 battements permet de tester le service sans engagement financier. Néanmoins, les équipes doivent évaluer le risque d’une dépendance à un service SaaS pour la disponibilité de leurs processus critiques, et envisager des solutions de secours (ex. double ping vers un service interne) afin de garantir la continuité en cas de panne du fournisseur.