"description":"The revisions (branches, tags) that should be included when indexing. The default branch (HEAD) is always indexed.",
"properties":{
"branches":{
"type":"array",
"description":"List of branches to include when indexing. For a given repo, only the branches that exist on the repo's remote *and* match at least one of the provided `branches` will be indexed. The default branch (HEAD) is always indexed. Glob patterns are supported.",
"items":{
"type":"string"
},
"examples":[
[
"main",
"release/*"
],
[
"**"
]
],
"default":[]
},
"tags":{
"type":"array",
"description":"List of tags to include when indexing. For a given repo, only the tags that exist on the repo's remote *and* match at least one of the provided `tags` will be indexed. Glob patterns are supported.",
"description":"The URL of the GitHub host. Defaults to https://github.com",
"examples":[
"https://github.com",
"https://github.example.com"
],
"pattern":"^https?:\\/\\/[^\\s/$.?#].[^\\s]*$"
},
"users":{
"type":"array",
"items":{
"type":"string",
"pattern":"^[\\w.-]+$"
},
"examples":[
[
"torvalds",
"DHH"
]
],
"description":"List of users to sync with. All repositories that the user owns will be synced, unless explicitly defined in the `exclude` property."
},
"orgs":{
"type":"array",
"items":{
"type":"string",
"pattern":"^[\\w.-]+$"
},
"examples":[
[
"my-org-name"
],
[
"sourcebot-dev",
"commaai"
]
],
"description":"List of organizations to sync with. All repositories in the organization visible to the provided `token` (if any) will be synced, unless explicitly defined in the `exclude` property."
},
"repos":{
"type":"array",
"items":{
"type":"string",
"pattern":"^[\\w.-]+\\/[\\w.-]+$"
},
"description":"List of individual repositories to sync with. Expected to be formatted as '{orgName}/{repoName}' or '{userName}/{repoName}'."
"description":"List of repository topics to include when syncing. Only repositories that match at least one of the provided `topics` will be synced. If not specified, all repositories will be synced, unless explicitly defined in the `exclude` property. Glob patterns are supported.",
"description":"List of repository topics to exclude when syncing. Repositories that match one of the provided `topics` will be excluded from syncing. Glob patterns are supported.",
"description":"Exclude repositories based on their disk usage. Note: the disk usage is calculated by GitHub and may not reflect the actual disk usage when cloned.",
"properties":{
"min":{
"type":"integer",
"description":"Minimum repository size (in bytes) to sync (inclusive). Repositories less than this size will be excluded from syncing."
},
"max":{
"type":"integer",
"description":"Maximum repository size (in bytes) to sync (inclusive). Repositories greater than this size will be excluded from syncing."
"description":"Sync all projects visible to the provided `token` (if any) in the GitLab instance. This option is ignored if `url` is either unset or set to https://gitlab.com ."
"description":"List of users to sync with. All projects owned by the user and visible to the provided `token` (if any) will be synced, unless explicitly defined in the `exclude` property."
"description":"List of groups to sync with. All projects in the group (and recursive subgroups) visible to the provided `token` (if any) will be synced, unless explicitly defined in the `exclude` property. Subgroups can be specified by providing the path to the subgroup (e.g. `my-group/sub-group-a`)."
"description":"List of project topics to include when syncing. Only projects that match at least one of the provided `topics` will be synced. If not specified, all projects will be synced, unless explicitly defined in the `exclude` property. Glob patterns are supported.",
"description":"List of projects to exclude from syncing. Glob patterns are supported. The project's namespace must be specified, see: https://docs.gitlab.com/ee/user/namespace/"
"description":"List of project topics to exclude when syncing. Projects that match one of the provided `topics` will be excluded from syncing. Glob patterns are supported.",
"description":"The URL of the Gitea host. Defaults to https://gitea.com",
"examples":[
"https://gitea.com",
"https://gitea.example.com"
],
"pattern":"^https?:\\/\\/[^\\s/$.?#].[^\\s]*$"
},
"orgs":{
"type":"array",
"items":{
"type":"string"
},
"examples":[
[
"my-org-name"
]
],
"description":"List of organizations to sync with. All repositories in the organization visible to the provided `token` (if any) will be synced, unless explicitly defined in the `exclude` property. If a `token` is provided, it must have the read:organization scope."
},
"repos":{
"type":"array",
"items":{
"type":"string",
"pattern":"^[\\w.-]+\\/[\\w.-]+$"
},
"description":"List of individual repositories to sync with. Expected to be formatted as '{orgName}/{repoName}' or '{userName}/{repoName}'."
},
"users":{
"type":"array",
"items":{
"type":"string"
},
"examples":[
[
"username-1",
"username-2"
]
],
"description":"List of users to sync with. All repositories that the user owns will be synced, unless explicitly defined in the `exclude` property. If a `token` is provided, it must have the read:user scope."
"description":"Global settings. These settings are applied to all repositories.",
"properties":{
"maxFileSize":{
"type":"integer",
"description":"The maximum size of a file (in bytes) to be indexed. Files that exceed this maximum will not be inexed. Defaults to 2MB (2097152 bytes).",
"description":"The interval (in milliseconds) at which the indexer should re-index all repositories. Repositories are always indexed when first added. Defaults to 1 hour (3600000 milliseconds).",
"default":3600000,
"minimum":1
},
"resyncInterval":{
"type":"integer",
"description":"The interval (in milliseconds) at which the configuration file should be re-synced. The configuration file is always synced on startup. Defaults to 24 hours (86400000 milliseconds).",