sourcegraph/schema/gitolite.schema.json
Idan Varsano f3081a6560
Unremoving phabricator integration fields, adding lines to changelog (#32573)
* Unremoving phabricator fields, adding lines to changelog
2022-03-15 10:01:39 -04:00

94 lines
3.4 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "gitolite.schema.json#",
"title": "GitoliteConnection",
"description": "Configuration for a connection to Gitolite.",
"allowComments": true,
"type": "object",
"additionalProperties": false,
"required": ["prefix", "host"],
"properties": {
"prefix": {
"description": "Repository name prefix that will map to this Gitolite host. This should likely end with a trailing slash. E.g., \"gitolite.example.com/\".\n\nIt is important that the Sourcegraph repository name generated with this prefix be unique to this code host. If different code hosts generate repository names that collide, Sourcegraph's behavior is undefined.",
"not": {
"type": "string",
"pattern": "example\\.com"
},
"type": "string",
"examples": ["gitolite.example.com/"]
},
"host": {
"description": "Gitolite host that stores the repositories (e.g., git@gitolite.example.com, ssh://git@gitolite.example.com:2222/).",
"not": {
"type": "string",
"pattern": "example\\.com"
},
"type": "string",
"examples": ["git@gitolite.example.com", "ssh://git@gitolite.example.com:2222/"]
},
"exclude": {
"description": "A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({\"name\": \"foo\"}).",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"title": "ExcludedGitoliteRepo",
"additionalProperties": false,
"anyOf": [
{
"required": ["name"]
},
{
"required": ["pattern"]
}
],
"properties": {
"name": {
"description": "The name of a Gitolite repo (\"my-repo\") to exclude from mirroring.",
"type": "string",
"minLength": 1
},
"pattern": {
"description": "Regular expression which matches against the name of a Gitolite repo to exclude from mirroring.",
"type": "string",
"format": "regex"
}
}
},
"examples": [
[
{
"name": "myrepo"
},
{
"pattern": ".*secret.*"
}
]
]
},
"phabricatorMetadataCommand": {
"description": "This is DEPRECATED",
"deprecationMessage": "DEPRECATED: the Phabricator integration with Gitolite code hosts is deprecated",
"type": "string"
},
"phabricator": {
"description": "This is DEPRECATED",
"deprecationMessage": "DEPRECATED: the Phabricator integration with Gitolite code hosts is deprecated",
"type": "object",
"required": ["url", "callsignCommand"],
"additionalProperties": false,
"properties": {
"url": {
"description": "URL of the Phabricator instance that integrates with this Gitolite instance. This should be set ",
"type": "string",
"format": "uri"
},
"callsignCommand": {
"description": " Bash command that prints out the Phabricator callsign for a Gitolite repository. This will be run with environment variable $REPO set to the name of the repository and used to obtain the Phabricator metadata for a Gitolite repository. (Note: this requires `bash` to be installed.)",
"type": "string"
}
}
}
}
}