CAST AIP Docker Installer - Microsoft Windows installation

Step 1 - Ensure deployment requirements are in place

Ensure that all requirements are in place. This includes the installation of any third-party software that is required to run Docker. Installation and configuration of third-party software is out of scope of this documentation, however, some tips can be found in the following documentation: 

Step 2 - Download and unpack CAST AIP Docker Installer

The installation files are available as an extension (CAST AIP Docker Installer) published by CAST - see https://extend.castsoftware.com/#/extension?id=com.castsoftware.aip.docker&version=latest. Download the extension and unzip it to a working folder anywhere on the server - this will contain the following files:

start_docker_caip.bat (for Microsoft Windows)
start_docker_caip.sh (for Linux)
start_docker_dashboards (for Linux)

Step 3 - Run the installer

Double click the start_docker_caip.bat file for Microsoft Windows to start the installation. This will run in a CMD window and will require interaction to fill in the configuration details.

Step 4 - Configure CAST Storage Service/PostgreSQL instance

The installer requires the location of your CAST Storage Service/PostgreSQL instance that will be used to host the schemas for any Applications analyzed with the AIP Node you are installing:

hostname

Enter the hostname/IP address and port number of the CAST Storage Service/PostgreSQL instance that this installation will use for the CAST schema "triplet" required for each Application managed on the AIP Node (Analysis, Dashboard, Management schemas). This CAST Storage Service/PostgreSQL instance can either be installed on the local server or a remote server. 

hostname must not be localhost even if the CAST Storage Service/PostgreSQL instance is located on the same server as your Docker installation. Keep in mind that a Docker container is a standalone package of software, similar to a lightweight virtual machine. Thus, using localhost will be seen by the container as a server hosted within the container itself and not as the server on which Docker is installed.

port
user

Enter the credentials for the CAST Storage Service/PostrgreSQL instance. The default options are operator/CastAIP.

password

Step 5 - Choose simple or advanced installation

The installer will now offer you a choice between simple or advanced install mode:

Simple mode
  • Deploy AIP Console (front end), AIP Node (back end), AIP Core and Extend Proxy (without extensions).
  • Data (Delivery, Deploy, Logs, LISA, LTSA etc.) is stored by default within the Docker container. This means that if the container is deleted, this data is lost.

In this scenario, all items are installed within the Docker environment. Access is granted to the AIP Console (front end) and CAST Extend Proxy services outside the Docker environment via a TCP port number for user access and management. In other words, this is a "closed" installation entirely residing within Docker.

Advanced mode

Choice of deployment scenario:

  • Deploy AIP Console (front end), AIP Node (back end), AIP Core and Extend Proxy (without extensions)
  • Deploy AIP Console (front end), AIP Node (back end) and AIP Core
  • Deploy AIP Node (back end) and AIP Core - this option is designed for use with an AIP Console front end deployed elsewhere in your environment
  • Choose to store the data (Delivery, Deploy, Logs, LISA, LTSA etc.) in a specific location on the server or on a network share.

In this scenario, all chosen items are installed within the Docker environment. All services can be exposed outside the Docker environment via a TCP port number if required. In other words you can install AIP Node (back end) and AIP Core as a standalone item, expose the port and then adopt this AIP Node in an existing AIP Console (front end) deployed elsewhere in your environment.

Simple mode

Choosing simple mode will require you to input additional details to expose the ports required for users/services to access the items within the Docker environment:

AIP Console portThis is the port number which end-users will use to communicate with the AIP Console (front end) in their browsers - the default is 8081. If the port is already being used by another service on the server, you can choose another custom port (for example port 80).
Extend Proxy port

This is the port number which is required to communicate with CAST Extend Proxy to populate it with extensions - the default is 8085. If the port is already being used by another service on the server, you can choose a different one.

In a new installation, no existing containers will be detected, and the installer will then create a new Docker container with the default name castcaip_1. You can enter a custom name if you prefer. This container will be visible in Docker Desktop when the installation process is complete:

The installer will then start the process of pulling the Docker image:

The items are all downloaded directly from https://hub.docker.com/.

Advanced mode

In Advanced mode, you will first be prompted to choose whether you want to install AIP Node (back end) and AIP Core with AIP Console (front end) - or to install just the AIP Node (back end) and AIP Core as a standalone item, which can then be adopted into an existing AIP Console (front end) somewhere else in your environment. The default is to install the AIP Node (back end) and AIP Core with AIP Console (front end):

Next you will be asked whether you want to install CAST Extend Proxy or not. The default is to install CAST Extend Proxy:

