module

Beryl::DnsProvider

Capability :dns — gestion d'une zone DNS.

Un provider qui l'implémente sait poser des records A/AAAA/CNAME, rafraîchir la zone, poser un reverse sur une IP, et changer le nom d'affichage côté panel (utile pour les serveurs dédiés OVH qui ont un displayName distinct du service_name technique).

Les exceptions NotImplementedError signalent qu'un appel a été tenté sur un provider qui déclare la capability mais n'a pas encore câblé la méthode — bug côté implémenteur, message clair pour le diagnostiquer.

Instance methods

ensure_record(zone : String, field_type : String, sub_domain : String, target : String) : Nil

Enregistre (ou met à jour) un record DNS. Idempotent : si le record existe déjà avec la même valeur, no-op.

zone → nom de la zone (ex: "example.net") field_type → type DNS ("A", "AAAA", "CNAME", "TXT"…) sub_domain → sous-partie ("loulou" ou "" pour le root) target → valeur du record (IP, FQDN, …)

Source
refresh_zone(zone : String) : Nil

Déclenche un refresh de la zone côté provider (nécessaire chez OVH pour propager un record fraîchement ajouté).

Source
set_reverse(ip : String, reverse : String, block : String | Nil = nil) : Nil

Pose (ou met à jour) le reverse DNS d'une IP. reverse est un FQDN (avec ou sans point final). block : bloc IP déclaré par l'hébergeur qui contient ip (utile en IPv6 où le reverse se pose au niveau du bloc) ; nil → déduit par le provider.

Source