-
Notifications
You must be signed in to change notification settings - Fork 1
/
settings.schema.yaml
112 lines (112 loc) · 2.9 KB
/
settings.schema.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
$schema: https://json-schema.org/draft-07/schema
$defs:
Accounts:
additionalProperties: false
description: InNoHassle Accounts integration settings
properties:
api_url:
default: https://api.innohassle.ru/accounts/v0
description: URL of the Accounts API
title: Api Url
type: string
api_jwt_token:
description: JWT token for accessing the Accounts API as a service
format: password
title: Api Jwt Token
type: string
writeOnly: true
required:
- api_jwt_token
title: Accounts
type: object
Environment:
enum:
- development
- production
- testing
title: Environment
type: string
MusicRoom:
additionalProperties: false
description: InNoHassle-MusicRoom integration settings
properties:
api_url:
description: URL of the Music Room API
title: Api Url
type: string
api_key:
description: API key for the Music Room API
format: password
title: Api Key
type: string
writeOnly: true
required:
- api_url
- api_key
title: MusicRoom
type: object
Sport:
additionalProperties: false
description: Innopolis Sport integration settings
properties:
api_url:
default: https://sport.innopolis.university/api
description: URL of the Sport API
title: Api Url
type: string
title: Sport
type: object
additionalProperties: false
description: Settings for the application. Get settings from `settings.yaml` file.
properties:
app_root_path:
default: ''
description: Prefix for the API path (e.g. '/api/v0')
title: App Root Path
type: string
environment:
$ref: '#/$defs/Environment'
default: development
description: App environment
db_url:
description: PostgreSQL database connection URL
examples:
- postgresql+asyncpg://postgres:postgres@localhost:5432/postgres
- postgresql+asyncpg://postgres:postgres@db:5432/postgres
format: password
title: Db Url
type: string
writeOnly: true
cors_allow_origin_regex:
default: .*
description: 'Allowed origins for CORS: from which domains requests to the API
are allowed. Specify as a regex: `https://.*.innohassle.ru`'
title: Cors Allow Origin Regex
type: string
predefined_dir:
default: predefined
description: Path to the directory with predefined data
format: path
title: Predefined Dir
type: string
accounts:
$ref: '#/$defs/Accounts'
music_room:
anyOf:
- $ref: '#/$defs/MusicRoom'
- type: 'null'
default: null
description: InNoHassle MusicRoom integration settings
sport:
$ref: '#/$defs/Sport'
default:
api_url: https://sport.innopolis.university/api
$schema:
description: Path to the schema file
title: Schema
type: string
required:
- db_url
- accounts
title: Settings
type: object