Next you will be asked whether you want to expose the AIP Node port outside the Docker environment. This is only required if you have chosen to install just the AIP Node (back end) and AIP Core as a standalone item - in this situation, the existing AIP Console somewhere else in your environment will use this exposed port to communicate with the standalone AIP Node:

Depending on the choices you made, you will now need to define all the exposed port numbers for the services running within the Docker environment:

AIP Node port

You will be asked to configure this port if you answered yes to whether you want to expose the AIP Node port outside the Docker environment.

This is the port number which AIP Console (outside the Docker environment) will use to communicate with the AIP Node (back end) within the Docker environment - the default is 8082If the port is already being used by another service on the server, you can choose another custom port (for example port 80).

AIP Console port

You will only be asked to configure this port if you selected to install the AIP Node (back end) and AIP Core with AIP Console (front end).

This is the port number which end-users will use to communicate with the AIP Console (front end) in their browsers - the default is 8081. If the port is already being used by another service on the server, you can choose another custom port (for example port 80).

Extend Proxy port

You will only be asked to configure this port if you selected to install CAST Extend Proxy.

This is the port number which is required to communicate with CAST Extend Proxy to populate it with extensions - the default is 8085. If the port is already being used by another service on the server, you can choose a different one.

Next you will be asked which type of AIP Node you want to install. At the current time, please use the default setting (standard) - other options are in beta and do not work correctly:

Finally you will be prompted to choose whether you want to keep the data generated by CAST AIP (Delivery, Deploy, Logs, LISA, LTSA etc.) within the container (enter No), or in a specific location on the server or on a network share (enter Yes):

If you choose Yes, you will need to enter a "root" folder that will be used for the CAST AIP data, for example D:\CAST\temp:

Sub folders are then created in the chosen root folder:

In a new installation, no existing containers will be detected, and the installer will then create a new Docker container with the default name castcaip_1. You can enter a custom name if you prefer. This container will be visible in Docker Desktop when the installation process is complete:

The installer will then start the process of pulling the Docker image:

The items are all downloaded directly from https://hub.docker.com/.

Step 6 - Check container and image

When the download is complete, the CMD window will close and the Container and Docker image will be visible in Docker Desktop:

Note that by default Docker Desktop will store the downloaded items in %PROGRAMDATA%\Docker\windowsfilter.

Step 7 - Check deployment log to view configuration key/AIP Node token

Before continuing with the deployment, you must access the deployment log to:

  • check that the installation completed successfully
  • locate the configuration key, which is required during the initial setup of AIP Console (if you chose to install AIP Console (front end))
  • locate the AIP Node token which is required to adopt the AIP Node in an existing AIP Console elsewhere in your environment (if you chose to install only the AIP Node and AIP Core)

To access the log, run the following command in a CMD or Powershell window, where <container_name> is the name of the container created by the installer in Docker - the default is castcaip_1:

docker logs --details -f <container_name>

The log will then be displayed in the command window. A successful installation is indicated by Your container is ready at the end of the log:

=================================================================
=================================================================
Your container is ready...
=================================================================
=================================================================

The configuration key and AIP Node token will also be displayed - you must take note of these:

=================================================================
IMPORTANT: Configuration key is: 2bf79564-7db4-4298-97f0-003bf35eede1

Node token is ...
spring.liquibase.parameters.baseToken=VXzLH7COTD79Wf8TjIPU
=================================================================

Step 8 - Locate the CAST Extend Proxy API key

If you chose to install CAST Extend Proxy, you must locate the API key which will allow you to use CAST Extend Proxy with AIP Console. This API key is required during the initial setup of AIP Console - see Complete start-up wizard - v. 1.x:

To locate the API key,  run the following command in a CMD or Powershell window, where <container_name> is the name of the container created by the installer in Docker - the default is castcaip_1:

docker exec -it <container_name> cmd

This will take you direct into the container and you can explore its filesystem. The API key is located in the c:\cast\extendproxy\config.proxy.json file which you can access with this command:

more c:\cast\extendproxy\config.proxy.json

The key is highlighted below:

Next steps

When the deployment is complete and depending on the installation choices you made, you may wish to consult further documentation to explain what to do next:

AIP Node + AIP Core standalone deployed

You will need to adopt this AIP Node into an existing AIP Console elsewhere in your environment - see Declare AIP Nodes in AIP Console - v. 1.x.
AIP Console deployedYou will need to Complete start-up wizard - v. 1.x to prepare your environment. The AIP Node + AIP Core installed at the same time will be automatically adopted into the AIP Console installation.
CAST Extend Proxy deployedIf you are using CAST Extend Proxy in an environment with no internet access, you will need to populate this with your required extensions - see Update CAST Extend local server with new content.