Vi presentiamo PostScale -- API email per invii transazionali, ricezione e indirizzi mascherati. PostScale

    DNScale ora supporta DNSControl: DNS as Code semplificato

    Published on January 30, 2026

    Gestisci la tua infrastruttura DNS con DNSControl. Definisci zone e record in JavaScript, visualizza le modifiche in anteprima e applica con un singolo comando.

    Hai mai desiderato che gestire il DNS fosse semplice come dnscontrol push? Ora lo è.

    Annunciamo il provider DNScale ufficiale per DNSControl, lo strumento di gestione DNS open-source di StackExchange. Questa integrazione ti permette di definire l'intera configurazione DNS in un file JavaScript, visualizzare le modifiche in anteprima prima di applicarle e gestire più domini da un'unica fonte di verità.

    Perché DNSControl?

    DNSControl adotta un approccio diverso al DNS-as-code. Invece di HCL o YAML, scrivi la tua configurazione in JavaScript puro. Questo ti offre costrutti di programmazione reali — variabili, funzioni, cicli — mantenendo le definizioni DNS dichiarative e leggibili.

    Con il provider DNScale puoi:

    • Scrivere il DNS in JavaScript - Usa variabili, funzioni e macro per eliminare le ripetizioni
    • Anteprima prima di applicare - Vedi esattamente cosa cambierà prima che diventi effettivo
    • Supporto multi-provider - DNSControl funziona con decine di provider DNS, rendendo le migrazioni semplici
    • Tracciare le modifiche in Git - Il tuo dnsconfig.js è la tua documentazione DNS
    • Automatizzare con CI/CD - Esegui preview sulle pull request, push al merge

    Cosa puoi gestire

    Il provider DNScale supporta tutti i 14 tipi di record DNS disponibili sulla piattaforma: A, AAAA, ALIAS, CAA, CNAME, HTTPS, MX, NS, PTR, SRV, SSHFP, SVCB, TLSA e TXT.

    Zone

    Le zone vengono create automaticamente quando esegui dnscontrol push. Nessun passaggio di configurazione separato richiesto:

    D("myapp.com", REG_NONE, DnsProvider(DSP_DNSCALE),
      A("@", "203.0.113.10")
    );

    Record

    Definisci qualsiasi tipo di record con una sintassi pulita e leggibile:

    D("myapp.com", REG_NONE, DnsProvider(DSP_DNSCALE),
      A("api", "203.0.113.10", TTL(300)),
      AAAA("api", "2001:db8::10", TTL(300)),
      CNAME("www", "myapp.com."),
      MX("@", 10, "mail.myapp.com."),
      TXT("@", "v=spf1 include:_spf.google.com ~all"),
      CAA("@", "issue", "letsencrypt.org")
    );

    Guida rapida

    Per iniziare bastano tre passaggi.

    1. Configura le credenziali — crea creds.json:

    {
      "dnscale": {
        "TYPE": "DNSCALE",
        "api_key": "your-api-key-here"
      }
    }

    2. Definisci il tuo DNS — crea dnsconfig.js:

    var REG_NONE = NewRegistrar("none");
    var DSP_DNSCALE = NewDnsProvider("dnscale");
     
    D("example.com", REG_NONE, DnsProvider(DSP_DNSCALE),
      A("@", "192.0.2.1"),
      A("www", "192.0.2.1"),
      MX("@", 10, "mail.example.com."),
      TXT("@", "v=spf1 include:_spf.google.com ~all")
    );

    3. Anteprima e applica:

    dnscontrol preview   # See what would change
    dnscontrol push      # Apply the changes

    Tutto qui. La tua zona è creata, i record sono configurati e tutto è definito in un file che puoi committare su Git.

    Casi d'uso reali

    Gestione multi-dominio

    Gestisci decine di domini da un unico file usando variabili e funzioni JavaScript:

    var MAIL_SERVERS = [
      MX("@", 10, "mx1.mailprovider.com."),
      MX("@", 20, "mx2.mailprovider.com.")
    ];
     
    D("company.com", REG_NONE, DnsProvider(DSP_DNSCALE),
      A("@", "192.0.2.1"),
      MAIL_SERVERS
    );
     
    D("company.org", REG_NONE, DnsProvider(DSP_DNSCALE),
      A("@", "192.0.2.1"),
      MAIL_SERVERS
    );

    Migrazione da altri provider

    DNSControl supporta decine di provider DNS. Puoi migrare a DNScale in modo incrementale cambiando la dichiarazione del provider mantenendo invariate le definizioni dei record.

    Integrazione CI/CD

    Esegui dnscontrol preview sulle pull request per individuare errori di configurazione DNS prima che raggiungano la produzione. Effettua il merge su main per attivare automaticamente dnscontrol push.

    Come funziona

    Il provider DNScale comunica con l'API REST di DNScale usando la tua API key. Quando esegui dnscontrol push:

    1. DNSControl legge la tua configurazione dnsconfig.js
    2. Il provider recupera i record attuali dall'API DNScale
    3. Viene calcolato un diff tra lo stato desiderato e quello attuale
    4. Vengono applicate solo le modifiche necessarie (creazioni, aggiornamenti, eliminazioni)

    Questo approccio basato su diff significa che puoi eseguire push ripetutamente in sicurezza — se nulla è cambiato nella tua configurazione, nulla cambia nel tuo DNS.

    Inizia oggi

    Se non hai ancora un account DNScale, registrati e ottieni la tua API key dalla dashboard. La prima zona è offerta da noi.

    Prossimi passi

    Questa release iniziale copre l'intero set di funzionalità DNScale. Stiamo pianificando:

    • Documentazione ampliata e guide alla migrazione
    • Più esempi CI/CD per GitLab CI, Bitbucket Pipelines e altri
    • Contributi della community upstream al progetto DNSControl

    Hai un feedback? Contatta il nostro team o apri una issue nel repository DNSControl.


    Il DNS-as-code non deve essere complicato. Con DNSControl e DNScale, hai un file di configurazione JavaScript, un flusso di lavoro preview-before-push e il supporto per ogni tipo di record. La tua configurazione DNS riceve finalmente lo stesso trattamento di tutto il resto nel tuo stack: versionata, revisionata, automatizzata e affidabile.

    Fai dnscontrol push del tuo DNS oggi.