How to install plugins on premises

    How to install plugins on your premises (SaaS version)

    1. System resource requirements

    For installing Docker and the Docker containers plugin on your system: * A minimum 2 GB of memory * 1 core CPU available either as a Virtual Machine (VM) or as a physical machine, for only 1 plugin

    Note: For multiple plugins running on the same VM or physical machine, you require more resources: 1 Gb for every extra plugin you install on the same machine.

    2. Setup Docker

    2.1. Linux

    Follow the install procedure in the documentation below according to your Linux distro type:

    After installing the appropriate distro package, configure Docker to start on boot as described in this guide.

    For any problems that could occur during installation, see Docker troubleshooting.

    2.2. Windows

    Follow the install procedure in the online documentation.

    3. Environment variables for Docker container

    3.1. Required variables

    • XLINSIGHT_TENANT_ID: Tenant ID assigned for your cloud instance, example: XebiaLabs
    • XLINSIGHT_INGESTION_HOST: Hostname or IP address of your cloud Data Ingestion API instance
    • XLINSIGHT_INGESTION_PORT: Port of your cloud Data Ingestion API instance
    • XLINSIGHT_API_PASSWORD: Cloud Data Ingestion API password for your company instance

    3.2. Optional variables

    • XLINSIGHT_SELF_SIGNED_TRUSTED: Specifies whether to trust self-signed SSL certificates or not for Data Ingestion API. The default value is false.
    • XLINSIGHT_SELF_SIGNED_TRUSTED_HTTP_CRAWLER: Specifies whether to trust self-signed SSL certificates or not for third party data source systems like JIRA. The default value is false.
    • XLINSIGHT_CRAWLER_THREADS: Number of parallel thread count for your plugin instance. The higher you set more jobs are processed parallely, but you'll need more system resources. Defaults to 1.
    • XLINSIGHT_CRAWL_YEARS_BACK: Limit age of entities that are being crawled. Defaults to 2.
    • XLINSIGHT_CRAWLER_SLEEP_MS: Defines how much each thread of plugin should sleep when there are no new job messages from queue to process. Defaults to 500.
    • XLINSIGHT_CRAWLER_RETRY_DELAY_MIN: Defines how many minutes a job message should be delayed in case of failure to process. Defaults to 3.
    • XLINSIGHT_DEFAULT_CRAWLER_MAX_RETRY: Defined how many times a job message should be retried in case of failure. Defaults to 32.
    • XLINSIGHT_NETWORK_ID: Network segment crawler operates in. This is important when there is more then 1 isolated network segments with different crawlers operating in each segment. Defaults to empty string.

    4. Download and start the plugin

    1. Log in to Docker Hub using your credentials: documentation
    2. Pull latest plugin image from the repository: ex. docker pull xebialabs/<image name>:<version>, ex.
    docker pull xebialabs/xli-plugin-github:8.1.0
    
    1. Run the Docker image with the environment variables: ex. docker run -d --name <container name> xebialabs/<image name>:<version> -e KEY=VAL, ex.
    docker run -d --name github-plugin \
    -e XLINSIGHT_API_PASSWORD='dummy' \
    -e XLINSIGHT_INGESTION_PORT='7565' \
    -e XLINSIGHT_TENANT_ID='XebiaLabs' \
    -e XLINSIGHT_INGESTION_HOST='dummy.xebialabs.io' \
    xebialabs/xli-plugin-github:8.1.0
    

    5. Install Docker container as-a-service

    Follow the online Docker documentation for starting containers automatically. Note: Docker should be setup to run on your system-start as described in 2.1.

    Example:

    docker run -d --restart always --name github-plugin \
    -e XLINSIGHT_API_PASSWORD='dummy' \
    -e XLINSIGHT_INGESTION_PORT='7565' \
    -e XLINSIGHT_TENANT_ID='XebiaLabs' \
    -e XLINSIGHT_INGESTION_HOST='dummy.xebialabs.io' \
    xebialabs/xli-plugin-github:8.1.0
    

    6. Troubleshooting

    For issues with plugins that are running on an internal network, these are the recommended actions:

    • To verify if the container or instance of the plugin is up and running, execute this command: docker ps -a.
    • Check if your local server can communicate with your cloud XL Impact cloud instance host. You can use the ping command from the server where the plugin is deployed.
    • To verify if there are any authentication errors related to your XL Impact instance, check the plugin logs using the docker logs -f CONTAINER_ID command. If you find authentication errors, verify the credentials provided in the plugin instance.
    • Check for other possible errors in the plugin logs and submit them to the XebiaLabs support for further investigation.
    • If the plugin container or instance has resource related issues (for example: out of memory errors), provide more resources or reduce the number of threads by adjusting XLINSIGHT_CRAWLER_THREADS environment variable for lowering the resource needs.