Add French docstrings and README
- Docstrings for all modules, classes and methods - README.md with installation and usage instructions - Update CLAUDE.md with dns.py Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
"""
|
||||
Checker DNS.
|
||||
|
||||
Vérifie la disponibilité d'un serveur DNS et sa capacité à résoudre
|
||||
des requêtes.
|
||||
"""
|
||||
|
||||
import time
|
||||
|
||||
import dns.resolver
|
||||
@@ -7,13 +14,38 @@ from .ping import PingChecker
|
||||
|
||||
|
||||
class DnsChecker(BaseChecker):
|
||||
"""
|
||||
Vérifie la disponibilité d'un serveur DNS.
|
||||
|
||||
Effectue d'abord un ping pour vérifier que le serveur est joignable,
|
||||
puis exécute une requête DNS configurable.
|
||||
|
||||
Configuration YAML:
|
||||
host: Adresse IP du serveur DNS (obligatoire).
|
||||
query: Nom de domaine à résoudre (obligatoire).
|
||||
record_type: Type d'enregistrement DNS (défaut: A).
|
||||
Valeurs possibles: A, AAAA, MX, TXT, CNAME, etc.
|
||||
timeout: Délai d'attente en secondes (défaut: 5).
|
||||
"""
|
||||
|
||||
def check(self) -> CheckResult:
|
||||
"""
|
||||
Vérifie le serveur DNS.
|
||||
|
||||
Étapes:
|
||||
1. Ping du serveur DNS pour vérifier sa disponibilité.
|
||||
2. Requête DNS du type configuré.
|
||||
|
||||
Returns:
|
||||
CheckResult avec success=True si le serveur répond
|
||||
et la requête DNS aboutit.
|
||||
"""
|
||||
host = self.config["host"]
|
||||
query_name = self.config["query"]
|
||||
query_type = self.config.get("record_type", "A")
|
||||
timeout = self.config.get("timeout", 5)
|
||||
|
||||
# First check if host is reachable via ping
|
||||
# Vérifie d'abord que le serveur est joignable
|
||||
ping_checker = PingChecker(self.name, {"host": host, "timeout": timeout})
|
||||
ping_result = ping_checker.check()
|
||||
|
||||
@@ -24,7 +56,7 @@ class DnsChecker(BaseChecker):
|
||||
response_time=None
|
||||
)
|
||||
|
||||
# Now perform DNS query
|
||||
# Exécute la requête DNS
|
||||
resolver = dns.resolver.Resolver()
|
||||
resolver.nameservers = [host]
|
||||
resolver.timeout = timeout
|
||||
|
||||
Reference in New Issue
Block a user