@continuous-excellence/ze-great-dashboard-aws 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,121 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "board-config.schema.json",
4
+ "title": "Ze Great Dashboard board configuration",
5
+ "type": "object",
6
+ "required": ["boards"],
7
+ "additionalProperties": true,
8
+ "properties": {
9
+ "sources": { "type": "object", "additionalProperties": { "$ref": "#/$defs/source" } },
10
+ "boards": {
11
+ "type": "object",
12
+ "minProperties": 1,
13
+ "additionalProperties": { "$ref": "#/$defs/board" }
14
+ },
15
+ "auth": { "$ref": "#/$defs/auth" }
16
+ },
17
+ "$defs": {
18
+ "duration": { "type": "string", "pattern": "^[1-9][0-9]*(?:ms|s|m|h)$" },
19
+ "position": {
20
+ "oneOf": [
21
+ {
22
+ "type": "object",
23
+ "required": ["x", "y", "w", "h"],
24
+ "properties": {
25
+ "x": { "type": "integer", "minimum": 0 },
26
+ "y": { "type": "integer", "minimum": 0 },
27
+ "w": { "type": "integer", "minimum": 1, "maximum": 12 },
28
+ "h": { "type": "integer", "minimum": 1 }
29
+ },
30
+ "additionalProperties": true
31
+ },
32
+ {
33
+ "type": "object",
34
+ "required": ["x", "y", "w", "h"],
35
+ "properties": {
36
+ "x": { "const": 0 },
37
+ "y": { "const": 0 },
38
+ "w": { "const": 0 },
39
+ "h": { "const": 0 }
40
+ },
41
+ "additionalProperties": true
42
+ }
43
+ ]
44
+ },
45
+ "panel": {
46
+ "type": "object",
47
+ "required": ["id", "type"],
48
+ "additionalProperties": true,
49
+ "properties": {
50
+ "id": { "type": "string", "minLength": 1 },
51
+ "type": { "type": "string", "minLength": 1 },
52
+ "label": { "type": "string", "minLength": 1 },
53
+ "source": { "type": "string", "minLength": 1 },
54
+ "pipeline": { "oneOf": [{ "type": "string" }, { "type": "number" }] },
55
+ "density": { "enum": ["auto", "comfortable", "compact"] },
56
+ "position": { "$ref": "#/$defs/position" },
57
+ "refresh": { "$ref": "#/$defs/duration" },
58
+ "running_refresh": { "$ref": "#/$defs/duration" },
59
+ "running_completion_refresh": { "$ref": "#/$defs/duration" },
60
+ "running_completion_window": { "$ref": "#/$defs/duration" },
61
+ "running_animation": {
62
+ "enum": [
63
+ "radial",
64
+ "runway",
65
+ "orbit",
66
+ "signal-field",
67
+ "telemetry-bloom",
68
+ "release-transit",
69
+ "status-weather",
70
+ "falling-shapes",
71
+ "off"
72
+ ]
73
+ },
74
+ "demo_run_duration": { "$ref": "#/$defs/duration" },
75
+ "demo_review_duration": { "$ref": "#/$defs/duration" },
76
+ "link": { "type": "string", "format": "uri" },
77
+ "url": { "type": "string", "format": "uri" },
78
+ "json_path": {
79
+ "type": "string",
80
+ "pattern": "^\\$(?:\\.[A-Za-z_][A-Za-z0-9_]*|\\[\\d+\\])*$"
81
+ }
82
+ }
83
+ },
84
+ "board": {
85
+ "type": "object",
86
+ "required": ["panels"],
87
+ "additionalProperties": true,
88
+ "properties": {
89
+ "refresh": { "$ref": "#/$defs/duration" },
90
+ "running_refresh": { "$ref": "#/$defs/duration" },
91
+ "running_completion_refresh": { "$ref": "#/$defs/duration" },
92
+ "running_completion_window": { "$ref": "#/$defs/duration" },
93
+ "panels": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/panel" } }
94
+ }
95
+ },
96
+ "source": {
97
+ "type": "object",
98
+ "required": ["type"],
99
+ "additionalProperties": true,
100
+ "properties": {
101
+ "type": { "type": "string", "minLength": 1 },
102
+ "token_env": { "type": "string", "minLength": 1 }
103
+ }
104
+ },
105
+ "auth": {
106
+ "type": "object",
107
+ "required": ["issuer"],
108
+ "properties": {
109
+ "issuer": { "type": "string", "format": "uri" },
110
+ "client_id": { "type": "string", "minLength": 1 },
111
+ "allow": {
112
+ "type": "object",
113
+ "properties": {
114
+ "groups": { "type": "array", "items": { "type": "string", "minLength": 1 } },
115
+ "subjects": { "type": "array", "items": { "type": "string", "minLength": 1 } }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }