mirror of
https://github.com/partofmyid/register.git
synced 2026-06-05 18:46:50 +07:00
commit
8711917769
2 changed files with 90 additions and 0 deletions
6
.github/workflows/validation.yml
vendored
6
.github/workflows/validation.yml
vendored
|
|
@ -36,3 +36,9 @@ jobs:
|
||||||
pattern: "\\.json$"
|
pattern: "\\.json$"
|
||||||
env:
|
env:
|
||||||
BASE: "domains/"
|
BASE: "domains/"
|
||||||
|
# NOTE: wait for wildcard support
|
||||||
|
# - name: Validate JSON Schema
|
||||||
|
# uses: docker://orrosenblatt/validate-json-action:latest
|
||||||
|
# env:
|
||||||
|
# INPUT_SCHEMA: "schema.json"
|
||||||
|
# INPUT_JSONS: "domains/*"
|
||||||
|
|
|
||||||
84
schema.json
Normal file
84
schema.json
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"description": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"owner": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"username": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": ["username"]
|
||||||
|
},
|
||||||
|
"record": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"A": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "ipv4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AAAA": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "ipv6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"CNAME": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"MX": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"TXT": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SRV": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"priority": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"weight": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"port": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": ["priority", "weight", "port", "target"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"anyOf": [
|
||||||
|
{ "required": ["A"] },
|
||||||
|
{ "required": ["AAAA"] },
|
||||||
|
{ "required": ["CNAME"] },
|
||||||
|
{ "required": ["MX"] },
|
||||||
|
{ "required": ["TXT"] },
|
||||||
|
{ "required": ["SRV"] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"proxied": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": ["owner", "record", "proxied"]
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue