@test-org-th/omd-schema 0.0.0-stage → 1.0.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.
package/README.md CHANGED
@@ -1,3 +1,22 @@
1
- # Temporary Holding Version
1
+ # @test-org-th/omd-schema
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Every released OMD schema version in one package. Sandbox for
4
+ [omd-schema](https://github.com/wbd-streaming/omd-schema).
5
+
6
+ ```
7
+ schemas/
8
+ index.json # versions per kind, newest first, with tag and commit
9
+ v1.4.4/OmdComponent.json
10
+ v1.2.1/OmdService.json
11
+ ...
12
+ ```
13
+
14
+ Pick the schema from the `schema_version` in a `now.yaml`:
15
+
16
+ ```js
17
+ const index = require('@test-org-th/omd-schema/schemas/index.json');
18
+ const schema = require(`@test-org-th/omd-schema/schemas/${version}/OmdComponent.json`);
19
+ ```
20
+
21
+ Each schema version is also a GitHub release (`component-v1.4.4`,
22
+ `service-v1.2.1`) with the JSON attached.
package/package.json CHANGED
@@ -1,6 +1,17 @@
1
1
  {
2
2
  "name": "@test-org-th/omd-schema",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.0.0",
4
+ "description": "Every released OMD schema version, built from the component-v* and service-v* tags",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/saturday-vibes/omd-schema-sandbox.git"
8
+ },
9
+ "license": "MIT",
10
+ "files": [
11
+ "schemas"
12
+ ],
13
+ "publishConfig": {
14
+ "access": "public",
15
+ "registry": "https://registry.npmjs.org/"
16
+ }
17
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "component": {
3
+ "latest": "v1.4.5",
4
+ "versions": [
5
+ {
6
+ "version": "v1.4.5",
7
+ "tag": "component-v1.4.5",
8
+ "commit": "d06dcf29da74051befdcd7ac04dcfac195d0d799"
9
+ },
10
+ {
11
+ "version": "v1.4.4",
12
+ "tag": "component-v1.4.4",
13
+ "commit": "4a4c674a465ad911b38fecc3f6bee91a98d371f2"
14
+ },
15
+ {
16
+ "version": "v1.4.3",
17
+ "tag": "component-v1.4.3",
18
+ "commit": "c8857b8073f332ead9ec55d2495da1203111659d"
19
+ },
20
+ {
21
+ "version": "v1.4.2",
22
+ "tag": "component-v1.4.2",
23
+ "commit": "a528c7bea181b61b187c3eaaa017dead8150ebcc"
24
+ },
25
+ {
26
+ "version": "v1.4.1",
27
+ "tag": "component-v1.4.1",
28
+ "commit": "974549be720acd8cf4e7340107dad9d463ec891e"
29
+ },
30
+ {
31
+ "version": "v1.4.0",
32
+ "tag": "component-v1.4.0",
33
+ "commit": "0a1c52b4f8509d39c5aa73f8a4ded6432e9e90f8"
34
+ },
35
+ {
36
+ "version": "v1.3.2",
37
+ "tag": "component-v1.3.2",
38
+ "commit": "8e7d192260f8041634b71095fdbb9b8f05bc01e4"
39
+ },
40
+ {
41
+ "version": "v1.3.1",
42
+ "tag": "component-v1.3.1",
43
+ "commit": "3e24d11eb54d63aaf14b1fcf5f1ac0759f2774e3"
44
+ },
45
+ {
46
+ "version": "v1.3.0",
47
+ "tag": "component-v1.3.0",
48
+ "commit": "ac2b437070bebb0236034f8c1eba53704e3ad0e6"
49
+ },
50
+ {
51
+ "version": "v1.2.0",
52
+ "tag": "component-v1.2.0",
53
+ "commit": "5e816d0b9470ae470d8c89ef190e1e890284ac8d"
54
+ },
55
+ {
56
+ "version": "v1.1.4",
57
+ "tag": "component-v1.1.4",
58
+ "commit": "2260e4967361caa0bf43bfd297f4f15d2e2343ac"
59
+ },
60
+ {
61
+ "version": "v1.1.3",
62
+ "tag": "component-v1.1.3",
63
+ "commit": "5aba254bc47ae0148fa6e496c9a1575aebe019a0"
64
+ },
65
+ {
66
+ "version": "v1.1.2",
67
+ "tag": "component-v1.1.2",
68
+ "commit": "1aac469247d5db1bfebed7508bcbfd4be514140f"
69
+ },
70
+ {
71
+ "version": "v1.1.1",
72
+ "tag": "component-v1.1.1",
73
+ "commit": "a88396bf21b7bff2c2407d6f02d4e2b72c368bf1"
74
+ },
75
+ {
76
+ "version": "v1.1.0",
77
+ "tag": "component-v1.1.0",
78
+ "commit": "74bb3aa87b83b3c5ba7a9e856dd59d88547f401b"
79
+ },
80
+ {
81
+ "version": "v1.0.0",
82
+ "tag": "component-v1.0.0",
83
+ "commit": "4ec0115f223be48af04e5b66f024627b9aac6770"
84
+ }
85
+ ]
86
+ },
87
+ "service": {
88
+ "latest": "v1.2.1",
89
+ "versions": [
90
+ {
91
+ "version": "v1.2.1",
92
+ "tag": "service-v1.2.1",
93
+ "commit": "4e29df57bc8676a084b80a58fab347ca57ab3c45"
94
+ },
95
+ {
96
+ "version": "v1.2.0",
97
+ "tag": "service-v1.2.0",
98
+ "commit": "a3c4a8f34a840161940d32e0c55fbae4e34290c2"
99
+ },
100
+ {
101
+ "version": "v1.1.0",
102
+ "tag": "service-v1.1.0",
103
+ "commit": "3d42570a95182c318c1b36307be48be3db635b09"
104
+ },
105
+ {
106
+ "version": "v1.0.0",
107
+ "tag": "service-v1.0.0",
108
+ "commit": "dca18472a77a275b397d63f131dbd6c90c9c8a63"
109
+ }
110
+ ]
111
+ }
112
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "title": "OMD Schema - Component",
4
+ "type": "object",
5
+ "required": [
6
+ "omd_service",
7
+ "omd_component",
8
+ "omd_jira_project",
9
+ "omd_schema_version",
10
+ "inventory_id"
11
+ ],
12
+ "properties": {
13
+ "omd_service": { "type": "string" },
14
+ "omd_schema_version": { "type": "string" },
15
+ "inventory_id": { "type": "string", "const": "980162270ee0cf69c2e3a0a0a87dd93d-e8e885e0931c2c609d3059f840c02b70" },
16
+ "omd_component": {
17
+ "title": "Component",
18
+ "description": "Name of an individual microservice, shared library, or other platform element (e.g. lambda, batch job, etc). The value must be unique across the ecosystem.",
19
+ "type": "object",
20
+ "required": [
21
+ "name",
22
+ "description",
23
+ "omd_type",
24
+ "omd_compliance",
25
+ "omd_cell",
26
+ "subdivision_strategy",
27
+ "omd_sdm_owner_email"
28
+ ],
29
+ "properties": {
30
+ "name": {
31
+ "title": "Component",
32
+ "type": "string"
33
+ },
34
+ "description": {
35
+ "title": "Component description",
36
+ "type": "string"
37
+ },
38
+ "omd_type": {
39
+ "title": "Type",
40
+ "description": "Expresses what the implementation of the omd_component is",
41
+ "type": "string",
42
+ "enum": [
43
+ "microservice", "platform", "library", "sdk", "front-end", "infra", "client-app"
44
+ ]
45
+ },
46
+ "omd_compliance": {
47
+ "title": "Compliance",
48
+ "description": "Metadata associated with the omd_component which identifies if the service and its underlying components are directly associated with regulatory/compliance concerns.",
49
+ "type": "string"
50
+ },
51
+ "omd_cell": {
52
+ "title": "Cell",
53
+ "description": "Describes runtime relationships between microservices. For the time being, omd_cell should match omd_service",
54
+ "type": "string"
55
+ },
56
+ "subdivision_strategy": {
57
+ "title": "Subdivision Strategy",
58
+ "description": "A temporary tag in now.yaml describing the runtime deployment configuration of an OMD component that defines the mechanism for supporting multiple products across many regions. At deployment-time, this strategy is used to perform releases to specific subdivisions.",
59
+ "type": "string",
60
+ "enum": [
61
+ "product", "product-market", "global", "global-market"
62
+ ]
63
+ },
64
+ "omd_sdm_owner_email": {
65
+ "title": "SDM Owner Email",
66
+ "description": "The e-mail address of the WBD SDM/Director that owns the omd_component",
67
+ "type": "string"
68
+ }
69
+ }
70
+ },
71
+ "omd_jira_project": {
72
+ "title": "Jira Project",
73
+ "description": "The JIRA project acronym and URL associated with the Jira board representing where work is tracked for the corresponding omd_component",
74
+ "type": "object",
75
+ "required": [
76
+ "name",
77
+ "jira_board"
78
+ ],
79
+ "properties": {
80
+ "name": {
81
+ "title": "Name",
82
+ "description": "JIRA project acronym associated with the Jira board representing where work is tracked for the corresponding omd_component",
83
+ "type": "string"
84
+ },
85
+ "jira_board": {
86
+ "title": "Jira board URL",
87
+ "description": "URL associated with the Jira board representing where work is tracked for the corresponding omd_component",
88
+ "type": "string"
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "title": "OMD Schema - Repo Level",
4
+ "type": "object",
5
+ "required": [
6
+ "omd_business_service",
7
+ "omd_service",
8
+ "omd_schema_version",
9
+ "inventory_id"
10
+ ],
11
+ "properties": {
12
+ "omd_schema_version": { "type": "string" },
13
+ "inventory_id": { "type": "string", "const": "980162270ee0cf69c2e3a0a0a87dd93d-e8e885e0931c2c609d3059f840c02b70" },
14
+ "omd_business_service": {
15
+ "title": "Business Service",
16
+ "description": "Identifies the business owner of the components in the repository. Aligns to org chart and used primarily for auditing, accounting and reporting.",
17
+ "type": "object",
18
+ "required": [ "name" ],
19
+ "properties": {
20
+ "name": {
21
+ "title": "Business service name",
22
+ "type": "string"
23
+ }
24
+ }
25
+ },
26
+ "omd_service": {
27
+ "title": "Service",
28
+ "description": "A name for a group of related components which live together in source.",
29
+ "type": "object",
30
+ "required": [ "name", "description" ],
31
+ "properties": {
32
+ "name": {
33
+ "title": "Service name",
34
+ "type": "string"
35
+ },
36
+ "description": {
37
+ "title": "Service description",
38
+ "type": "string"
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,121 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "title": "OMD Schema - Component",
4
+ "type": "object",
5
+ "required": [
6
+ "omd_service",
7
+ "omd_component",
8
+ "omd_jira_project",
9
+ "omd_schema_version",
10
+ "inventory_id"
11
+ ],
12
+ "properties": {
13
+ "omd_service": { "type": "string" },
14
+ "omd_schema_version": { "type": "string" },
15
+ "inventory_id": { "type": "string", "const": "980162270ee0cf69c2e3a0a0a87dd93d-e8e885e0931c2c609d3059f840c02b70" },
16
+ "omd_component": {
17
+ "title": "Component",
18
+ "description": "Name of an individual microservice, shared library, or other platform element (e.g. lambda, batch job, etc). The value must be unique across the ecosystem.",
19
+ "type": "object",
20
+ "additionalProperties": false,
21
+ "required": [
22
+ "name",
23
+ "description",
24
+ "omd_type",
25
+ "omd_compliance",
26
+ "omd_cell",
27
+ "subdivision_strategy",
28
+ "omd_sdm_owner_email",
29
+ "omd_team"
30
+ ],
31
+ "properties": {
32
+ "name": {
33
+ "title": "Component",
34
+ "type": "string"
35
+ },
36
+ "description": {
37
+ "title": "Component description",
38
+ "type": "string"
39
+ },
40
+ "omd_type": {
41
+ "title": "Type",
42
+ "description": "Expresses what the implementation of the omd_component is",
43
+ "type": "string",
44
+ "enum": [
45
+ "microservice", "platform", "library", "sdk", "front-end", "infra", "client-app"
46
+ ]
47
+ },
48
+ "omd_compliance": {
49
+ "title": "Compliance",
50
+ "description": "Metadata associated with the omd_component which identifies if the service and its underlying components are directly associated with regulatory/compliance concerns.",
51
+ "type": "string"
52
+ },
53
+ "omd_cell": {
54
+ "title": "Cell",
55
+ "description": "Describes runtime relationships between microservices. For the time being, omd_cell should match omd_service",
56
+ "type": "string"
57
+ },
58
+ "subdivision_strategy": {
59
+ "title": "Subdivision Strategy",
60
+ "description": "A temporary tag in now.yaml describing the runtime deployment configuration of an OMD component that defines the mechanism for supporting multiple products across many regions. At deployment-time, this strategy is used to perform releases to specific subdivisions.",
61
+ "type": "string",
62
+ "enum": [
63
+ "product", "product-market", "global", "global-market"
64
+ ]
65
+ },
66
+ "omd_sdm_owner_email": {
67
+ "title": "SDM Owner Email",
68
+ "description": "The e-mail address of the WBD SDM/Director that owns the omd_component",
69
+ "type": "string"
70
+ },
71
+ "omd_team" : {
72
+ "title": "OMD Team",
73
+ "description": "The JIRA team name, who owns this component",
74
+ "type": "string"
75
+ },
76
+ "omd_paths" : {
77
+ "title": "OMD Paths",
78
+ "description": "The paths, where you can find specific part(s) of the component.",
79
+ "type": "object",
80
+ "additionalProperties": false,
81
+ "properties": {
82
+ "src" : {
83
+ "title": "Source code",
84
+ "type": "array"
85
+ },
86
+ "infra" : {
87
+ "title": "IAC code",
88
+ "type": "array"
89
+ },
90
+ "docs" : {
91
+ "title": "Documentation",
92
+ "type": "array"
93
+ }
94
+ }
95
+ }
96
+ }
97
+ },
98
+ "omd_jira_project": {
99
+ "title": "Jira Project",
100
+ "description": "The JIRA project acronym and URL associated with the Jira board representing where work is tracked for the corresponding omd_component",
101
+ "type": "object",
102
+ "additionalProperties": false,
103
+ "required": [
104
+ "name",
105
+ "jira_board"
106
+ ],
107
+ "properties": {
108
+ "name": {
109
+ "title": "Name",
110
+ "description": "JIRA project acronym associated with the Jira board representing where work is tracked for the corresponding omd_component",
111
+ "type": "string"
112
+ },
113
+ "jira_board": {
114
+ "title": "Jira board URL",
115
+ "description": "URL associated with the Jira board representing where work is tracked for the corresponding omd_component",
116
+ "type": "string"
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "title": "OMD Schema - Repo Level",
4
+ "type": "object",
5
+ "required": [
6
+ "omd_business_service",
7
+ "omd_service",
8
+ "schema_version",
9
+ "inventory_id"
10
+ ],
11
+ "properties": {
12
+ "schema_version": { "type": "string" },
13
+ "inventory_id": { "type": "string", "const": "980162270ee0cf69c2e3a0a0a87dd93d-e8e885e0931c2c609d3059f840c02b70" },
14
+ "omd_business_service": {
15
+ "title": "Business Service",
16
+ "description": "Identifies the business owner of the components in the repository. Aligns to org chart and used primarily for auditing, accounting and reporting.",
17
+ "type": "object",
18
+ "required": [ "name" ],
19
+ "properties": {
20
+ "name": {
21
+ "title": "Business service name",
22
+ "type": "string"
23
+ }
24
+ }
25
+ },
26
+ "omd_service": {
27
+ "title": "Service",
28
+ "description": "A name for a group of related components which live together in source.",
29
+ "type": "object",
30
+ "required": [ "name", "description" ],
31
+ "properties": {
32
+ "name": {
33
+ "title": "Service name",
34
+ "type": "string"
35
+ },
36
+ "description": {
37
+ "title": "Service description",
38
+ "type": "string"
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,121 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "title": "OMD Schema - Component",
4
+ "type": "object",
5
+ "required": [
6
+ "omd_service",
7
+ "omd_component",
8
+ "omd_jira_project",
9
+ "omd_schema_version",
10
+ "inventory_id"
11
+ ],
12
+ "properties": {
13
+ "omd_service": { "type": "string" },
14
+ "omd_schema_version": { "type": "string" },
15
+ "inventory_id": { "type": "string", "const": "980162270ee0cf69c2e3a0a0a87dd93d-e8e885e0931c2c609d3059f840c02b70" },
16
+ "omd_component": {
17
+ "title": "Component",
18
+ "description": "Name of an individual microservice, shared library, or other platform element (e.g. lambda, batch job, etc). The value must be unique across the ecosystem.",
19
+ "type": "object",
20
+ "additionalProperties": false,
21
+ "required": [
22
+ "name",
23
+ "description",
24
+ "omd_type",
25
+ "omd_compliance",
26
+ "omd_cell",
27
+ "subdivision_strategy",
28
+ "omd_sdm_owner_email",
29
+ "omd_team"
30
+ ],
31
+ "properties": {
32
+ "name": {
33
+ "title": "Component",
34
+ "type": "string"
35
+ },
36
+ "description": {
37
+ "title": "Component description",
38
+ "type": "string"
39
+ },
40
+ "omd_type": {
41
+ "title": "Type",
42
+ "description": "Expresses what the implementation of the omd_component is",
43
+ "type": "string",
44
+ "enum": [
45
+ "microservice", "platform", "library", "sdk", "front-end", "infra", "client-app", "dashboard"
46
+ ]
47
+ },
48
+ "omd_compliance": {
49
+ "title": "Compliance",
50
+ "description": "Metadata associated with the omd_component which identifies if the service and its underlying components are directly associated with regulatory/compliance concerns.",
51
+ "type": "string"
52
+ },
53
+ "omd_cell": {
54
+ "title": "Cell",
55
+ "description": "Describes runtime relationships between microservices. For the time being, omd_cell should match omd_service",
56
+ "type": "string"
57
+ },
58
+ "subdivision_strategy": {
59
+ "title": "Subdivision Strategy",
60
+ "description": "A temporary tag in now.yaml describing the runtime deployment configuration of an OMD component that defines the mechanism for supporting multiple products across many regions. At deployment-time, this strategy is used to perform releases to specific subdivisions.",
61
+ "type": "string",
62
+ "enum": [
63
+ "product", "product-market", "global", "global-market"
64
+ ]
65
+ },
66
+ "omd_sdm_owner_email": {
67
+ "title": "SDM Owner Email",
68
+ "description": "The e-mail address of the WBD SDM/Director that owns the omd_component",
69
+ "type": "string"
70
+ },
71
+ "omd_team" : {
72
+ "title": "OMD Team",
73
+ "description": "The JIRA team name, who owns this component",
74
+ "type": "string"
75
+ },
76
+ "omd_paths" : {
77
+ "title": "OMD Paths",
78
+ "description": "The paths, where you can find specific part(s) of the component.",
79
+ "type": "object",
80
+ "additionalProperties": false,
81
+ "properties": {
82
+ "src" : {
83
+ "title": "Source code",
84
+ "type": "array"
85
+ },
86
+ "infra" : {
87
+ "title": "IAC code",
88
+ "type": "array"
89
+ },
90
+ "docs" : {
91
+ "title": "Documentation",
92
+ "type": "array"
93
+ }
94
+ }
95
+ }
96
+ }
97
+ },
98
+ "omd_jira_project": {
99
+ "title": "Jira Project",
100
+ "description": "The JIRA project acronym and URL associated with the Jira board representing where work is tracked for the corresponding omd_component",
101
+ "type": "object",
102
+ "additionalProperties": false,
103
+ "required": [
104
+ "name",
105
+ "jira_board"
106
+ ],
107
+ "properties": {
108
+ "name": {
109
+ "title": "Name",
110
+ "description": "JIRA project acronym associated with the Jira board representing where work is tracked for the corresponding omd_component",
111
+ "type": "string"
112
+ },
113
+ "jira_board": {
114
+ "title": "Jira board URL",
115
+ "description": "URL associated with the Jira board representing where work is tracked for the corresponding omd_component",
116
+ "type": "string"
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }