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 instanceXLINSIGHT_INGESTION_PORT
: Port of your cloud Data Ingestion API instanceXLINSIGHT_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 isfalse
.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 isfalse
.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 to1
.XLINSIGHT_CRAWL_YEARS_BACK
: Limit age of entities that are being crawled. Defaults to2
.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 to500
.XLINSIGHT_CRAWLER_RETRY_DELAY_MIN
: Defines how many minutes a job message should be delayed in case of failure to process. Defaults to3
.XLINSIGHT_DEFAULT_CRAWLER_MAX_RETRY
: Defined how many times a job message should be retried in case of failure. Defaults to32
.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
- Log in to Docker Hub using your credentials: documentation
- Pull latest plugin image from the repository: ex.
docker pull xebialabs/<image name>:<version>
, ex.
docker pull xebialabs/xli-plugin-github:8.1.0
- 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.