1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

NEW RECORD TYPE: HTTPS & SVCB (#2919)

Thanks so much for this contribution!  I have a feeling that a lot of people are going to need these records soon!
This commit is contained in:
Florian Ritterhoff
2024-05-01 17:37:15 +02:00
committed by GitHub
parent eae96860cd
commit 3a9b413175
22 changed files with 297 additions and 17 deletions

View File

@ -0,0 +1,32 @@
---
name: HTTPS
parameters:
- name
- priority
- target
- params
- modifiers...
parameter_types:
name: string
priority: number
target: string
params: string
"modifiers...": RecordModifier[]
---
HTTPS adds an HTTPS record to a domain. The name should be the relative label for the record. Use `@` for the domain apex. The HTTPS record is a special form of the SVCB resource record.
The priority must be a positive number, the address should be an ip address, either a string, or a numeric value obtained via [IP](../top-level-functions/IP.md).
The params may be configured to specify the `alpn`, `ipv4hint`, `ipv6hint`, `ech` or `port` setting. Several params may be joined by a space. Not existing params may be specified as an empty string `""`
Modifiers can be any number of [record modifiers](https://docs.dnscontrol.org/language-reference/record-modifiers) or JSON objects, which will be merged into the record's metadata.
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
HTTPS("@", 1, ".", "ipv4hint=123.123.123.123 alpn=h3,h2 port=443"),
HTTPS("@", 1, "test.com", "")
);
```
{% endcode %}

View File

@ -0,0 +1,31 @@
---
name: SVCB
parameters:
- name
- priority
- target
- params
- modifiers...
parameter_types:
name: string
priority: number
target: string
params: string
"modifiers...": RecordModifier[]
---
SVCB adds an SVCB record to a domain. The name should be the relative label for the record. Use `@` for the domain apex.
The priority must be a positive number, the address should be an ip address, either a string, or a numeric value obtained via [IP](../top-level-functions/IP.md).
The params may be configured to specify the `alpn`, `ipv4hint`, `ipv6hint`, `ech` or `port` setting. Several params may be joined by a space. Not existing params may be specified as an empty string `""`
Modifiers can be any number of [record modifiers](https://docs.dnscontrol.org/language-reference/record-modifiers) or JSON objects, which will be merged into the record's metadata.
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
SVCB("@", 1, ".", "ipv4hint=123.123.123.123 alpn=h3,h2 port=443")
);
```
{% endcode %}