diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml index c9a7ff26d..06646cbfa 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml @@ -46,7 +46,7 @@ dropdown - + false diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/general.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/general.xml index 2d5a1167b..849ea61d7 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/general.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/general.xml @@ -56,7 +56,7 @@ caddy.general.accesslist dropdown - + caddy.general.ClientIpHeaders @@ -108,47 +108,13 @@ caddy.general.TlsDnsProvider dropdown - - - - header - + caddy.general.TlsDnsApiKey - + text - - - - caddy.general.TlsDnsSecretApiKey - - text - - - - caddy.general.TlsDnsOptionalField1 - - text - - - - caddy.general.TlsDnsOptionalField2 - - text - - - - caddy.general.TlsDnsOptionalField3 - - text - - - - caddy.general.TlsDnsOptionalField4 - - text - + header @@ -190,42 +156,44 @@ text - - + + header + + caddy.general.DynDnsIpVersions - + dropdown caddy.general.DynDnsUpdateOnly - + checkbox caddy.general.DynDnsInterval - + text 1800 caddy.general.DynDnsTtl - + text caddy.general.DynDnsSimpleHttp - + text caddy.general.DynDnsInterface - + dropdown diff --git a/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml b/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml index 7e9d03c24..b86ec3044 100644 --- a/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml +++ b/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml @@ -1,7 +1,7 @@ //Pischem/caddy Caddy Reverse Proxy - 1.3.6 + 1.3.7 @@ -24,79 +24,10 @@ None (default) - Cloudflare (embedded) - Duck DNS (optional) - Gandi (optional) - IONOS (optional) - Desec (optional) - Porkbun (optional) - ACME-DNS (optional) - Azure (optional) - OVH (optional) - Namecheap (optional) - PowerDNS (optional) - Linode (optional) - Hexonet (optional) - Mail-in-a-Box (optional) - RFC2136 (optional) - DNS Made Easy (optional) - Bunny (optional) - Scaleway (optional) - ACME Proxy (optional) - INWX (optional) - Netcup (optional) - Name.com (optional) - Infomaniak (optional) - DirectAdmin (optional) - Vultr (optional) - Hetzner (optional) - DigitalOcean (optional) - Route53 (optional) - Google Cloud DNS (optional) - Netlify (optional) - DDNSS (optional) - Njalla (optional) - Tencent Cloud (optional) - Dinahosting (optional) - Civo (optional) - EasyDNS (optional) - Hosttech (optional) - ClouDNS (optional) - Gcore (optional) - Huawei Cloud (optional) - DNSExit (optional) - Nanelo (optional) - Katapult (optional) - Regfish (optional) - Leaseweb (optional) - DreamHost (optional) - Exoscale (optional) - TransIP (optional) - Selectel (optional) - DNSimple (optional) - LuaDNS (optional) - Hurricane Electric (optional) - Namesilo (optional) - Dode (optional) - Dynu (optional) - Glesys (optional) - NFSN (optional) - GoDaddy (optional) - Vercel (optional) - Loopia (optional) - DNSPod (optional) - Mythic Beasts (optional) - Dynv6 (optional) - AliDNS (optional) - Metaname (optional) + Cloudflare - - - - - 1 @@ -266,7 +197,7 @@ - ACME + Auto HTTPS diff --git a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile b/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile index acbf13bc6..da616b4ed 100644 --- a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile +++ b/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile @@ -122,29 +122,9 @@ # Purpose: Sets up global configuration for Dynamic DNS. Caddy needs to be compiled with # https://github.com/mholt/caddy-dynamicdns and https://github.com/caddy-dns. Otherwise the # generated Caddyfile won't run. Each DNS Provider that is added below has to be compiled in. - # Some Providers don't support setting A and AAAA-Records, like acmedns. - # Most need specific configurations. Since only one provider can be used at the same time, - # they all share the same fields for configuration. - # Parameters: - # - @param dnsProvider (string): Specifies the DNS provider for DDNS updates. - # - @param dnsApiKey (string): The API key for authenticating with the DNS provider. - # - @param dnsSecretApiKey (string): A secret API key or token for additional authentication security. - # - @param dnsOptionalField1 to 4 (string): Optional configuration field for the DNS provider. - # - @param dynDnsSimpleHttp (string): URL for a simple HTTP-based service to discover the server's public IP. - # - @param dynDnsInterface (string): Network interface(s) to use for IP discovery. - # - @param dynDnsCheckInterval (integer): Interval in seconds to check for IP changes. Can be empty for defaults. - # - @param dynDnsIpVersions (string): The IP version(s) (IPv4, IPv6) for the DDNS update. - # - @param dynDnsTtl (integer): Time-To-Live for the DNS records, in seconds. Can be empty for defaults. - # - @param dynDnsDomains (list): Domains and subdomains list for which DDNS updates are enabled. - # - @param dynDnsUpdateOnly (boolean): If set, only updates DNS records, not creating new ones. #} {% set dnsProvider = helpers.toList('Pischem.caddy.general.TlsDnsProvider') | first %} {% set dnsApiKey = generalSettings.TlsDnsApiKey %} - {% set dnsSecretApiKey = generalSettings.TlsDnsSecretApiKey %} - {% set dnsOptionalField1 = generalSettings.TlsDnsOptionalField1 %} - {% set dnsOptionalField2 = generalSettings.TlsDnsOptionalField2 %} - {% set dnsOptionalField3 = generalSettings.TlsDnsOptionalField3 %} - {% set dnsOptionalField4 = generalSettings.TlsDnsOptionalField4 %} {% set dynDnsSimpleHttp = generalSettings.DynDnsSimpleHttp %} {% set dynDnsInterface = generalSettings.DynDnsInterface %} {% set dynDnsUpdateOnly = generalSettings.DynDnsUpdateOnly %} @@ -174,22 +154,9 @@ {% endfor %} {% endfor %} - {% import "OPNsense/Caddy/includeDnsProvider" as dns_includes %} - {% set dnsProviderSpecialConfig = dns_includes.dnsProviderSpecialConfig() %} - - {# Conditionally add the dynamic_dns section, acmedns provider is special, it does not support dynamic_dns. #} - {% if dnsProvider and dynDnsDomains|length > 0 and dnsProvider != "acmedns" %} + {% if dnsProvider and dynDnsDomains|length > 0 %} dynamic_dns { - {# duckdns provider is special, it has a different configuration for dynamic dns than for the dns-01 challenge. #} - {% if dnsProvider in dnsProviderSpecialConfig and dnsProvider != "duckdns" %} - provider {{ dnsProvider }} { - {% set context_var = 'dnsProviderSpecialLogic' %} - {% include "OPNsense/Caddy/includeDnsProvider" %} - } - {% else %} - {# Other DNS Providers fall under this default #} provider {{ dnsProvider }} {{ dnsApiKey }} - {% endif %} domains { {% for domain in dynDnsDomains %} {{ domain }} @@ -225,11 +192,7 @@ # https://caddyserver.com/docs/caddyfile/options#ech #} {% if generalSettings.TlsDnsEchDomain|default("") and dnsProvider %} - dns {{ dnsProvider }} {% if dnsProvider not in dnsProviderSpecialConfig %}{{ dnsApiKey }}{% else %}{ - {% set context_var = 'dnsProviderSpecialLogic' %} - {% include "OPNsense/Caddy/includeDnsProvider" %} - } - {% endif +%} + dns {{ dnsProvider }} {{ dnsApiKey }} ech {{ generalSettings.TlsDnsEchDomain }} {% endif %} @@ -323,11 +286,6 @@ http://{{ domain }} { clientAuthMode="", dnsProvider="", dnsApiKey="", - dnsSecretApiKey="", - tlsDnsOptionalField1="", - tlsDnsOptionalField2="", - tlsDnsOptionalField3="", - tlsDnsOptionalField4="", tlsDnsPropagationTimeout="", tlsDnsPropagationTimeoutPeriod="", tlsDnsPropagationDelay="", @@ -337,11 +295,7 @@ http://{{ domain }} { tls {% if customCert %}/var/db/caddy/data/caddy/certificates/temp/{{ customCert }}.pem /var/db/caddy/data/caddy/certificates/temp/{{ customCert }}.key{% endif %} { {% if not customCert and (dnsChallenge == "1" and dnsProvider) %} issuer acme { - dns {{ dnsProvider }} {% if dnsProvider not in dnsProviderSpecialConfig %}{{ dnsApiKey }}{% else %}{ - {% set context_var = 'dnsProviderSpecialLogic' %} - {% include "OPNsense/Caddy/includeDnsProvider" %} - } - {% endif %} + dns {{ dnsProvider }} {{ dnsApiKey }} {% if tlsDnsPropagationResolvers %} resolvers {{ tlsDnsPropagationResolvers }} @@ -622,11 +576,6 @@ http://{{ domain }} { clientAuthMode=reverse.ClientAuthMode|default(""), dnsProvider=generalSettings.TlsDnsProvider, dnsApiKey=generalSettings.TlsDnsApiKey, - dnsSecretApiKey=generalSettings.TlsDnsSecretApiKey, - tlsDnsOptionalField1=generalSettings.TlsDnsOptionalField1, - tlsDnsOptionalField2=generalSettings.TlsDnsOptionalField2, - tlsDnsOptionalField3=generalSettings.TlsDnsOptionalField3, - tlsDnsOptionalField4=generalSettings.TlsDnsOptionalField4, tlsDnsPropagationTimeout=generalSettings.TlsDnsPropagationTimeout, tlsDnsPropagationTimeoutPeriod=generalSettings.TlsDnsPropagationTimeoutPeriod, tlsDnsPropagationDelay=generalSettings.TlsDnsPropagationDelay, diff --git a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/includeDnsProvider b/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/includeDnsProvider deleted file mode 100644 index aa76b2ef7..000000000 --- a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/includeDnsProvider +++ /dev/null @@ -1,314 +0,0 @@ -{# -# This file gets imported in two sections of the Caddyfile template -# - Section: Dynamic DNS Global Configuration -# - Macro: tls_configuration -# -# It only includes DNS Providers that need specific settings and do not default to -# "dns {{ dnsProvider }} {{ dnsApiKey }}" -#} -{% macro dnsProviderSpecialConfig() %} - [ - 'duckdns', - 'porkbun', - 'desec', - 'route53', - 'acmedns', - 'googleclouddns', - 'azure', - 'ovh', - 'namecheap', - 'powerdns', - 'ddnss', - 'linode', - 'tencentcloud', - 'dinahosting', - 'hexonet', - 'mailinabox', - 'netcup', - 'rfc2136', - 'dnsmadeeasy', - 'civo', - 'scaleway', - 'acmeproxy', - 'inwx', - 'namedotcom', - 'easydns', - 'directadmin', - 'cloudns', - 'huaweicloud', - 'regfish', - 'dreamhost', - 'exoscale', - 'transip', - 'selectel', - 'luadns', - 'he', - 'dynu', - 'glesys', - 'nfsn', - 'loopia', - 'mythicbeasts', - 'alidns', - 'metaname' - ] -{% endmacro %} -{% if context_var == 'dnsProviderSpecialLogic' %} -{% if dnsProvider == 'duckdns' %} - {% if dnsApiKey %}api_token {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}override_domain {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'porkbun' %} - {% if dnsApiKey %}api_key {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}api_secret_key {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'desec' %} - {% if dnsApiKey %}token {{ dnsApiKey }} - {% endif %} -{% elif dnsProvider == 'route53' %} - {% if dnsApiKey %}access_key_id {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}secret_access_key {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}hosted_zone_id {{ dnsOptionalField1 }} - {% endif %} - {% if dnsOptionalField2 %}profile {{ dnsOptionalField2 }} - {% endif %} - {% if dnsOptionalField3 %}region {{ dnsOptionalField3 }} - {% endif %} - {% if dnsOptionalField4 %}session_token {{ dnsOptionalField4 }} - {% endif %} -{% elif dnsProvider == 'acmedns' %} - {% if dnsApiKey %}username {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}subdomain {{ dnsOptionalField1 }} - {% endif %} - {% if dnsOptionalField2 %}server_url {{ dnsOptionalField2 }} - {% endif %} -{% elif dnsProvider == 'googleclouddns' %} - {% if dnsApiKey %}gcp_project {{ dnsApiKey }} - {% endif %} -{% elif dnsProvider == 'azure' %} - {% if dnsApiKey %}tenant_id {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}client_id {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}client_secret {{ dnsOptionalField1 }} - {% endif %} - {% if dnsOptionalField2 %}subscription_id {{ dnsOptionalField2 }} - {% endif %} - {% if dnsOptionalField3 %}resource_group_name {{ dnsOptionalField3 }} - {% endif %} -{% elif dnsProvider == 'ovh' %} - {% if dnsApiKey %}endpoint {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}application_key {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}application_secret {{ dnsOptionalField1 }} - {% endif %} - {% if dnsOptionalField2 %}consumer_key {{ dnsOptionalField2 }} - {% endif %} -{% elif dnsProvider == 'namecheap' %} - {% if dnsApiKey %}api_key {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}user {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}api_endpoint {{ dnsOptionalField1 }} - {% endif %} - {% if dnsOptionalField2 %}client_ip {{ dnsOptionalField2 }} - {% endif %} -{% elif dnsProvider == 'powerdns' %} - {% if dnsApiKey %}server_url {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}api_token {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'ddnss' %} - {% if dnsApiKey %}api_token {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}username {{ dnsSecretApiKey }} - {% endif %} - password {{ dnsOptionalField1 }} -{% elif dnsProvider == 'linode' %} - {% if dnsApiKey %}api_token {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}api_url {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}api_version {{ dnsOptionalField1 }} - {% endif %} -{% elif dnsProvider == 'tencentcloud' %} - {% if dnsApiKey %}secret_id {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}secret_key {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'dinahosting' %} - {% if dnsApiKey %}username {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'hexonet' %} - {% if dnsApiKey %}username {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'mailinabox' %} - {% if dnsApiKey %}api_url {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}email_address {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}password {{ dnsOptionalField1 }} - {% endif %} -{% elif dnsProvider == 'netcup' %} - {% if dnsApiKey %}customer_number {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}api_key {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}api_password {{ dnsOptionalField1 }} - {% endif %} -{% elif dnsProvider == 'rfc2136' %} - {% if dnsApiKey %}key_name {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}key_alg {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}key {{ dnsOptionalField1 }} - {% endif %} - {% if dnsOptionalField2 %}server {{ dnsOptionalField2 }} - {% endif %} -{% elif dnsProvider == 'dnsmadeeasy' %} - {% if dnsApiKey %}api_key {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}secret_key {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}api_endpoint {{ dnsOptionalField1 }} - {% endif %} -{% elif dnsProvider == 'civo' %} - {% if dnsApiKey %}api_token {{ dnsApiKey }} - {% endif %} -{% elif dnsProvider == 'scaleway' %} - {% if dnsApiKey %}secret_key {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}organization_id {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'acmeproxy' %} - {% if dnsApiKey %}username {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}endpoint {{ dnsOptionalField1 }} - {% endif %} -{% elif dnsProvider == 'inwx' %} - {% if dnsApiKey %}username {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}shared_secret {{ dnsOptionalField1 }} - {% endif %} - {% if dnsOptionalField2 %}endpoint_url {{ dnsOptionalField2 }} - {% endif %} -{% elif dnsProvider == 'namedotcom' %} - {% if dnsApiKey %}token {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}server {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}user {{ dnsOptionalField1 }} - {% endif %} -{% elif dnsProvider == 'easydns' %} - {% if dnsApiKey %}api_token {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}api_key {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}api_url {{ dnsOptionalField1 }} - {% endif %} -{% elif dnsProvider == 'directadmin' %} - {% if dnsApiKey %}host {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}user {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}login_key {{ dnsOptionalField1 }} - {% endif %} - {% if dnsOptionalField2 %}insecure_requests {{ dnsOptionalField2 }} - {% endif %} -{% elif dnsProvider == 'cloudns' %} - {% if dnsApiKey %}auth_id {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}auth_password {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}sub_auth_id {{ dnsOptionalField1 }} - {% endif %} -{% elif dnsProvider == 'huaweicloud' %} - {% if dnsApiKey %}access_key_id {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}secret_access_key {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'regfish' %} - {% if dnsApiKey %}api_key {{ dnsApiKey }} - {% endif %} -{% elif dnsProvider == 'dreamhost' %} - {% if dnsApiKey %}api_key {{ dnsApiKey }} - {% endif %} -{% elif dnsProvider == 'exoscale' %} - {% if dnsApiKey %}api_key {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}api_secret {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'transip' %} - {% if dnsApiKey %}account_name {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}private_key_path {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'selectel' %} - {% if dnsApiKey %}user {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }} - {% endif %} - {% if dnsOptionalField1 %}account_id {{ dnsOptionalField1 }} - {% endif %} - {% if dnsOptionalField2 %}project_name {{ dnsOptionalField2 }} - {% endif %} -{% elif dnsProvider == 'luadns' %} - {% if dnsApiKey %}email {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}api_key {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'he' %} - {% if dnsApiKey %}api_key {{ dnsApiKey }} - {% endif %} -{% elif dnsProvider == 'dynu' %} - {% if dnsApiKey %}api_token {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}own_domain {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'glesys' %} - {% if dnsApiKey %}project {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}api_key {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'nfsn' %} - {% if dnsApiKey %}login {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}api_key {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'loopia' %} - {% if dnsApiKey %}username {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'mythicbeasts' %} - {% if dnsApiKey %}key_id {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}secret {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'alidns' %} - {% if dnsApiKey %}access_key_id {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}access_key_secret {{ dnsSecretApiKey }} - {% endif %} -{% elif dnsProvider == 'metaname' %} - {% if dnsApiKey %}api_key {{ dnsApiKey }} - {% endif %} - {% if dnsSecretApiKey %}account_reference {{ dnsSecretApiKey }} - {% endif %} -{% endif %} -{% endif %}