Adding support for multiple Admin-Node-Managers #144
Description
Is your feature request related to a problem? Please describe.
When using the solution with multiple API-Gateway Topologies/Domains (e.g. Prod, Pre-Prod), based on the regional feature, where users are either using the Admin-Node-Manager Prod or Admin-Node-Manager Pre-Prod the solution must talk to the correct Admin-Node-Manager where the user is currently logged in.
Otherwise the look up the current user fails as the wrong Admin-Node-Manager is asked to validate the session:
{"message":"Error getting current user. Request sent to: 'https://ppr-anm-ext-1627291850:8090'. Response-Code: 403"}
Describe the solution you'd like
When using this Multi-ANM-Architecture, the Admin-Node-Manager must be configured anyway to send the region along with Traffic-Monitor-Requests. See: https://github.com/Axway-API-Management-Plus/apigateway-openlogging-elk#admin-node-manager-per-region
With that, requests come in anyway with a region (e.g. ...?region=PROD
) and the solution should use this given region to map it to the correct Admin-Node-Manager. Quite similar to the way multiple API-Managers are handled.
Additional context
Currently the parameter: ADMIN_NODE_MANAGER
is expected to be a simple single Admin-Node-Manager. This must be extended to support regional Admin-Node-Manager like so:
ADMIN_NODE_MANAGER=https://anm1:8090, us|https://anm2:8090, eu|https://anm:8090
- This follows the sample principle as for the parameter:
API_MANAGER
- The Admin-Node-Manager configured without any region will be used for all request not sending a region.
- The given region in the API-Request and in the configuration will be converted to lower-case.