Illuminate Integration Gateway Automatic Installation Instructions

Modified on Fri, 21 Jun 2024 at 01:56 PM

  • TABLE OF CONTENTS

    What is the Illuminate Integration Gateway?

    The Illuminate Integration Gateway, also called the Dataport, is a tool used to provide the Illuminate platform with access to data that is located in physically and logically secure configurations, such as behind a firewall in the organization’s data center. The Integration Gateway provides a secure, encrypted channel to transport this data to the Illuminate cloud environment, where Illuminate creates a secure Application Program Interface (API) access platform. 

    How it works?

    N2N provides a Docker container that runs Illuminate's Integration Gateway (IIG). This is installed on a Virtual Machine (VM) that is provided by the University and typically hosted on the University's network. The IIG is used to facilitate secure communication between the University database and the Illuminate Platform without having to allow direct external communication to the actual database. VM setup is operating system specific, please refer to your onsite System Administrator for VM setup.

    What is the current version of the Integration Gateway?

    Illuminate Integration Gateway is at Version 4.12

    *Note: Prior versions of the Illuminate Integration Gateway were branded "Illuminate Dataport"

    What do we provide?

    N2N provides a Docker image with the following software packages included:

    • Tomcat 9.0.62
    • JVM 11.0
    • Illuminate Integration Gateway Project 4.12 (the N2N application code)

    General System Requirements

    General system requirements for installing the Integration Gateway:

    Software

    • Docker 17.x version or higher

    Hardware (VM)

    • 4 to 8 CPU Cores (processors)

    • 8GB to 16GB RAM

    • Enough disk space to run the OS and other supporting software (recommended disk space 40+ GB)



    • Typically an 8 GB Ram server with 4 Core Processor can serve about 700-800 transactions per second.

    • For more information about Docker, prerequisites visit this Docker page

    What is Docker and why does N2N use this?

    What is Docker?

    Docker is the world's leading software containerization platform. Docker containers wrap a piece of software in a complete file system that contains everything needed to run: code, run time, system tools, system libraries – anything that can be installed on a server. This guarantees that the software will always run the same, regardless of its environment. Containers isolate applications from one another and the underlying infrastructure while providing an added layer of protection for the application. 

    .

    For more details about Docker please visit this Docker page

    Why does N2N use Docker for the Illuminate Integration Gateway?

    The Docker platform provides N2N with a simple, effective way to deliver the right package of software to the Illuminate Integration Gateway. Docker allows N2N to combine tested versions of software with validated configuration files into one deployment package. This process greatly reduces the number of manual steps, which improves reliability and robustness, as well as making deployment faster! 


    Prerequisites

    • An SSL certificate ready (self-signed is not supported) which includes .crt file (the .crt file must have the public, root, and

               intermediate certs, with public cert on top of the file) and a private key.

    • Ports 443, 80, need to be open on the VM instance where Docker and Integration Gateway are installed

    • Firewall rules need to set up by this time. Whitelist N2N NAT IPs below


    .

    QA: 23.20.165.255

    PROD: 54.204.165.208


    Integration Gateway Installation

    • Logging into the Illuminate app  
    QA
    Prod


    Note: If you do not have an Illuminate account please contact appsupport@n2nservices.com

    • Configure the Integration Gateway details within the Illuminate App's Connection Module by following the below steps
    • From the left-side menu, select the connection button.
    • The automation process is divided into THREE steps:
      1. Selecting configuration type

      2. Setup process

      3. Installation process

    1. Selecting configuration type

    This process is divided into TWO types:

    • Default Script (Recommended):

      • You will be provided with a basic tar file with an installation script but without database connection details. You can provide database connection details while executing the script by choosing this option.

    • Pre-Configured Script (Optional):

      • By selecting this option, you need to provide DB details first in the Illuminate UI and then a custom tar file will be generated only for you with database connection details.

    • Default Script (Recommended): 

    • Prerequisites:

      • Valid Illuminate login credentials.

      • Instance for IIG setup.

    • Generating a tar file:

      • Sign in to the Illuminate application(either QA or PROD) then select “New/Upgrade Installation” and choose the “Default Script” option.


  •  Once you click “Submit” button a tar will be available to download
         
  • Pre-Configured Script (Optional):

    Note: Skip this step if you are using "Default Configuration Type" and goto "Setup Process" step directly.

  • Prerequisites:

  • Valid Illuminate login credentials.

  • Database connection details.

  • Instance for IIG setup.

  • Generating a tar file:

    • Enter the valid details for the database connection.


