Skip to content

Instantly share code, notes, and snippets.

@arlyon
Last active October 2, 2022 22:19
Show Gist options
  • Save arlyon/241d2a50fe98291cb64c3e99e3d41f22 to your computer and use it in GitHub Desktop.
Save arlyon/241d2a50fe98291cb64c3e99e3d41f22 to your computer and use it in GitHub Desktop.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Config",
"description": "The configuration for the developer desktop tool",
"type": "object",
"required": [
"services",
"tunnels"
],
"properties": {
"services": {
"description": "A set of services to healthcheck",
"type": "array",
"items": {
"$ref": "#/definitions/ServiceSection"
}
},
"tunnels": {
"description": "A set of toggleable ssh tunnels",
"type": "array",
"items": {
"$ref": "#/definitions/Tunnel"
}
}
},
"definitions": {
"Service": {
"description": "A service to run a healthcheck on",
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"command": {
"description": "Optional command to start the service",
"type": [
"string",
"null"
]
},
"name": {
"description": "The name of the service",
"type": "string"
},
"spring_healthcheck": {
"description": "Optional spring healthcheck URL for more detailed information",
"type": [
"string",
"null"
],
"format": "uri"
},
"url": {
"description": "The url to the service",
"type": "string",
"format": "uri"
}
}
},
"ServiceSection": {
"description": "A logical group of services to run healthchecks on",
"type": "object",
"required": [
"name",
"services"
],
"properties": {
"name": {
"description": "The name of the section in the UI",
"type": "string"
},
"services": {
"description": "The list of services in that section",
"type": "array",
"items": {
"$ref": "#/definitions/Service"
}
}
}
},
"Tunnel": {
"description": "Configuation for an SSH tunnel to a remote host",
"type": "object",
"required": [
"away_host",
"away_port",
"local_port",
"name",
"target"
],
"properties": {
"away_host": {
"description": "The host to tunnel to through the ssh connection",
"type": "string"
},
"away_port": {
"description": "The port to tunnel to through the ssh connection",
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"aws_profile": {
"description": "An AWS profile to use",
"type": [
"string",
"null"
]
},
"aws_region": {
"description": "An AWS region to use",
"type": [
"string",
"null"
]
},
"local_port": {
"description": "The port to open on the local machine",
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"name": {
"description": "The name of the tunnel",
"type": "string"
},
"target": {
"description": "The ssh target",
"type": "string"
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment