at.marque.dns
Schema Diff
+3 -3
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 1 non-breaking change.
Breaking Changes (2)
- KindChanged KindChanged { vertex_id: "at.marque.dns#entry.ttl", old_kind: "integer", new_kind: "string" }
- ConstraintAdded ConstraintAdded { vertex_id: "at.marque.dns#entry.ttl", sort: "maxLength", value: "16" }
Non-Breaking Changes (1)
- ConstraintRemoved ConstraintRemoved { vertex_id: "at.marque.dns#entry.ttl", sort: "minimum" }
Migration Guidance
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "at.marque.dns#entry.ttl", sort: "maxLength", value: "16" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "at.marque.dns#entry.ttl", sort: "minimum" }
Additional Notes
- Breaking: KindChanged { vertex_id: "at.marque.dns#entry.ttl", old_kind: "integer", new_kind: "string" }
1
1
{
2
2
"id": "at.marque.dns",
3
3
"defs": {
4
4
"main": {
5
5
"key": "any",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"domain",
11
11
"records",
12
12
"createdAt"
13
13
],
14
14
"properties": {
15
15
"domain": {
16
16
"type": "string",
17
17
"maxLength": 253,
18
18
"description": "Fully qualified domain name this zone belongs to."
19
19
},
20
20
"records": {
21
21
"type": "array",
22
22
"items": {
23
23
"ref": "#entry",
24
24
"type": "ref"
25
25
},
26
26
"description": "The DNS resource records in this zone."
27
27
},
28
28
"createdAt": {
29
29
"type": "string",
30
30
"format": "datetime",
31
31
"description": "Client-declared timestamp when this record was last written."
32
32
}
33
33
}
34
34
},
35
35
"description": "Record containing the DNS zone entries for a domain managed by Marque. The record key matches the corresponding at.marque.domain record key (the FQDN)."
36
36
},
37
37
"entry": {
38
38
"type": "object",
39
39
"required": [
40
40
"name",
41
41
"recordType",
42
42
"value",
43
43
"ttl"
44
44
],
45
45
"properties": {
46
46
"ttl": {
47
-
"type": "integer",
48
-
"minimum": 60,
49
-
"description": "Time-to-live in seconds."
47
+
"type": "string",
48
+
"maxLength": 16,
49
+
"description": "Time-to-live in seconds, or 'auto' for provider-managed TTL (e.g. Cloudflare automatic)."
50
50
},
51
51
"name": {
52
52
"type": "string",
53
53
"maxLength": 253,
54
54
"description": "Record name relative to the zone apex. Use '@' for the apex itself."
55
55
},
56
56
"value": {
57
57
"type": "string",
58
58
"maxLength": 4096,
59
59
"description": "Record value / rdata."
60
60
},
61
61
"priority": {
62
62
"type": "integer",
63
63
"description": "Priority value for MX and SRV records."
64
64
},
65
65
"recordType": {
66
66
"type": "string",
67
67
"description": "DNS record type.",
68
68
"knownValues": [
69
69
"A",
70
70
"AAAA",
71
71
"CNAME",
72
72
"MX",
73
73
"TXT",
74
74
"SRV",
75
75
"NS",
76
76
"CAA"
77
77
]
78
78
}
79
79
},
80
80
"description": "A single DNS resource record."
81
81
}
82
82
},
83
83
"$type": "com.atproto.lexicon.schema",
84
84
"lexicon": 1,
85
85
"description": "DNS zone records for a domain where Marque handles the nameservers. Stored in the user's repository."
86
86
}