appwarden
Version:
CLI tool to manage Appwarden monitors and deployments
339 lines (338 loc) • 15.2 kB
JSON
{
"$ref": "#/definitions/DomainConfigurationFile",
"definitions": {
"DomainConfigurationFile": {
"type": "object",
"properties": {
"hostname": {
"type": "string"
},
"version": {
"type": "number",
"default": 1
},
"dns": {
"type": "object",
"properties": {
"monitors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"validator": {
"type": "string",
"enum": [
"starts-with",
"cidr-block"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"validator": {
"type": "string",
"enum": [
"starts-with",
"cidr-block"
]
}
},
"required": [
"content"
],
"additionalProperties": false
}
}
]
}
},
"required": [
"name",
"type",
"content"
],
"additionalProperties": false
}
},
"options": {
"type": "object",
"properties": {
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"label",
"url"
],
"additionalProperties": false
},
"default": []
},
"provider": {
"type": "string",
"enum": [
"Vercel",
"Route53",
"Cloudflare",
"Unspecified"
],
"default": "Unspecified"
}
},
"additionalProperties": false
}
},
"required": [
"monitors"
],
"additionalProperties": false
},
"services": {
"type": "object",
"properties": {
"options": {
"type": "object",
"properties": {
"links": {
"type": "array",
"items": {
"$ref": "#/definitions/DomainConfigurationFile/properties/dns/properties/options/properties/links/items"
},
"default": []
}
},
"additionalProperties": false,
"default": {
"links": []
}
},
"monitors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
},
"validator": {
"type": "string",
"enum": [
"starts-with",
"cidr-block"
]
}
},
"required": [
"name",
"value"
],
"additionalProperties": false
}
},
"status": {
"type": "number"
}
},
"required": [
"url",
"headers",
"status"
],
"additionalProperties": false
},
"default": []
},
"middleware": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"options": {
"type": "object",
"properties": {
"debug": {
"type": [
"boolean",
"string"
]
},
"lock-page-slug": {
"type": "string"
},
"csp-mode": {
"type": "string",
"enum": [
"disabled",
"report-only",
"enforced"
]
},
"csp-directives": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"default-src": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
},
{
"type": "boolean"
}
]
},
"script-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"style-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"img-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"connect-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"font-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"object-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"media-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"frame-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"sandbox": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"report-uri": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"child-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"form-action": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"frame-ancestors": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"plugin-types": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"base-uri": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"report-to": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"worker-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"manifest-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"prefetch-src": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"navigate-to": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"require-sri-for": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"block-all-mixed-content": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"upgrade-insecure-requests": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"trusted-types": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
},
"require-trusted-types-for": {
"$ref": "#/definitions/DomainConfigurationFile/properties/services/properties/middleware/items/properties/options/properties/csp-directives/anyOf/1/properties/default-src"
}
},
"additionalProperties": false
}
]
}
},
"required": [
"lock-page-slug"
],
"additionalProperties": false
}
},
"required": [
"url"
],
"additionalProperties": false
},
"default": []
}
},
"additionalProperties": false
}
},
"required": [
"hostname"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}