PackageManagerResource
Introduction
Package Manager Resource.
Offers the API that lets users inspect and refresh the package environment of a WASDI processor application.
The resource supports:
Listing the packages known for an application environment.
Reading the package-manager version used by that application.
Reading and resetting the history of environment actions executed for a processor.
Triggering an environment refresh or a package-management action.
All endpoints are under the base path /packageManager.
All endpoints require a valid session via the x-session-token header.
Behavior notes:
Package and manager information is primarily read from the processor-local
packagesInfo.jsonfile.Environment actions are read from
envActionsList.txtinside the processor folder.Some endpoints are available only on the main node.
Access checks are enforced per processor or workspace using
PermissionsUtils.
Common Models
PackageViewModel: managerName, packageName, currentVersion, currentBuild, latestVersion, type, channel
PackageManagerViewModel: name, version, major, minor, patch
PackageManagerFullInfoViewModel: packageManager, outdated, uptodate, all
APIs
GET /packageManager/listPackages
Description: Returns the list of packages known for an application environment. The endpoint reads
packagesInfo.jsonfrom the processor folder, merges theoutdated,uptodate, andallsections if present, sorts the resulting list by package name, and returns it.HTTP Verb: GET
Headers: x-session-token
- Query params:
name (string, required) — processor/application name
Body: none
- Success:
200 OK, body: array of PackageViewModel
- Notes:
The caller must be allowed to access the processor by name.
If
packagesInfo.jsonis missing, empty, or cannot be parsed, the endpoint returns a server error.
- Return codes:
200 OK
401 Unauthorized (invalid session)
403 Forbidden (user cannot access the processor)
500 Internal Server Error
GET /packageManager/environmentActions
Description: Returns the history of package-manager actions executed for an application, as stored in the processor-local
envActionsList.txtfile. Empty lines are discarded.HTTP Verb: GET
Headers: x-session-token
- Query params:
name (string, required) — processor/application name
Body: none
- Success:
200 OK, body: array of strings
- Notes:
This endpoint is available only on the main node.
If the actions file is missing or empty, the endpoint returns an empty list.
Access is checked against the processor by name.
- Return codes:
200 OK
401 Unauthorized (invalid session)
403 Forbidden (user cannot access the processor)
400 Bad Request (called on a non-main node)
500 Internal Server Error
GET /packageManager/managerVersion
Description: Returns the version of the package manager used by an application. The endpoint first tries to read the manager info from
packagesInfo.json. If that is unavailable or invalid, it performs a live lookup using the processor’s configured package-manager implementation.HTTP Verb: GET
Headers: x-session-token
- Query params:
name (string, required) — processor/application name
Body: none
- Success:
200 OK, body: PackageManagerViewModel
- Notes:
If the processor exists but has no package manager configured, the endpoint returns
200 OKwith an empty body.If the fallback live lookup cannot find the processor record, the endpoint returns a server error.
- Return codes:
200 OK
401 Unauthorized (invalid session)
400 Bad Request (missing application name)
403 Forbidden (user cannot access the processor)
500 Internal Server Error
GET /packageManager/environmentupdate
Description: Triggers an environment refresh or a specific package-management action for a processor. The request schedules the operation through the normal WASDI process launcher using the special
ENVIRONMENTUPDATEoperation. On the main node, when a realupdateCommandis provided, the action is also forwarded asynchronously to all compute nodes.HTTP Verb: GET
Headers: x-session-token
- Query params:
processorId (string, required) — target processor ID
workspace (string, required) — workspace ID used as the execution/exchange context
updateCommand (string, optional) — package-manager command to execute; if present and shaped like
action/package, the package part is validated before scheduling
Body: none
- Success:
200 OK
- Notes:
The caller must have write permission on the processor.
The processor must have a package manager configured.
When
updateCommandis empty, the endpoint behaves as a refresh and does not start the cross-node update worker.The scheduled process runs in the local special workspace identified by
Wasdi.s_sLocalWorkspaceName.
- Return codes:
200 OK
401 Unauthorized (invalid session)
400 Bad Request (processor not found, processor has no package manager, or invalid package in updateCommand)
403 Forbidden (user cannot write the processor)
500 Internal Server Error
GET /packageManager/reset
Description: Resets the stored environment action history for a processor by deleting its
envActionsList.txtfile, if present.HTTP Verb: GET
Headers: x-session-token
- Query params:
processorId (string, required) — processor ID
workspace (string, required) — workspace ID used for permission validation
Body: none
- Success:
200 OK
- Notes:
The caller must be allowed to access both the workspace and the processor.
This endpoint is available only on the main node.
If the actions file does not exist, the endpoint still returns success.
- Return codes:
200 OK
401 Unauthorized (invalid session)
403 Forbidden (user cannot access the workspace or processor)
400 Bad Request (called on a non-main node)
500 Internal Server Error