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: "aloli.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_display_name(resource_id : String, new_name : String) : Nil

Change le nom d'affichage d'une ressource côté panel. Pour OVH, c'est le displayName du serveur dédié. Pour Gandi ou d'autres qui n'ont pas cette notion, no-op silencieux.

Source
set_reverse(ip : String, reverse : String) : Nil

Pose (ou met à jour) le reverse DNS d'une IP. reverse est un FQDN (avec ou sans point final).

Source