Presentamos PostScale -- API de correo para envíos transaccionales, recepción y direcciones enmascaradas. PostScale

    DNScale ahora es compatible con DNSControl: DNS como código simplificado

    Published on January 30, 2026

    Gestiona tu infraestructura DNS con DNSControl. Define zonas y registros en JavaScript, previsualiza cambios y aplícalos con un solo comando.

    ¿Alguna vez has deseado que gestionar DNS fuera tan fácil como dnscontrol push? Ahora lo es.

    Anunciamos el proveedor oficial de DNScale para DNSControl, la herramienta de gestión DNS de código abierto de StackExchange. Esta integración te permite definir toda tu configuración DNS en un archivo JavaScript, previsualizar cambios antes de aplicarlos y gestionar múltiples dominios desde una única fuente de verdad.

    ¿Por qué DNSControl?

    DNSControl adopta un enfoque diferente al DNS como código. En lugar de HCL o YAML, escribes tu configuración en JavaScript puro. Esto te da construcciones de programación reales — variables, funciones, bucles — manteniendo tus definiciones DNS declarativas y legibles.

    Con el proveedor de DNScale, puedes:

    • Escribir DNS como JavaScript - Usa variables, funciones y macros para eliminar la repetición
    • Previsualizar antes de aplicar - Ve exactamente qué cambiará antes de que se haga efectivo
    • Soportar múltiples proveedores - DNSControl funciona con docenas de proveedores DNS, facilitando las migraciones
    • Rastrear cambios en Git - Tu dnsconfig.js es tu documentación DNS
    • Automatizar con CI/CD - Ejecuta preview en pull requests, push al hacer merge

    Qué puedes gestionar

    El proveedor de DNScale soporta los 14 tipos de registros DNS disponibles en la plataforma: A, AAAA, ALIAS, CAA, CNAME, HTTPS, MX, NS, PTR, SRV, SSHFP, SVCB, TLSA y TXT.

    Zonas

    Las zonas se crean automáticamente cuando ejecutas dnscontrol push. No se requiere un paso de configuración separado:

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

    Registros

    Define cualquier tipo de registro con una sintaxis clara y legible:

    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")
    );

    Inicio rápido

    Comenzar requiere solo tres pasos.

    1. Configura las credenciales — crea creds.json:

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

    2. Define tu 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. Previsualiza y aplica:

    dnscontrol preview   # Ver qué cambiaría
    dnscontrol push      # Aplicar los cambios

    Eso es todo. Tu zona está creada, los registros están configurados y todo está definido en un archivo que puedes subir a Git.

    Casos de uso reales

    Gestión de múltiples dominios

    Gestiona docenas de dominios desde un solo archivo usando variables y funciones de 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
    );

    Migración desde otros proveedores

    DNSControl soporta docenas de proveedores DNS. Puedes migrar a DNScale de forma incremental cambiando la declaración del proveedor mientras mantienes tus definiciones de registros sin cambios.

    Integración CI/CD

    Ejecuta dnscontrol preview en pull requests para detectar errores de configuración DNS antes de que lleguen a producción. Haz merge a main para activar dnscontrol push automáticamente.

    Cómo funciona

    El proveedor de DNScale se comunica con la API REST de DNScale usando tu clave de API. Cuando ejecutas dnscontrol push:

    1. DNSControl lee tu configuración dnsconfig.js
    2. El proveedor obtiene los registros actuales de la API de DNScale
    3. Se calcula un diff entre el estado deseado y el actual
    4. Solo se aplican los cambios necesarios (creaciones, actualizaciones, eliminaciones)

    Este enfoque basado en diff significa que puedes ejecutar push repetidamente de forma segura — si nada cambió en tu configuración, nada cambia en tu DNS.

    Comienza hoy

    Si aún no tienes una cuenta en DNScale, regístrate y obtén tu clave de API desde el panel de control. Tu primera zona es por nuestra cuenta.

    Próximos pasos

    Esta versión inicial cubre el conjunto completo de funcionalidades de DNScale. Estamos planificando:

    • Documentación ampliada y guías de migración
    • Más ejemplos de CI/CD para GitLab CI, Bitbucket Pipelines y otros
    • Contribuciones de la comunidad upstream al proyecto DNSControl

    ¿Tienes comentarios? Contacta con nuestro equipo o abre un issue en el repositorio de DNSControl.


    El DNS como código no tiene por qué ser complicado. Con DNSControl y DNScale, obtienes un archivo de configuración JavaScript, un flujo de trabajo de previsualización antes de aplicar y soporte para todos los tipos de registro. Tu configuración DNS finalmente recibe el mismo tratamiento que todo lo demás en tu stack: versionada, revisada, automatizada y fiable.

    Haz dnscontrol push de tu DNS hoy.