|
7 | 7 | "properties": { |
8 | 8 | "proxyUrl": { |
9 | 9 | "type": "string", |
10 | | - "description": "Deprecated: Used in early versions of git proxy to configure the remote host that traffic is proxied to. In later versions, the repository URL is used to determine the domain proxied, allowing multiple hosts to be proxied by one instance.", |
| 10 | + "description": "Deprecated: Used in early versions of GitProxy to configure the remote host that traffic is proxied to. In later versions, the repository URL is used to determine the domain proxied, allowing multiple hosts to be proxied by one instance.", |
11 | 11 | "deprecated": true |
12 | 12 | }, |
13 | 13 | "cookieSecret": { "type": "string" }, |
|
30 | 30 | }, |
31 | 31 | "additionalProperties": false |
32 | 32 | }, |
33 | | - "github": { |
34 | | - "type": "object", |
35 | | - "description": "Deprecated: Defunct property that was used to provide the API URL for GitHub. No longer referenced in the codebase.", |
36 | | - "properties": { |
37 | | - "baseUrl": { |
38 | | - "type": "string", |
39 | | - "format": "uri", |
40 | | - "examples": ["https://api.github.com"], |
41 | | - "deprecated": true |
42 | | - } |
43 | | - }, |
44 | | - "additionalProperties": false |
45 | | - }, |
46 | 33 | "gitleaks": { |
47 | 34 | "type": "object", |
48 | 35 | "description": "Configuration for the gitleaks (https://github.com/gitleaks/gitleaks) plugin", |
|
57 | 44 | "additionalProperties": false |
58 | 45 | }, |
59 | 46 | "commitConfig": { |
60 | | - "description": "Enforce rules and patterns on commits including e-mail and message", |
61 | | - "type": "object" |
| 47 | + "title": "CommitConfig", |
| 48 | + "description": "Block commits based on rules defined over author/committer e-mail addresses, commit message content and diff content", |
| 49 | + "type": "object", |
| 50 | + "additionalProperties": false, |
| 51 | + "properties": { |
| 52 | + "author": { |
| 53 | + "title": "Author", |
| 54 | + "description": "Rules applied to commit authors", |
| 55 | + "type": "object", |
| 56 | + "additionalProperties": false, |
| 57 | + "properties": { |
| 58 | + "email": { |
| 59 | + "title": "Email", |
| 60 | + "description": "Rules applied to author email addresses", |
| 61 | + "type": "object", |
| 62 | + "additionalProperties": false, |
| 63 | + "properties": { |
| 64 | + "local": { |
| 65 | + "title": "Local", |
| 66 | + "description": "Rules applied to the local portion of the email address (i.e. section before the @ symbol)", |
| 67 | + "type": "object", |
| 68 | + "additionalProperties": false, |
| 69 | + "properties": { |
| 70 | + "block": { |
| 71 | + "title": "Block", |
| 72 | + "description": "Block commits with author email addresses where the first part matches this regular expression", |
| 73 | + "type": "string" |
| 74 | + } |
| 75 | + }, |
| 76 | + "required": [] |
| 77 | + }, |
| 78 | + "domain": { |
| 79 | + "title": "Domain", |
| 80 | + "description": "Rules applied to the domain portion of the email address (i.e. section after the @ symbol)", |
| 81 | + "type": "object", |
| 82 | + "additionalProperties": false, |
| 83 | + "properties": { |
| 84 | + "allow": { |
| 85 | + "title": "Allow", |
| 86 | + "description": "Allow only commits where the domain part of the email address matches this regular expression", |
| 87 | + "type": "string" |
| 88 | + } |
| 89 | + }, |
| 90 | + "required": [] |
| 91 | + } |
| 92 | + }, |
| 93 | + "required": [] |
| 94 | + } |
| 95 | + }, |
| 96 | + "required": [] |
| 97 | + }, |
| 98 | + "message": { |
| 99 | + "title": "Message", |
| 100 | + "description": "Rules applied to commit messages", |
| 101 | + "type": "object", |
| 102 | + "additionalProperties": false, |
| 103 | + "properties": { |
| 104 | + "block": { |
| 105 | + "title": "MessageBlock", |
| 106 | + "description": "Block commits where the commit message matches any of the given patterns", |
| 107 | + "type": "object", |
| 108 | + "additionalProperties": false, |
| 109 | + "properties": { |
| 110 | + "literals": { |
| 111 | + "title": "MessageBlockLiteral", |
| 112 | + "description": "Block commits where the commit message contains any of the given string literals", |
| 113 | + "type": "array", |
| 114 | + "items": { "type": "string" } |
| 115 | + }, |
| 116 | + "patterns": { |
| 117 | + "title": "MessageBlockLiteral", |
| 118 | + "description": "Block commits where the commit message matches any of the given regular expressions", |
| 119 | + "type": "array", |
| 120 | + "items": { "type": "string" } |
| 121 | + } |
| 122 | + }, |
| 123 | + "required": [] |
| 124 | + } |
| 125 | + }, |
| 126 | + "required": [] |
| 127 | + }, |
| 128 | + "diff": { |
| 129 | + "title": "Diff", |
| 130 | + "description": "Rules applied to commit diff content", |
| 131 | + "type": "object", |
| 132 | + "additionalProperties": false, |
| 133 | + "properties": { |
| 134 | + "block": { |
| 135 | + "title": "DiffBlock", |
| 136 | + "description": "Block commits where the commit diff matches any of the given patterns", |
| 137 | + "type": "object", |
| 138 | + "additionalProperties": false, |
| 139 | + "properties": { |
| 140 | + "literals": { |
| 141 | + "title": "DiffBlockLiteral", |
| 142 | + "description": "Block commits where the commit diff content contains any of the given string literals", |
| 143 | + "type": "array", |
| 144 | + "items": { |
| 145 | + "type": "string" |
| 146 | + } |
| 147 | + }, |
| 148 | + "patterns": { |
| 149 | + "title": "MessageBlockPatterns", |
| 150 | + "description": "Block commits where the commit diff content matches any of the given regular expressions", |
| 151 | + "type": "array", |
| 152 | + "items": {} |
| 153 | + }, |
| 154 | + "providers": { |
| 155 | + "title": "MessageBlockProviders", |
| 156 | + "description": "Block commits where the commit diff content matches any of the given regular expressions, except where the repository path (project/organisation) matches one of the listed privateOrganisations. The keys in this array are listed as the block type in logs.", |
| 157 | + "type": "object", |
| 158 | + "additionalProperties": { "type": "string" } |
| 159 | + } |
| 160 | + }, |
| 161 | + "required": [] |
| 162 | + } |
| 163 | + }, |
| 164 | + "required": [] |
| 165 | + } |
| 166 | + }, |
| 167 | + "required": [] |
62 | 168 | }, |
63 | 169 | "attestationConfig": { |
64 | | - "description": "Customisable questions to add to attestation form", |
65 | | - "type": "object" |
| 170 | + "title": "AttestationConfig", |
| 171 | + "description": "Configuration for the attestation form displayed to reviewers. Reviewers will need to check the box next to each question in order to complete the review attestation.", |
| 172 | + "type": "object", |
| 173 | + "additionalProperties": false, |
| 174 | + "properties": { |
| 175 | + "questions": { |
| 176 | + "title": "AttestationQuestions", |
| 177 | + "description": "Customisable attestation questions to add to attestation form.", |
| 178 | + "type": "array", |
| 179 | + "items": { |
| 180 | + "type": "object", |
| 181 | + "additionalProperties": false, |
| 182 | + "properties": { |
| 183 | + "label": { |
| 184 | + "title": "QuestionLabel", |
| 185 | + "description": "The text of the question that will be displayed to the reviewer", |
| 186 | + "type": "string" |
| 187 | + }, |
| 188 | + "tooltip": { |
| 189 | + "title": "QuestionTooltip", |
| 190 | + "description": "A tooltip and optional set of links that will be displayed on mouseover of the question and used to provide additional guidance to the reviewer.", |
| 191 | + "type": "object", |
| 192 | + "additionalProperties": false, |
| 193 | + "properties": { |
| 194 | + "text": { |
| 195 | + "type": "string" |
| 196 | + }, |
| 197 | + "links": { |
| 198 | + "type": "array", |
| 199 | + "items": { "type": "string", "format": "url" } |
| 200 | + } |
| 201 | + }, |
| 202 | + "required": ["text"] |
| 203 | + } |
| 204 | + }, |
| 205 | + "required": ["label", "tooltip"], |
| 206 | + "title": "Question" |
| 207 | + } |
| 208 | + } |
| 209 | + }, |
| 210 | + "required": [] |
66 | 211 | }, |
67 | 212 | "domains": { |
68 | | - "description": "Provide domains to use alternative to the defaults", |
69 | | - "type": "object" |
| 213 | + "description": "Provide custom URLs for the GitProxy interfaces in case it cannot determine its own URL", |
| 214 | + "type": "object", |
| 215 | + "properties": { |
| 216 | + "proxy": { |
| 217 | + "title": "ProxyUrl", |
| 218 | + "description": "Override for the default proxy URL, should include the protocol", |
| 219 | + "type": "string", |
| 220 | + "format": "url" |
| 221 | + }, |
| 222 | + "service": { |
| 223 | + "title": "Service UI URL", |
| 224 | + "description": "Override for the service UI URL, should include the protocol", |
| 225 | + "type": "string", |
| 226 | + "format": "url" |
| 227 | + } |
| 228 | + } |
70 | 229 | }, |
71 | 230 | "rateLimit": { |
72 | 231 | "description": "API Rate limiting configuration.", |
|
93 | 252 | "additionalProperties": false |
94 | 253 | }, |
95 | 254 | "privateOrganizations": { |
96 | | - "description": "Pattern searches for listed private organizations are disabled", |
| 255 | + "description": "Provider searches for listed private organizations are disabled, see commitConfig.diff.block.providers", |
97 | 256 | "type": "array" |
98 | 257 | }, |
99 | 258 | "urlShortener": { |
|
122 | 281 | "$ref": "#/definitions/authorisedRepo" |
123 | 282 | } |
124 | 283 | }, |
| 284 | + "limits": { |
| 285 | + "description": "Configuration for various limits", |
| 286 | + "type": "object", |
| 287 | + "properties": { |
| 288 | + "maxPackSizeBytes": { |
| 289 | + "type": "number", |
| 290 | + "description": "Maximum size of a pack file in bytes (default 1GB)" |
| 291 | + } |
| 292 | + } |
| 293 | + }, |
125 | 294 | "sink": { |
126 | 295 | "description": "List of database sources. The first source in the configuration with enabled=true will be used.", |
127 | 296 | "type": "array", |
|
279 | 448 | }, |
280 | 449 | "userGroup": { |
281 | 450 | "type": "string", |
282 | | - "description": "Group that indicates that a user should be able to login to the Git Proxy UI and can work as a reviewer" |
| 451 | + "description": "Group that indicates that a user should be able to login to the GitProxy UI and can work as a reviewer" |
283 | 452 | }, |
284 | 453 | "domain": { "type": "string", "description": "Active Directory domain" }, |
285 | 454 | "adConfig": { |
|
0 commit comments