ansible-base/roles/hedgedoc/cfg.schema.json

241 lines
4.5 KiB
JSON
Raw Normal View History

2025-10-08 11:20:09 +02:00
{
"nullable": false,
"type": "object",
"properties": {
"user_name": {
"nullable": false,
"type": "string",
"default": "hedgedoc"
},
"directory": {
"nullable": false,
"type": "string",
"default": "/opt/hedgedoc"
},
"version": {
"nullable": false,
"type": "string",
"version": "1.9.9"
},
"session_secret": {
"nullable": false,
"type": "string"
},
"domain": {
"nullable": false,
"type": "string",
"default": "hedgedoc.example.org"
},
"database": {
2025-10-08 12:26:20 +02:00
"nullable": false,
"type": "object",
"properties": {
"kind": {
2025-10-08 11:20:09 +02:00
"nullable": false,
2025-10-08 12:26:20 +02:00
"type": "string",
"enum": [
"sqlite",
"postgresql"
],
"default": "sqlite"
2025-10-08 11:20:09 +02:00
},
2025-10-08 12:26:20 +02:00
"data": {
"anyOf": [
{
2025-10-08 11:20:09 +02:00
"nullable": false,
"type": "object",
"properties": {
2025-10-08 12:26:20 +02:00
"sqlite": {
2025-10-08 11:20:09 +02:00
"nullable": false,
2025-10-08 12:26:20 +02:00
"type": "object",
"properties": {
"path": {
"nullable": false,
"type": "string",
"default": "/var/hedgedoc/data.sqlite"
}
},
"additionalProperties": false,
"required": [
],
"default": {
}
2025-10-08 11:20:09 +02:00
}
},
"additionalProperties": false,
"required": [
2025-10-08 12:26:20 +02:00
"sqlite"
2025-10-08 11:20:09 +02:00
]
},
2025-10-08 12:26:20 +02:00
{
2025-10-08 11:20:09 +02:00
"nullable": false,
"type": "object",
"properties": {
2025-10-08 12:26:20 +02:00
"postgresql": {
2025-10-08 11:20:09 +02:00
"nullable": false,
2025-10-08 12:26:20 +02:00
"type": "object",
"properties": {
"host": {
"nullable": false,
"type": "string",
"default": "localhost"
},
"port": {
"nullable": false,
"type": "integer",
"default": 5432
},
"username": {
"nullable": false,
"type": "string",
"default": "hedgedoc_user"
},
"password": {
"nullable": false,
"type": "string"
},
"schema": {
"nullable": false,
"type": "string",
"default": "hedgedoc"
}
},
"additionalProperties": false,
"required": [
"password"
]
2025-10-08 11:20:09 +02:00
}
},
"additionalProperties": false,
"required": [
2025-10-08 12:26:20 +02:00
"postgresql"
2025-10-08 11:20:09 +02:00
]
}
]
}
2025-10-08 12:26:20 +02:00
},
"additionalProperties": false,
"required": [
"kind",
"data"
2025-10-08 11:20:09 +02:00
]
},
"authentication": {
2025-10-08 12:26:20 +02:00
"nullable": false,
"type": "object",
"properties": {
"kind": {
2025-10-08 11:20:09 +02:00
"nullable": false,
2025-10-08 12:26:20 +02:00
"type": "string",
"enum": [
"internal",
"authelia"
],
"default": "internal"
},
"data": {
"anyOf": [
{
2025-10-08 11:20:09 +02:00
"nullable": false,
"type": "object",
"properties": {
2025-10-08 12:26:20 +02:00
"internal": {
"nullable": false,
"type": "object",
"properties": {
},
"additionalProperties": false,
"required": [
],
"default": {
}
}
2025-10-08 11:20:09 +02:00
},
"additionalProperties": false,
"required": [
2025-10-08 12:26:20 +02:00
"internal"
2025-10-08 11:20:09 +02:00
]
},
2025-10-08 12:26:20 +02:00
{
2025-10-08 11:20:09 +02:00
"nullable": false,
"type": "object",
"properties": {
2025-10-08 12:26:20 +02:00
"authelia": {
2025-10-08 11:20:09 +02:00
"nullable": false,
2025-10-08 12:26:20 +02:00
"type": "object",
"properties": {
"url_base": {
"nullable": false,
"type": "string"
},
"client_id": {
"nullable": false,
"type": "string",
"default": "hedgedoc"
},
"client_secret": {
"nullable": false,
"type": "string"
},
"provider_name": {
"nullable": false,
"type": "string",
"default": "Authelia"
}
},
"additionalProperties": false,
"required": [
"url_base",
"client_secret"
]
2025-10-08 11:20:09 +02:00
}
},
"additionalProperties": false,
"required": [
2025-10-08 12:26:20 +02:00
"authelia"
2025-10-08 11:20:09 +02:00
]
}
]
}
2025-10-08 12:26:20 +02:00
},
"additionalProperties": false,
"required": [
"kind",
"data"
2025-10-08 11:20:09 +02:00
]
},
"log_level": {
"nullable": false,
"type": "string",
"enum": [
"debug",
"verbose",
"info",
"warn",
"error"
],
"default": "error"
},
"guest_allow_create": {
"nullable": false,
"type": "boolean",
"default": false
},
"guest_allow_change": {
"nullable": false,
"type": "boolean",
"default": false
},
"free_names_mode": {
"nullable": false,
"type": "string",
"default": "authed"
}
},
"additionalProperties": false,
"required": [
"domain",
"session_secret"
]
}