Contrat:mTLS 9443SAN lié à A/B256 enveloppes/cellule5 alertes fixesNO-GO

Ingress privé et identité

Le serveur n’accepte qu’un POST borné sur /v1/edge-health. Il ne devient ni proxy SIP, ni contrôleur de drain, ni dépendance du runtime.

mTLS

Autorité telemetry

TLS 1.2 minimum, certificat client obligatoire et CA séparée des domaines carrier et cellule.

Identité

SAN exact

edge-a.telemetry.navy.invalid ou edge-b.telemetry.navy.invalid doit être l’unique SAN et correspondre à l’enveloppe.

Réseau

RFC1918 allowlisté

Bind privé exact, liste limitée à huit CIDR RFC1918, TCP/9443 seulement au niveau systemd.

DoS borné

Accept et handshake séparés

File 16, huit workers et handshake TLS de deux secondes. Un client lent ne bloque pas un export nominal concurrent.

État, déduplication et vie privée

SQLite est un journal local candidat, pas un backend HA ni une rétention de production.

MécanismeBornePreuveLimite
IdempotenceSHA-256 canonique uniqueRetry identique accepté 200 sans seconde ligneAucune réplication
Rétention256 enveloppes par cellule, fichier 0600270 ajouts successifs restent plafonnésPolitique légale à définir
OrdreRétention ordonnée par réception; un ancien rapport ne remonte pas l’état courantInjection hors ordre et reprise immédiate après une horloge futurePas de consensus multi-nœud
Sortiessnapshot.json, alerts.json, metrics.promModes 0600 et formes exactesAucun backend ni dashboard

Cinq règles calculées, aucune notification livrée

Les codes sont fixes et les labels limités à la cellule, au code et au scope. Le fichier affirme explicitement notificationDeliveryConfigured=false.

Critique

Fraîcheur et readiness

edge-telemetry-missing après 90 s et edge-not-ready sur le dernier état frais.

Warning

Dérives locales

edge-restart-increase reste actif 90 s; edge-clock-skew signale un écart supérieur à 45 s.

Critique global

A et B indisponibles

edge-both-unavailable exige qu’aucune cellule ne soit à la fois fraîche et ready. Il ne retire encore aucune route carrier.

Niveaux de preuve et gates

Le lab ferme les ambiguïtés locales mais ne transforme pas le candidat en service exploité.

AcquisNon acquis
Exporter réel vers collecteur réel sur mTLS, certificats A/B, déduplication, corps et méthodes hostiles, SAN ambigu, symlink SQLite, ordre, rétention et cinq règles.Instance souveraine EU, IP/VPN réels, PKI production, réplication, sauvegarde/restauration, notification astreinte et SLO.
systemd-analyze verify sur Debian et snapshot APT épinglés, DynamicUser, LoadCredential, restrictions réseau et bind.Qualification de charge, chaos du collecteur, bascule HA, carrier/PSTN et corrélation au retrait A/B.