Skip to content

Commit

Permalink
Merge pull request #322 from jpgough-ms/august
Browse files Browse the repository at this point in the history
August Schema for Upcoming Changes
  • Loading branch information
jpgough-ms authored Aug 2, 2024
2 parents fffbc66 + b3ff1df commit 6810bcb
Show file tree
Hide file tree
Showing 3 changed files with 430 additions and 0 deletions.
21 changes: 21 additions & 0 deletions calm/draft/2024-08/meta/calm.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/finos/architecture-as-code/main/calm/draft/2024-08/meta/calm.json",

"$vocabulary": {
"https://json-schema.org/draft/2020-12/vocab/core": true,
"https://json-schema.org/draft/2020-12/vocab/applicator": true,
"https://json-schema.org/draft/2020-12/vocab/validation": true,
"https://json-schema.org/draft/2020-12/vocab/meta-data": true,
"https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
"https://json-schema.org/draft/2020-12/vocab/content": true,
"https://raw.githubusercontent.com/finos/architecture-as-code/main/calm/draft/2024-08/meta/core.json": true
},
"$dynamicAnchor": "meta",

"title": "Common Architecture Language Model (CALM) Schema",
"allOf": [
{"$ref": "https://json-schema.org/draft/2020-12/schema"},
{"$ref": "https://raw.githubusercontent.com/finos/architecture-as-code/main/calm/draft/2024-08/meta/core.json"}
]
}
252 changes: 252 additions & 0 deletions calm/draft/2024-08/meta/core.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,252 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/finos/architecture-as-code/main/calm/draft/2024-08/meta/core.json",
"title": "Common Architecture Language Model (CALM) Vocab",
"properties": {
"nodes": {
"type": "array",
"items": {
"$ref": "#/defs/node"
}
},
"relationships": {
"type": "array",
"items": {
"$ref": "#/defs/relationship"
}
},
"metadata": {
"$ref": "#/defs/metadata"
}
},
"defs": {
"node": {
"type": "object",
"properties": {
"unique-id": {
"type": "string"
},
"node-type": {
"$ref": "#/defs/node-type-definition"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"detailed-architecture": {
"type": "string"
},
"data-classification": {
"$ref": "#/defs/data-classification"
},
"run-as": {
"type": "string"
},
"instance": {
"type": "string"
},
"interfaces": {
"type": "array",
"items": {
"$ref": "interface.json#/defs/interface-type"
}
},
"metadata": {
"$ref": "#/defs/metadata"
}
},
"required": [
"unique-id",
"node-type",
"name",
"description"
],
"additionalProperties": true
},
"relationship": {
"type": "object",
"properties": {
"unique-id": {
"type": "string"
},
"description": {
"type": "string"
},
"relationship-type": {
"type": "object",
"properties": {
"interacts": {
"$ref": "#/defs/interacts-type"
},
"connects": {
"$ref": "#/defs/connects-type"
},
"deployed-in": {
"$ref": "#/defs/deployed-in-type"
},
"composed-of": {
"$ref": "#/defs/composed-of-type"
}
},
"oneOf": [
{
"required": [
"deployed-in"
]
},
{
"required": [
"composed-of"
]
},
{
"required": [
"interacts"
]
},
{
"required": [
"connects"
]
}
]
},
"protocol": {
"$ref": "#/defs/protocol"
},
"authentication": {
"$ref": "#/defs/authentication"
},
"metadata": {
"$ref": "#/defs/metadata"
}
},
"required": [
"unique-id",
"relationship-type"
],
"additionalProperties": true
},
"data-classification": {
"enum": [
"Public",
"Confidential",
"Highly Restricted",
"MNPI",
"PII"
]
},
"protocol": {
"enum": [
"HTTP",
"HTTPS",
"FTP",
"SFTP",
"JDBC",
"WebSocket",
"SocketIO",
"LDAP",
"AMQP",
"TLS",
"mTLS",
"TCP"
]
},
"authentication": {
"enum": [
"Basic",
"OAuth2",
"Kerberos",
"SPNEGO",
"Certificate"
]
},
"node-type-definition": {
"enum": [
"actor",
"system",
"service",
"database",
"network",
"ldap",
"webclient"
]
},
"interacts-type": {
"type": "object",
"required": [
"actor",
"nodes"
],
"properties": {
"actor": {
"type": "string"
},
"nodes": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
}
},
"connects-type": {
"type": "object",
"properties": {
"source": {
"$ref": "interface.json#/defs/node-interface"
},
"destination": {
"$ref": "interface.json#/defs/node-interface"
}
},
"required": [
"source",
"destination"
]
},
"deployed-in-type": {
"type": "object",
"properties": {
"container": {
"type": "string"
},
"nodes": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
}
},
"composed-of-type": {
"required": [
"container",
"nodes"
],
"type": "object",
"properties": {
"container": {
"type": "string"
},
"nodes": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
}
},
"metadata": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
Loading

0 comments on commit 6810bcb

Please sign in to comment.