Configure AIP Node storage folder locations - optional - v. 2.x

Introduction

Each Node that is managed by Console requires a set of storage folders that are used to store items related to each Application onboarded and analyzed via Console. Currently the following storage folders are required by each Node and they will be set to a default location as listed below.

If you prefer to locate these storage folders elsewhere, for example a common/shared network folder, or on another folder/drive on the Node, you can change where these folders are located, as described below. CAST highly recommends that this is done as part of the installation process before any Applications are onboarded or imported.

≥ 2.x storage locations

TypeDefault locationDescriptionDefined by

Delivery

Used for storing successive and compressed versions of an application's source code produced during the source code delivery phase.
  • Enterprise Docker mode -  <unpacked_zip>/docker-compose.yml on the Console host server.
  • Enterprise Java JAR installers - defined in the aip_config database (properties table)
DeploymentUsed for storing the most recent version of the Application's source code for analysis in uncompressed format.
Common Shared DataUsed for storing miscellaneous items required for an Application analysis. For example Dynamic Link rule files, analysis reports, snapshot reports, application backups, Sherlock extractions etc.
Analysis Logs

Node:

%PROGRAMDATA%/CAST/CAST/Logs

Used for storing all logs produced by the Node with regard to code delivery/analysis/snapshot activities. One sub-folder folder will be created per Application onboarded in Console.%PROGRAMFILES%\CAST\8.x\CastGlobalSettings.ini on the Node
Analysis folders LISA

Node:

%PROGRAMDATA%/CAST/CAST/CASTMS/LISA


Location to store temporary files generated during the analysis/snapshot process on the Node.

Analysis folders LTSA

Node:

%PROGRAMDATA%/CAST/CAST/CASTMS/LTSA

CAST_PLUGINS_ROOT_PATH

Node:

%PROGRAMDATA%/CAST/CAST/Extensions

Location used to store Extensions used during an analysis. See also Changing extension storage location on Node.

CAST_ALL_USERS_PATH

Node:

%PROGRAMDATA%/CAST/CAST/$CAST_MAJOR_VERSION$.$CAST_MINOR_VERSION$

Configuration files that are shared among all users of the server:

  • User Input Security blackboxes files
  • legacy AIP Core applications (such as CAST Server Manager) 
CAST_CURRENT_USER_WORK_PATH

Node:

%APPDATA%/CAST/CAST/$CAST_MAJOR_VERSION$.$CAST_MINOR_VERSION$

Configuration files for legacy AIP Core applications (such as CAST Server Manager) that are specific to the current logged in user on the Node.

CAST recommends that you avoid modifying this value unless you ensure that either only one user is using this installation, or each user has its own path based on an environment variable.

CAST_CURRENT_USER_TEMP_PATH

Node:

%TEMP%/CAST/CAST/$CAST_MAJOR_VERSION$.$CAST_MINOR_VERSION$

Miscellaneous temporary files for legacy AIP Core applications . Some files may be quite large. Specific to the current logged in user.

Configure the storage folder locations

Delivery, Deployment, Common Shared Data

Docker installation - docker-compose.override.yml

Remotely connect to the machine hosting the Console front-end services and then locate and edit the following file (created during the installation process - see 2.x - Enterprise mode - Installation of AIP Console front-end via Docker or Docker Desktop):

<unpacked_zip>/docker-compose.override.yml

Locate the following section in the file:

- DELIVERY_FOLDER=\\share\aip-node-data\delivery
- DEPLOY_FOLDER=\\share\aip-node-data\deploy
- SHARED_FOLDER=\\share\aip-node-data\common-data

Make any changes you require, save the file and then stop and start all Console front-end Docker containers as follows:

docker-compose stop
docker-compose down
docker-compose up -d

Java JAR installation - aip_config schema

See Change shared folder storage in**2.x - Enterprise mode - Installation of AIP Console front-end via Java JAR installers**.

CastGlobalSettings.ini for Node specific folders

Remotely connect (for example using Remote Desktop) to the Node whose storage folder locations you would like change and then edit the following file (located in the AIP Core installation folder) with a text editor:

%PROGRAMFILES%/CAST/<version>/CastGlobalSettings.ini

Locate the following sections in the file:

; Set All users' path
; CAST_ALL_USERS_PATH=%ProgramData%\CAST\CAST\$CAST_MAJOR_VERSION$.$CAST_MINOR_VERSION$\

; Set current user's path
; CAST_CURRENT_USER_WORK_PATH=%APPDATA%\CAST\CAST\$CAST_MAJOR_VERSION$.$CAST_MINOR_VERSION$\

; Set current user's temporary path
; CAST_CURRENT_USER_TEMP_PATH=%TEMP%\CAST\CAST\$CAST_MAJOR_VERSION$.$CAST_MINOR_VERSION$\

; Set folder containing plugins
; CAST_PLUGINS_ROOT_PATH=%ProgramData%\CAST\CAST\Extensions\

; Set root path of all CAST logs
; CAST_LOG_ROOT_PATH=%ProgramData%\CAST\CAST\Logs\

; Set the default LISA location
; CAST_DEFAULT_LISA_DIR=%ProgramData%\CAST\CAST\CASTMS

; Set the default LTSA location
; CAST_DEFAULT_LTSA_DIR=%ProgramData%\CAST\CAST\CASTMS

Make any changes you require, for example to change some of the folders to use a mapped network drive. Ensure you uncomment the option by removing the semi-colon (;) :

; Set root path of all CAST logs
CAST_LOG_ROOT_PATH=S:\Logs\

; Set the default LISA location
CAST_DEFAULT_LISA_DIR=S:\LISA

; Set the default LTSA location
CAST_DEFAULT_LTSA_DIR=S:\LTSA

Save the file when your changes are complete and repeat for each Node you would like to change. Finally ensure that you restart the Node service so that the changes are taken into account.

Notes about using Mapped drives and Node Windows Service

While using Mapped drives for the Node specific data storage locations is supported, the Node can sometimes have difficulty accessing these storage locations when the Node is configured to run as a Windows Service. For the most part, these difficulties are caused by the context (i.e. the Windows user login) which is:

  • configured to access the mapped drives
  • configured to run the Node Windows Service

When anNode is started the storage folder locations/paths are checked to ensure that they can be accessed. Even if the mapped drives in the current Windows session are configured to use the current Windows user login and can therefore be accessed by Windows File Explorer without issue and even if the Windows Service that is running the Node is configured to use the same user login as is used for the mapped drives in the current Windows session, the mapped drives may still appear to be “unavailable” to the Node. To remediate this issue, the following batch file will be run automatically when the Node is started (whether as a Windows service or using the .bat file) AND when a mapped drive has been configured for an Node storage folder AND this drive is “unavailable”:

<Node_install_folder>/AipNode/tools/map-drives.bat

This batch file will automatically scan (using the Windows net use command) all mapped drives that exist in the current Windows session. If any are “unavailable”, the batch file will remap them for the duration of the Windows session using the Windows user login configured to run the Node Windows Service therefore ensuring that they can be accessed by the Node. Obviously, the Windows user login configured to run the  Node Windows Service must already have access to the mapped drive location, otherwise the mapped drives will remain unavailable.