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

    Presentiamo il DNScale Terraform Provider: DNS as Code

    Published on January 07, 2026

    Gestisci la tua infrastruttura DNS con Terraform. Automatizza la creazione di zone, la gestione dei record e la configurazione DNSSEC con un singolo terraform apply.

    Hai mai desiderato che gestire il DNS fosse semplice come terraform apply? Ora lo è.

    Siamo lieti di annunciare il DNScale Terraform Provider ufficiale, ora disponibile sul Terraform Registry di HashiCorp. Questa release porta funzionalità complete di Infrastructure as Code alla gestione DNS, permettendoti di definire zone, record e configurazione DNSSEC insieme al resto della tua infrastruttura.

    Perché Terraform per il DNS?

    Il DNS è spesso il pezzo dimenticato dell'automazione infrastrutturale. I team dedicano ore a perfezionare le pipeline CI/CD, containerizzare le applicazioni e codificare le risorse cloud, solo per poi gestire il DNS attraverso interfacce web point-and-click o script API ad hoc.

    Il DNScale Terraform Provider cambia tutto questo. Ora puoi:

    • Versionare il tuo DNS - Traccia ogni modifica in Git, revisiona le modifiche tramite pull request
    • Automatizzare i deployment - Crea ambienti completi di configurazione DNS in pochi minuti
    • Garantire coerenza - Usa gli stessi pattern DNS in sviluppo, staging e produzione
    • Ridurre l'errore umano - Lascia che Terraform gestisca i dettagli, intercettando gli errori prima che diventino operativi
    • Documentare implicitamente - I tuoi file Terraform diventano documentazione vivente della tua configurazione DNS

    Cosa puoi gestire

    Il provider ti offre il controllo completo sulle risorse DNScale:

    Zone

    Crea e gestisci zone DNS con assegnazione automatica dei nameserver:

    resource "dnscale_zone" "production" {
      name   = "myapp.com"
      region = "eu"
    }

    Record

    Tutti i 14 tipi di record supportati da DNScale, inclusi A, AAAA, CNAME, MX, TXT, SRV e altri:

    resource "dnscale_record" "api" {
      zone_id = dnscale_zone.production.id
      name    = "api"
      type    = "A"
      content = "203.0.113.10"
      ttl     = 300
    }

    DNSSEC

    Abilita la firma crittografica delle zone con gestione automatica delle chiavi:

    resource "dnscale_dnssec_key" "ksk" {
      zone_id   = dnscale_zone.production.id
      key_type  = "ksk"
      algorithm = 13
      bits      = 256
      active    = true
      published = true
    }

    Data source

    Interroga zone, record e stato DNSSEC esistenti per utilizzarli nelle tue configurazioni:

    data "dnscale_zones" "all" {}
    data "dnscale_records" "production" {
      zone_id = dnscale_zone.production.id
    }

    Guida rapida

    Per iniziare bastano pochi minuti:

    terraform {
      required_providers {
        dnscale = {
          source  = "dnscaleou/dnscale"
          version = "~> 1.0"
        }
      }
    }
     
    provider "dnscale" {
      api_key = var.dnscale_api_key
    }
     
    resource "dnscale_zone" "main" {
      name   = "example.com"
      region = "eu"
    }
     
    resource "dnscale_record" "www" {
      zone_id = dnscale_zone.main.id
      name    = "www"
      type    = "A"
      content = "192.0.2.1"
      ttl     = 3600
    }

    Esegui terraform init e terraform apply. Tutto qui. La tua zona è creata, il record è configurato e tutto è tracciato nello state.

    Casi d'uso reali

    Deployment multi-ambiente

    Usa i workspace Terraform per gestire il DNS tra diversi ambienti:

    terraform workspace new staging
    terraform apply -var="domain=staging.myapp.com"
     
    terraform workspace new production
    terraform apply -var="domain=myapp.com"

    Deployment blue-green

    Sposta il traffico tra ambienti con una semplice modifica di variabile:

    variable "active_environment" {
      default = "blue"
    }
     
    resource "dnscale_record" "www" {
      zone_id = dnscale_zone.main.id
      name    = "www"
      type    = "A"
      content = var.active_environment == "blue" ? var.blue_ip : var.green_ip
      ttl     = 60
    }

    Importare l'infrastruttura esistente

    Usi già DNScale? Importa le zone e i record esistenti:

    terraform import dnscale_zone.existing abc123-zone-id
    terraform import dnscale_record.www abc123-zone-id/def456-record-id

    Pensato per i team

    Il flusso di lavoro Terraform supporta naturalmente la collaborazione tra team:

    1. Proponi modifiche in un feature branch
    2. Revisiona le modifiche DNS insieme al codice applicativo
    3. Applica tramite CI/CD con le dovute approvazioni
    4. Traccia audit di chi ha modificato cosa e quando

    Niente più dubbi su chi abbia aggiornato quel record MX martedì scorso. Ogni modifica è documentata, revisionata e tracciabile.

    Inizia oggi

    Il DNScale Terraform Provider è disponibile ora:

    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 le funzionalità principali di DNScale. Stiamo già pianificando miglioramenti basati sul feedback della community:

    • Data source aggiuntivi per query avanzate
    • Esempi di integrazione con Terraform Cloud
    • Libreria di moduli per pattern DNS comuni

    Hai una richiesta di funzionalità? Apri una issue su GitHub o contatta il nostro team.


    Il DNS as Code non è più solo un nice-to-have. È il modo in cui i team moderni gestiscono l'infrastruttura. Con il DNScale Terraform Provider, la tua configurazione DNS riceve finalmente lo stesso trattamento di tutto il resto nel tuo stack: versionata, revisionata, automatizzata e affidabile.

    Fai terraform apply del tuo DNS oggi.