979 lines
49 KiB
JSON
979 lines
49 KiB
JSON
|
|
{
|
||
|
|
"openapi": "3.0.0",
|
||
|
|
"info": {
|
||
|
|
"title": "Rediscover DevOps configuration",
|
||
|
|
"version": "v1"
|
||
|
|
},
|
||
|
|
"paths": {
|
||
|
|
"/.well-known/devops": {
|
||
|
|
"get": {
|
||
|
|
"responses": {
|
||
|
|
"200": {
|
||
|
|
"content": {
|
||
|
|
"application/json": {
|
||
|
|
"schema": {
|
||
|
|
"$ref": "#/components/schemas/devops",
|
||
|
|
"properties": {
|
||
|
|
"version": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "0.0.1"
|
||
|
|
},
|
||
|
|
"created_on": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "2022-03-04T15:43:21Z"
|
||
|
|
},
|
||
|
|
"updated_on": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "2022-03-04T15:43:21Z"
|
||
|
|
},
|
||
|
|
"organisation": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "Meerkat Manor Tech College"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "Web site"
|
||
|
|
},
|
||
|
|
"asset_id": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "AID07828923"
|
||
|
|
},
|
||
|
|
"owner": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "devops@meerkatmanor-tech.org"
|
||
|
|
},
|
||
|
|
"web": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "meerkatmanor-tech.org"
|
||
|
|
},
|
||
|
|
"slack": {
|
||
|
|
"type": "string",
|
||
|
|
"example": ""
|
||
|
|
},
|
||
|
|
"twitter": {
|
||
|
|
"type": "string",
|
||
|
|
"example": ""
|
||
|
|
},
|
||
|
|
"matrix": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "@devops:meerkat-manor.org"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"guide": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview"
|
||
|
|
},
|
||
|
|
"repository": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview"
|
||
|
|
},
|
||
|
|
"source": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "https://github.com"
|
||
|
|
},
|
||
|
|
"artefact": {
|
||
|
|
"type": "string",
|
||
|
|
"example": ""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"dependency": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string",
|
||
|
|
"example": ""
|
||
|
|
},
|
||
|
|
"apis": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"asset_id": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "AI560003"
|
||
|
|
},
|
||
|
|
"protocol": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "ODBC"
|
||
|
|
},
|
||
|
|
"url": {
|
||
|
|
"type": "string",
|
||
|
|
"example": ""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"tools": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"build": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "JENKINS"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"test": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "UNITTEST"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"api": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "api/v1/openapispec.json"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"health": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview"
|
||
|
|
},
|
||
|
|
"api": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"url": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "/health"
|
||
|
|
},
|
||
|
|
"status": {
|
||
|
|
"type": "integer",
|
||
|
|
"example": 200
|
||
|
|
},
|
||
|
|
"response": {
|
||
|
|
"type": "string",
|
||
|
|
"example": ""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"install": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "ANSIBLE"
|
||
|
|
},
|
||
|
|
"playbook": {
|
||
|
|
"type": "string",
|
||
|
|
"example": ""
|
||
|
|
},
|
||
|
|
"commands": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"pre": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "hostname"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"script": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "deploy/install.sh"
|
||
|
|
},
|
||
|
|
"post": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "echo Bye Bye"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"refresh": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "COMMAND"
|
||
|
|
},
|
||
|
|
"playbook": {
|
||
|
|
"type": "string",
|
||
|
|
"example": ""
|
||
|
|
},
|
||
|
|
"commands": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"pre": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"script": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "deploy/refresh.sh"
|
||
|
|
},
|
||
|
|
"post": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "echo Refresh completed"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"uninstall": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "ANSIBLE"
|
||
|
|
},
|
||
|
|
"playbook": {
|
||
|
|
"type": "string",
|
||
|
|
"example": ""
|
||
|
|
},
|
||
|
|
"commands": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"pre": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"script": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "deploy/decomission.sh"
|
||
|
|
},
|
||
|
|
"post": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"example": "rm -R /opt/meerkat-manor/example"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"examples": {
|
||
|
|
"Demo": {
|
||
|
|
"value": {
|
||
|
|
"version": "0.0.1",
|
||
|
|
"created_on": "2022-03-04T15:43:21Z",
|
||
|
|
"updated_on": "2022-03-04T15:43:21Z",
|
||
|
|
"organisation": "Meerkat Manor Tech College",
|
||
|
|
"name": "Web site",
|
||
|
|
"asset": {
|
||
|
|
"id": "AID07828923",
|
||
|
|
"name": "",
|
||
|
|
"url": ""
|
||
|
|
},
|
||
|
|
"owner": {
|
||
|
|
"email": "devops@meerkatmanor-tech.org",
|
||
|
|
"web": "meerkatmanor-tech.org",
|
||
|
|
"slack": "",
|
||
|
|
"twitter": "",
|
||
|
|
"matrix": "@devops:meerkat-manor.org"
|
||
|
|
},
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"repository": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"source-engine": "Git",
|
||
|
|
"source": "https://github.com",
|
||
|
|
"artefact": ""
|
||
|
|
},
|
||
|
|
"dependency": {
|
||
|
|
"guide": "",
|
||
|
|
"apis": [
|
||
|
|
{
|
||
|
|
"asset_id": "AI560003",
|
||
|
|
"protocol": "ODBC",
|
||
|
|
"url": ""
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"asset_id": "AI560044",
|
||
|
|
"protocol": "REST",
|
||
|
|
"url": ""
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"tools": [
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"build": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "JENKINS"
|
||
|
|
},
|
||
|
|
"test": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "UNITTEST"
|
||
|
|
},
|
||
|
|
"api": [
|
||
|
|
{
|
||
|
|
"engine": "REST",
|
||
|
|
"url": "api/v1/openapispec.json"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"engine": "REST",
|
||
|
|
"url": "api/v2/openapispec.json"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"health": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"api": [
|
||
|
|
{
|
||
|
|
"url": "/health",
|
||
|
|
"status": 200,
|
||
|
|
"response": ""
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"install": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "ANSIBLE",
|
||
|
|
"playbook": "",
|
||
|
|
"commands": {
|
||
|
|
"pre": [
|
||
|
|
"hostname",
|
||
|
|
"whoami"
|
||
|
|
],
|
||
|
|
"script": "deploy/install.sh",
|
||
|
|
"post": [
|
||
|
|
"echo Bye Bye"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"refresh": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "COMMAND",
|
||
|
|
"playbook": "",
|
||
|
|
"commands": {
|
||
|
|
"pre": [
|
||
|
|
],
|
||
|
|
"script": "deploy/refresh.sh",
|
||
|
|
"post": [
|
||
|
|
"echo Refresh completed"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"uninstall": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "ANSIBLE",
|
||
|
|
"playbook": "",
|
||
|
|
"commands": {
|
||
|
|
"pre": [
|
||
|
|
],
|
||
|
|
"script": "deploy/decomission.sh",
|
||
|
|
"post": [
|
||
|
|
"rm -R /opt/meerkat-manor/example",
|
||
|
|
"echo Component removed"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"description": ""
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"summary": "Fetch the DevOps information",
|
||
|
|
"description": "Commonly the DevOps information is not fetched using a REST API but is actually the JSON file stored the root **.well-known** directory as the file name **devops.json**\n\nIf so required there can be a supporting REST API to fetch the contents, but that is not the primary intent."
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"components": {
|
||
|
|
"schemas": {
|
||
|
|
"devops-action": {
|
||
|
|
"title": "Root Type for devops-action",
|
||
|
|
"description": "",
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"enum": [
|
||
|
|
"ANSIBLE",
|
||
|
|
"COMMANDS"
|
||
|
|
],
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"playbook": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"commands": {
|
||
|
|
"$ref": "#/components/schemas/commands",
|
||
|
|
"properties": {
|
||
|
|
"pre": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"script": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"post": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"example": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "ANSIBLE",
|
||
|
|
"playbook": "",
|
||
|
|
"commands": {
|
||
|
|
"pre": [
|
||
|
|
"hostname",
|
||
|
|
"whoami"
|
||
|
|
],
|
||
|
|
"script": "deploy/install.sh",
|
||
|
|
"post": [
|
||
|
|
"echo Bye Bye"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"commands": {
|
||
|
|
"title": "Root Type for commands",
|
||
|
|
"description": "Commands are executed by the engine. The commands need to be constructed in a format compatible with the engine. ",
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"pre": {
|
||
|
|
"description": "Commands if any that are executed before the script and post items.",
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"script": {
|
||
|
|
"description": "A single script thais executed after the \"pre\" and before the \"post\" commands.\nThe script can be an URL or a file within the version control (e.g. Git) repository.",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"post": {
|
||
|
|
"description": "Commands if any that are executed after the script.",
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"example": {
|
||
|
|
"pre": [
|
||
|
|
"hostname",
|
||
|
|
"whoami"
|
||
|
|
],
|
||
|
|
"script": "/deploy/install.sh",
|
||
|
|
"post": [
|
||
|
|
"echo Bye Bye"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"owner-contact": {
|
||
|
|
"title": "Root Type for asset-owner",
|
||
|
|
"description": "",
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"web": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"slack": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"twitter": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"matrix": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"example": {
|
||
|
|
"email": "devops@meerkatmanor-tech.org",
|
||
|
|
"web": "meerkatmanor-tech.org",
|
||
|
|
"slack": "",
|
||
|
|
"twitter": "",
|
||
|
|
"matrix": "@devops:meerkat-manor.org"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"asset-id": {
|
||
|
|
"title": "Root Type for asset-id",
|
||
|
|
"description": "",
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"id": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"url": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"example": {
|
||
|
|
"id": "AID07828923",
|
||
|
|
"name": "devops",
|
||
|
|
"url": ""
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"devops": {
|
||
|
|
"title": "Root Type for devops",
|
||
|
|
"description": "Information that supports DevOps activity.",
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"version": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"created_on": {
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"updated_on": {
|
||
|
|
"format": "date-time",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"organisation": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"name": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"asset": {
|
||
|
|
"$ref": "#/components/schemas/asset-id",
|
||
|
|
"description": "Asset information that is intended to be related to a Computer Management Database (CMDB).\n\nBy linking to the asset in an CMDB further information can be retrieved.\n\nIf the CMDB link exists then it should be considered the authorative source where the same information exists in this definition.\n\nIf you wish the DevOps workflow to control the information and be versioned with Git, then you can use this information to push updates to the CMDB. Just include processing of the __./well-known/devops.json__ into your deployment pipeline and post to the CMDB the updates.",
|
||
|
|
"example": "{\r\n \"id\": \"AID07828923\",\r\n \"name\": \"devops\",\r\n \"url\": \"\"\r\n}"
|
||
|
|
},
|
||
|
|
"owner": {
|
||
|
|
"$ref": "#/components/schemas/owner-contact",
|
||
|
|
"description": "Contact information for the asset / artifact being described.\n\nIf the asset information is provided from a central source then this content should match.",
|
||
|
|
"properties": {
|
||
|
|
"email": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"web": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"slack": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"twitter": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"matrix": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"repository": {
|
||
|
|
"description": "Repository links",
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"source": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"artefact": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"dependency": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"apis": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"asset_id": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"protocol": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"url": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"tools": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"build": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"test": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"health": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"api": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"url": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"status": {
|
||
|
|
"format": "int32",
|
||
|
|
"type": "integer"
|
||
|
|
},
|
||
|
|
"response": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"install": {
|
||
|
|
"$ref": "#/components/schemas/devops-action",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"playbook": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"commands": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"pre": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"script": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"post": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"refresh": {
|
||
|
|
"$ref": "#/components/schemas/devops-action",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"playbook": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"commands": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"pre": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"script": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"post": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"uninstall": {
|
||
|
|
"$ref": "#/components/schemas/devops-action",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"engine": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"playbook": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"commands": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"pre": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"script": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"post": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"apis": {
|
||
|
|
"description": "List of OpenAPI definitions.\n\nThe list can include Git and REST versions, because before build the API might not be available\nas a REST service.",
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"$ref": "#/components/schemas/api"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"example": {
|
||
|
|
"version": "0.0.1",
|
||
|
|
"created_on": "2022-03-04T15:43:21Z",
|
||
|
|
"updated_on": "2022-03-04T15:43:21Z",
|
||
|
|
"organisation": "Meerkat Manor Tech College",
|
||
|
|
"name": "Web site",
|
||
|
|
"asset": {
|
||
|
|
"id": "AID07828923",
|
||
|
|
"name": "website",
|
||
|
|
"url": ""
|
||
|
|
},
|
||
|
|
"owner": {
|
||
|
|
"email": "devops@meerkatmanor-tech.org",
|
||
|
|
"web": "meerkatmanor-tech.org",
|
||
|
|
"slack": "",
|
||
|
|
"twitter": "",
|
||
|
|
"matrix": "@devops:meerkat-manor.org"
|
||
|
|
},
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"repository": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"source": "https://github.com",
|
||
|
|
"artefact": ""
|
||
|
|
},
|
||
|
|
"dependency": {
|
||
|
|
"guide": "",
|
||
|
|
"apis": [
|
||
|
|
{
|
||
|
|
"asset_id": "AI560003",
|
||
|
|
"protocol": "ODBC",
|
||
|
|
"url": ""
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"asset_id": "AI560044",
|
||
|
|
"protocol": "REST",
|
||
|
|
"url": ""
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"tools": [
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"build": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "JENKINS"
|
||
|
|
},
|
||
|
|
"test": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "UNITTEST"
|
||
|
|
},
|
||
|
|
"api": [
|
||
|
|
"api/v1/openapispec.json",
|
||
|
|
"api/v2/openapispec.json"
|
||
|
|
],
|
||
|
|
"health": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"api": [
|
||
|
|
{
|
||
|
|
"url": "/health",
|
||
|
|
"status": 200,
|
||
|
|
"response": ""
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"install": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "ANSIBLE",
|
||
|
|
"playbook": "",
|
||
|
|
"commands": {
|
||
|
|
"pre": [
|
||
|
|
"hostname",
|
||
|
|
"whoami"
|
||
|
|
],
|
||
|
|
"script": "deploy/install.sh",
|
||
|
|
"post": [
|
||
|
|
"echo Bye Bye"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"refresh": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "COMMAND",
|
||
|
|
"playbook": "",
|
||
|
|
"commands": {
|
||
|
|
"pre": [
|
||
|
|
],
|
||
|
|
"script": "deploy/refresh.sh",
|
||
|
|
"post": [
|
||
|
|
"echo Refresh completed"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"uninstall": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"engine": "ANSIBLE",
|
||
|
|
"playbook": "",
|
||
|
|
"commands": {
|
||
|
|
"pre": [
|
||
|
|
],
|
||
|
|
"script": "deploy/decomission.sh",
|
||
|
|
"post": [
|
||
|
|
"rm -R /opt/meerkat-manor/example",
|
||
|
|
"echo Component removed"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"repository": {
|
||
|
|
"title": "Root Type for repository",
|
||
|
|
"description": "Link information to repositories for various registeries.\n\nYou can add custom extensions with prefix **x-** ",
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"guide": {
|
||
|
|
"description": "Link tgo documentation on repositories used by this component",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"source-engine": {
|
||
|
|
"description": "Source control version engine.\n\nThis can be used by tools to retreive source code using binary executables.\n\nSome common tools are \"Git\", \"TFS\", \"Mercurial\", \"CVS\".",
|
||
|
|
"type": "string",
|
||
|
|
"example": "Git"
|
||
|
|
},
|
||
|
|
"source": {
|
||
|
|
"description": "Link to source version control system, such as Git.\n\nThe version control engine will provide the source version control system.",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"artefact-engine": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"artefact": {
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"example": {
|
||
|
|
"guide": "https://sku61.atlassian.net/wiki/spaces/WELLKNOWN/overview",
|
||
|
|
"source-engine": "Git",
|
||
|
|
"source": "https://github.com",
|
||
|
|
"artefact-engine": "Archiva",
|
||
|
|
"artefact": ""
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"api": {
|
||
|
|
"title": "Root Type for api",
|
||
|
|
"description": "",
|
||
|
|
"type": "string",
|
||
|
|
"example": {
|
||
|
|
"engine": "REST",
|
||
|
|
"url": "api/v1/openapispec.json"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|