{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "title": "GithubAppConfig",
    "properties": {
        "type": {
            "const": "githubApp",
            "description": "GitHub App Configuration"
        },
        "deploymentHostname": {
            "type": "string",
            "format": "hostname",
            "default": "github.com",
            "description": "The hostname of the GitHub App deployment.",
            "examples": [
                "github.com",
                "github.example.com"
            ]
        },
        "id": {
            "type": "string",
            "description": "The ID of the GitHub App."
        },
        "privateKey": {
            "$ref": "./shared.json#/definitions/Token",
            "description": "The private key of the GitHub App."
        }
    },
    "required": [
        "type",
        "id"
    ],
    "oneOf": [
        {
            "required": ["privateKey"]
        },
        {
            "required": ["privateKeyPath"]
        }
    ],
    "additionalProperties": false
}