-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.ts
99 lines (88 loc) · 2.31 KB
/
config.ts
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
import { Config } from "./configSchema.ts";
const config: Config = {
/** Logging severity*/
logLevel: "INFO",
/** Logging format (pretty/json) */
logFormat: "pretty",
/** Wether or not to enable HTTPS */
useSsl: false,
/** Config for Deno HttpServer (ServeInit) */
http: {
hostname: "0.0.0.0",
port: 7000,
},
/** Config for Deno HttpServer (ServeTlsInit) */
https: {
hostname: "0.0.0.0",
port: 7000,
certFile: "fullchain.pem",
keyFile: "privkey.pem",
},
/** Dynamic list of authorized customers and access keys */
/*
customerApi: {
updateFunction: myFunction,
updateInterval: 300, // seconds
},
*/
/** Static list of authorized customers and access keys */
customers: [
{
id: "foo",
maxPeers: Infinity,
maxRooms: Infinity,
accessKeys: [
{
publicKey: {
kid: "AS/SFQ8vLw4d",
kty: "OKP",
crv: "Ed25519",
x: "hbpwECksrfP0fiPv-lMd8xvvHByZQAJS3jhMVxSmvcI",
},
},
{
publicKey: {
kid: "AZvhoCg3O2Nr",
kty: "OKP",
crv: "Ed25519",
x: "ZZ2W3mmfJRyRDgtfB6rTWzvXQ-pZCBiNF_0cACF44D0",
},
},
],
},
{
id: "bar",
maxPeers: 100,
maxRooms: Infinity,
accessKeys: [
{
publicKey: {
kid: "ATpQJeUaWhBz",
kty: "OKP",
crv: "Ed25519",
x: "gXghuQy6iMKQSlx4Wkb3Py_C_BRITPpuEWv3fG_4Yvo",
},
},
],
},
],
/** Deny authorization requests with unknown access keys */
unknownCustomers: "forbidden",
sfuConfig: {
/** IP address range from which attached ODIN servers will allow querying metrics */
metricsServer: "0.0.0.0/0",
/** Time in seconds between reports from attached ODIN servers */
updateInterval: 5,
/** Time in seconds after which an attached ODIN server will be marked as disabled */
disableTimeout: 7.5,
/** Time in seconds after which an attached ODIN server will be removed */
removeTimeout: 600,
},
loginToken: {
/** Time in seconds to use as lifetime for client login tokens */
lifetime: 300,
},
/** Base64 encoded master key */
masterKey: "VGhpcyBpcyBhIHN1cGVyIHNlY3JldCBtYXN0ZXIga2V5IQ==",
};
export default config;