Presentiamo il DNScale Terraform Provider: DNS as Code
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-idPensato per i team
Il flusso di lavoro Terraform supporta naturalmente la collaborazione tra team:
- Proponi modifiche in un feature branch
- Revisiona le modifiche DNS insieme al codice applicativo
- Applica tramite CI/CD con le dovute approvazioni
- 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:
- Terraform Registry: registry.terraform.io/providers/dnscaleou/dnscale
- Documentazione: Provider Docs
- Guida formativa: Gestire il DNS con Terraform
- Codice sorgente: GitHub
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.