Note: This is an example of the menu provided by selecting Pre-Configured Script
  •  If you want to add more database connections click “Confirm & Add More” otherwise click “Save”.

  • Once you click “Save” button a custom tar will be available to download. We need to use this tar file for installing IIG using pre-configured option.

Note: Directions can also be referenced from the Installation Instructions button to the left of the download button.


2. Setup Process

  • Once you upload the tar file onto the server, untar the tar file, and go to that iig-automation-clienthosted directory.

1. tar -xvf iig-clienthosted.tar

2. cd iig-automation-clienthosted


  • We need to run the install-prereqs. sh script which installs the required prereqs to run the IIG automation scripts.
1. bash install-prereqs.sh (or) ./install-prereqs.sh


Note: If scripts are not able to run due to the insufficient permissions, give the executable permissions to the scripts.

1. chmod +x <script_name>   #Example: chmod +x configure.py



  • In that step, it will ask you for OS type ( ex:-Ubuntu, Centos etc.). Enter appropriate value.

  • Once prereqs are installed the IIG scripts are saved under /opt/iig/ directory.

1. cd /opt/iig 
  • Now run configure.py file which is main script to setup the IIG.

1. ./configure.py
  • The configure.py script will ask the steps mentioned below


Step 1
Select the specific environment IIG connect. Please choose the environment number based on your requirement(Example: 3).
Step 2
Enter your illuminate login details(username and password)
Step 3
Choose the host configuration(Example: 2)
Step 4
Select whichever option selected in the Illuminate UI(Either Default or pre-configured). 
Step 5
In this step, we need setup ssl configuration, if you have your own school's SSL certs and domains then choose and continue.

Step 5A-[Optional] 
Click 'Y’ If you want to create custom SSL certificate for this particular setup we to use LetsEncrypt service to create a new SSL certs for your custom DNS


Step 5B-[Optional]
Enter your custom DNS which is going to generate Lets Encrypts certs for and this is going to connect with N2N’s IIG containers 

Step 6

Enter the institutions top level domain and fully qualified domain(FQDN) as shown below.

Step 7
  • Enter the SSL certs location on the server 
1. /opt/certs/fullchain.pem   - ssl chain cert

2. /opt/certs/privkey.pem     - private key

Step 7A-[Optional]
  • Enter for this option. This step is under process, and we will notify you in future Updates

Step 7B-[Optional]

  • This option is for system configuration, which involves setting up soft and hard limits, memory settings, and IPv4 forwarding settings. You can choose Y or N; choosing Y will apply the settings; otherwise, the system settings are default.


DB Connection Details


Note: This step will be skipped if you select "Pre-configured Script" and goto "Installation process" step directly.


These are the following parameters that are needed to establish the database connection: 


S.NO

Parameter Name

Description

1

database type

Type of the databases(Ex:Oracle, Mysql, Sybase..etc)

2

connection name

Name your DB connection

3

description

Short description

4

hostname

Database hostname

5

port

Database port

6

username

Database username

7

password

Database password

8

SID

Database SID

9

Service Name

Database Service Name

Note: The above mentioned fields are mandatory. If any parameter is not required click enter(null value) and continue

  • Select the numeric option based on your database type.

  • Provide the mandatory details for IIG connection as provided in the given screenshot.


Note: The file with your DB details are stored in this file /opt/iig/install/roles/test/defaults/main.yml so we can always verify the details entered.



3. Installation Process

  • Go to /opt/iig and run installation script.
1.  ./install.sh
Note: This will install both Nginx and dataport containers on the server/instance.
  • Please choose the Illuminate application environment(QA or PROD)


  • The console output of the installation process.

  • Once the install process completes, we can verify the containers are running on the server and iig dns is connected to respective Illuminate account under “Connections” tab.

  • Finally, status api checks will show the following results.
1. curl -X GET https://{your dns}/idp/status


Appendix-1

Adding Additional Database Providers To The Existing IIG Connection


  • To add one more database provider for the existing setup, run configure-db.py to enter the database details then run the save-multiple-database-connections.yaml script with chosen environment
1. /opt/iig/install/configure-db.py

2. cd /opt/iig/install

3. ansible-playbook save-multiple-database-connections.yaml -e stage_env=qa or prod


Note: This is possible only if you install IIG using above automation process






Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article