Dedicated Engines for Teams/Projects/Scans
You can now limit an engine to take scans of specific teams or projects.
In addition, Technical Services will be able to use this feature to improve their Dynamic Engines solutions by making sure a new engine they initialize dynamically will be reserved for a specific scan.
Database
A new database table:
EngineServersDedications
EngineServerId | bigint | |
---|---|---|
DedicatedItemType | int | 1=scan, 2=project, 3=team |
DedicatedItemId | bigint | scan id, project id or team id |
REST API
[GET] /sast/engineServers
[GET] /sast/engineServers/{id}
New node dedications
[ { "id": 1, "name": "string", ... "dedications": [ { "itemType": "project", "itemId": "5", "itemName": "Project X", // there will be no item name for "scan" item type "isDeprecated": "false" // true if the project / team /scan no longer exists or falged as deprecated } ] } ]
[POST] /sast/engineServers
[PUT] /sast/engineServers/{id}
[PATCH] /sast/engineServers/{id}
New node dedications:
{ "name": "string", "uri": "string", ... "dedications": [ { "itemType": "scan", "itemId": "1000005", "isDeprecated": "false" // true if the project / team /scan no longer exists or falged as deprecated } ] }
In case the itemId value does not exist, return http error code 404 - not found with error message:
Team with Id {id} does not exist
Project with id {id} was not found
Scan request with id {id} was not found
Other REST changes may be required for the portal display and edit:
[GET] /projects
The parameter “ProjectName” will now allow “%” for the autocomplete feature.
For example, “a%” will return all projects whose names start with “a”.
In Access Control REST (/cxrestapi/auth/swagger/index.html) for Teams, it requires all teams whose name starts with a string.
[DELETE] /sast/engineServers
will now also delete rows from the EngineServersDedications table
Portal
Scans Manager
The Scans Manager will not put a scan on an engine with dedications unless one of the dedications fits the specific scan/project/team.
When finding an engine for a scan, the current order of the engines is by load factor (least busy first). We need to change it so that the first sort index will be the dedication. Engines with dedication to scans will be first, then engines with dedication to project, and then engines with dedication to teams. The load factor will be the second sort index.