Files
the-littlest-jupyterhub/tljh/config-schema.json
Jordan Bradford 78d4b7fbc4 Test config setup
2024-02-02 22:52:16 -05:00

143 lines
2.9 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Littlest JupyterHub YAML config file",
"definitions": {
"Users": {
"type": "object",
"properties": {
"extra_user_groups": {
"type": "object",
"items": {
"type": "string"
}
},
"allowed": {
"type": "array",
"items": {
"type": "string"
}
},
"banned": {
"type": "array",
"items": {
"type": "string"
}
},
"admin": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"HTTP": {
"type": "object",
"additionalProperties": false,
"properties": {
"address": {
"type": "string",
"format": "ipv4"
},
"port": {
"type": "integer"
}
}
},
"HTTPS": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"address": {
"type": "string",
"format": "ipv4"
},
"port": {
"type": "integer"
},
"tls": {
"$ref": "#/definitions/TLS"
},
"letsencrypt": {
"$ref": "#/definitions/LetsEncrypt"
}
}
},
"LetsEncrypt": {
"type": "object",
"additionalProperties": false,
"properties": {
"email": {
"type": "string",
"format": "email"
},
"domains": {
"type": "array",
"items": {
"type": "string",
"format": "hostname"
}
}
}
},
"TLS": {
"type": "object",
"additionalProperties": false,
"properties": {
"key": {
"type": "string"
},
"cert": {
"type": "string"
}
},
"required": ["key", "cert"]
},
"Limits": {
"description": "User CPU and memory limits.",
"type": "object",
"additionalProperties": false,
"properties": {
"memory": {
"type": "string"
},
"cpu": {
"type": "integer"
}
}
},
"UserEnvironment": {
"type": "object",
"additionalProperties": false,
"properties": {
"default_app": {
"type": "string",
"enum": ["jupyterlab", "classic"],
"default": "jupyterlab"
}
}
}
},
"properties": {
"additionalProperties": false,
"user_environment": {
"$ref": "#/definitions/UserEnvironment"
},
"users": {
"$ref": "#/definitions/Users"
},
"limits": {
"$ref": "#/definitions/Limits"
},
"https": {
"$ref": "#/definitions/HTTPS"
},
"http": {
"$ref": "#/definitions/HTTP"
}
}
}