Documentation Index

Fetch the complete documentation index at: https://knowledge.threatconnect.com/llms.txt

Use this file to discover all available pages before exploring further.

🚀 ThreatConnect® 8.1 is now available!

Installing Polarity Integrations

Prev Next

Installing integrations on Polarity v5 has become much easier and more streamlined, as installation can be done though the UI.

Install Integration through Store 

Polarity users and admins can now see all of our officially supported integrations right from the Integration Store as well as install update or view more information about those integrations on what they do.

Admins can just navigate to the integration you want to install and hit the Install Button.

To browse available Integrations without accessing the Polarity Integration Store:

Navigate to this URL:

https://integration-store-v2.polarity.io/

Upload Integration through UI 

If there is a custom integration that someone has developed it can easily be added to Polarity by uploading the .tgz or .zip package. 

Ensure you have the integration fully installed (ie. the Node packages are preinstalled and included) then you can click on the "Add Custom Integration" button at the top right of the Integrations view and install the integration through the UI. 

NOTE

The custom integration will need to be complete with Node packages and packed in a .tgz or .zip file.

Manual Integration Installation 

Manual installation of integrations requires SSH access to the server.  

NOTE

The GitHub repositories for our integrations are in the process of switching from “Public” to “Private”, meaning the public will not be able to browse to them.

In light of this, the documentation for the download portion of the “Manual Integration Installation” section will be deprecated in the near future, though the manual installation procedure remains the same.

Download the Release from GitHub

  1. Navigate to the releases page for the integration you are installing.

    1. The URL should look like https://github.com/polarityio/{integration_name}/releases.

    2. For example, the releases page for the Virustotal integration is https://github.com/polarityio/virustotal/releases.

    3. You can find a link to the releases page on the right-hand side navigation of the integration’s GitHub repository.

  2. Download the .tgz file for the version of the integration you want to install (we typically recommend installing the latest version of the integration). 

    1. For v5 servers before sure to download the .tgz file marked as being compatible with Polarity Server 5.x.

  3. Once downloaded, upload the .tgz file to the Polarity Server’s integrations directory /app/integrations).

Direct Download with wget or curl

If you have wget or curl installed on your Polarity Server and your server has access to GitHub, you can download the release directly onto your server.  

  1. Right click on the release link and copy the download link to your clipboard.  

  2. Save a copy of this link as you will need it to download the release onto your server.

With the link from above, you can download the link using either curl or wget.

wget

wget --directory-prefix=/app/integrations {{release-link}}

curl

cd /app/integrations
curl -O {{release-link}}

This will place the download into the /app/integrations directory on your server.

Extract Integration Package

Once you have downloaded then uploaded the integration to your Polarity Server you will need to untar it.  

Navigate to the integrations directory and extract the .tgz file:

cd /app/integrations
tar -xzvf {{filename}}

The extracted directory will not include the version number.

For example, after untar’ing the file virustotal-3.7.4+node-18.tgz, the directory will just be called " virustotal".  This is deliberate and makes it easier to manage integration updates.

Rename Integration Directory

WARNING!

Integrations with a dash ( -) in the directory name will not be loaded and maintained properly by the v5 server!

When manually installing integrations, you will need to ensure that you rename directories to use underscores ( _) instead. 

As an example, if you were to manually install Cisco Umbrella the untar'd directory would be named cisco-umbrella.  You need to rename the directory so the dash is an underscore:

mv cisco-umbrella cisco_umbrella

Restart Server

Once the integration directory is in place you must ensure the permissions are set properly so the Polarity Server can access it, then restart the Polarity containers using the provided down and up scripts to load the new integration.

An example session demonstrating this follows:

[admin@polarity-server ~]$ cd /app
[admin@polarity-server app]$ sudo bin/polarity docker-set-permissions
[sudo] password for admin: 

Sourcing .env                                                                                 [ INFO ]
Setting share directory permissions for rootless containers...                                [ INFO ]
   /app/certs   /app/license   /app/integrations   /app/redis   /app/redis-confs   /app/caddy

Setting user to 31337 and group to 31337                                                      [ INFO ]
Do you want to continue? (y/n) [y]: y

[admin@polarity-server app]$ sudo ./down.sh && sudo ./up.sh
Sourcing .env                                                                                 [ INFO ]
/usr/local/bin/docker-compose
Taking down the server...                                                                     [ INFO ]
Sourcing .env                                                                                 [ INFO ]
/usr/local/bin/docker-compose
Bringing up the server...                                                                     [ INFO ]
WARN[0000] No services to build                         
[+] up 0/1
[+] up 1/4 polarity_platform_net Creating                                                          0.1s 
[+] up 6/6 polarity_platform_net              Created                                              0.2s 
 ✔ Network polarity_platform_net              Created                                              0.2s 
 ✔ Container polarity_platform_local_postgres Created                                              0.0s 
 ✔ Container polarity_integration_cache       Created                                              0.1s 
 ✔ Container polarity_metrics_cache           Created                                              0.1s 
 ✔ Container polarity_platform                Created                                              0.0s 
 ✔ Container polarity_web                     Created                                              0.0s 
[admin@polarity-server app]$ 

Manually Updating Integrations

To update an integration follow the same steps as you did when initially installing.  When untar’ing the integration, the new integration files will replace the existing files.

Restarting the Polarity containers is only required when installing a new integration.

If you are updating an existing integration, you can restart the integration from the Polarity Web Interface.