-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata-repository.schema.json
More file actions
23 lines (23 loc) · 986 Bytes
/
Copy pathdata-repository.schema.json
File metadata and controls
23 lines (23 loc) · 986 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://zaati-os.dev/schemas/data-repository.schema.json",
"title": "Zaati OS private data repository contract",
"type": "object",
"additionalProperties": false,
"required": ["contract_version", "code_repository", "code_ref", "workflow_id", "expected_source_ids", "snapshot_encryption"],
"properties": {
"$schema": { "type": "string" },
"contract_version": { "const": "0.1.1" },
"code_repository": { "type": "string", "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$" },
"code_ref": { "type": "string", "pattern": "^(?:[0-9a-f]{40}|v[0-9]+\\.[0-9]+\\.[0-9]+)$" },
"workflow_id": { "type": "string", "pattern": "^[a-z0-9-]+$" },
"expected_source_ids": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"uniqueItems": true,
"items": { "type": "string", "pattern": "^[a-z0-9-]+:[a-z0-9-]+$" }
},
"snapshot_encryption": { "type": "boolean" }
}
}