|
64 | 64 | "oidc": { |
65 | 65 | "$ref": "#/definitions/Oidc" |
66 | 66 | }, |
| 67 | + "exploitIntelligence": { |
| 68 | + "$ref": "#/definitions/ExploitIntelligence" |
| 69 | + }, |
67 | 70 | "readOnly": { |
68 | 71 | "type": "boolean", |
69 | 72 | "default": false, |
|
253 | 256 | }, |
254 | 257 | "cacheTTL": { |
255 | 258 | "type": "string", |
256 | | - "description": "the time a cache is allowed to live (in s) before forcing a reload.\n" |
| 259 | + "description": "Enable read-only mode. When true, the server rejects all mutating API\nrequests with 503 and the importer suspends all import jobs.\nthe time a cache is allowed to live (in s) before forcing a reload.\n" |
257 | 260 | } |
258 | 261 | } |
259 | 262 | } |
|
453 | 456 | } |
454 | 457 | } |
455 | 458 | } |
| 459 | + }, |
| 460 | + { |
| 461 | + "if": { |
| 462 | + "properties": { |
| 463 | + "exploitIntelligence": { |
| 464 | + "properties": { |
| 465 | + "enabled": { |
| 466 | + "const": true |
| 467 | + } |
| 468 | + }, |
| 469 | + "required": [ |
| 470 | + "enabled" |
| 471 | + ] |
| 472 | + } |
| 473 | + } |
| 474 | + }, |
| 475 | + "then": { |
| 476 | + "properties": { |
| 477 | + "exploitIntelligence": { |
| 478 | + "required": [ |
| 479 | + "url" |
| 480 | + ] |
| 481 | + } |
| 482 | + } |
| 483 | + } |
456 | 484 | } |
457 | 485 | ], |
458 | 486 | "definitions": { |
|
1158 | 1186 | "description": "The number of HTTP workers of the Actix application.\n\nAlso see: <https://actix.rs/docs/server/#multi-threading>\n" |
1159 | 1187 | } |
1160 | 1188 | } |
| 1189 | + }, |
| 1190 | + "ExploitIntelligence": { |
| 1191 | + "type": "object", |
| 1192 | + "additionalProperties": false, |
| 1193 | + "description": "Configuration for the Exploit Intelligence integration. When enabled, trustify can submit\nSBOMs and CVEs to an external EI client service (agent-morpheus-client) for automated\nvulnerability analysis and VEX document generation.\n", |
| 1194 | + "properties": { |
| 1195 | + "enabled": { |
| 1196 | + "type": "boolean", |
| 1197 | + "description": "Enable the Exploit Intelligence integration.\n", |
| 1198 | + "default": false |
| 1199 | + }, |
| 1200 | + "url": { |
| 1201 | + "$ref": "#/definitions/ValueOrRef", |
| 1202 | + "description": "Base URL of the EI client service (agent-morpheus-client).\n" |
| 1203 | + }, |
| 1204 | + "uiUrl": { |
| 1205 | + "$ref": "#/definitions/ValueOrRef", |
| 1206 | + "description": "Base URL of the EI web UI for deep-linking to reports. Fallsback to base URL of the EI client service if unset.\n" |
| 1207 | + }, |
| 1208 | + "pollInterval": { |
| 1209 | + "type": "string", |
| 1210 | + "description": "Polling interval for analysis completion (humantime, e.g. \"30s\").\n" |
| 1211 | + }, |
| 1212 | + "maxPollDuration": { |
| 1213 | + "type": "string", |
| 1214 | + "description": "Maximum duration before polling is considered timed out (humantime, e.g. \"30m\").\n" |
| 1215 | + }, |
| 1216 | + "uploadMaxRetries": { |
| 1217 | + "type": "integer", |
| 1218 | + "minimum": 0, |
| 1219 | + "description": "Maximum number of upload retry attempts.\n" |
| 1220 | + }, |
| 1221 | + "uploadRetryDelay": { |
| 1222 | + "type": "string", |
| 1223 | + "description": "Initial delay between upload retries (humantime, exponential backoff).\n" |
| 1224 | + }, |
| 1225 | + "maxConsecutivePollFailures": { |
| 1226 | + "type": "integer", |
| 1227 | + "minimum": 0, |
| 1228 | + "description": "Maximum consecutive poll failures before giving up.\n" |
| 1229 | + }, |
| 1230 | + "oidc": { |
| 1231 | + "$ref": "#/definitions/ExploitIntelligenceOidc" |
| 1232 | + } |
| 1233 | + } |
| 1234 | + }, |
| 1235 | + "ExploitIntelligenceOidc": { |
| 1236 | + "type": "object", |
| 1237 | + "additionalProperties": false, |
| 1238 | + "description": "OIDC credentials for authenticating with the EI service using client credentials flow.\nAll three of clientId, clientSecret, and issuerUrl must be set together.\n", |
| 1239 | + "properties": { |
| 1240 | + "clientId": { |
| 1241 | + "$ref": "#/definitions/ValueOrRef", |
| 1242 | + "description": "OIDC client ID for EI service authentication.\n" |
| 1243 | + }, |
| 1244 | + "clientSecret": { |
| 1245 | + "$ref": "#/definitions/ValueOrRef", |
| 1246 | + "description": "OIDC client secret for EI service authentication.\n" |
| 1247 | + }, |
| 1248 | + "issuerUrl": { |
| 1249 | + "$ref": "#/definitions/ValueOrRef", |
| 1250 | + "description": "OIDC issuer URL for EI service authentication (client credentials flow with discovery).\n" |
| 1251 | + }, |
| 1252 | + "refreshBefore": { |
| 1253 | + "type": "string", |
| 1254 | + "description": "Duration an access token must still be valid before requesting a new one (humantime).\n" |
| 1255 | + }, |
| 1256 | + "tlsInsecure": { |
| 1257 | + "type": "boolean", |
| 1258 | + "default": false, |
| 1259 | + "description": "Allow insecure TLS connections with the EI OIDC issuer.\n" |
| 1260 | + } |
| 1261 | + } |
1161 | 1262 | } |
1162 | 1263 | } |
1163 | 1264 | } |
0 commit comments