Skip to main content

CxSAST Reporting Manager Installation (Docker image)

Following is a step-by-step guide for installing the CxSAST Reporting Manager component as a Docker image.

Note

This is a Linux-based image.

Installation steps

  1. Download the CxSAST Reporting Docker image.

  2. Load the CxSAST Reporting Docker image into your CxSAST Reporting host Docker.

    docker image load --input <image filename>.tar

  3. Configure the CxSAST Reporting settings using:

    Docker .env file

    The image provided receives multiple parameters via environment variables. To pass them to the container, create a .env file with key-value pairs using the following format: KEY=value

    This file is then passed in the docker run command with the following option:

    --env-file="<path to file>\vars.env"

    A complete example is provided at the end of this guide.

    Environment variables

    • CONNECTION_STRING Required - Database connection string to a SQL Server.

    • NUMBER_OF_PARALLEL_REPORTS Default: 2 - Number of maximum reports processed in parallel.

    • NUMBER_OF_RETRIES Default: 3 - Number of maximum retries when processing a report request.

    • REPORTS_EXECUTION_INTERVAL Default: 2 - Number of seconds between polling of new report requests.

    • REPORTS_OUTPUT_PATH Required - Output path for the generated reports.

    • REPORT_RETENTION_PERIOD Required - Number of days that reports will be stored in the system.

    • REPORT_RETENTION_PERIOD_FORMAT Required - Retention period format: D for days or H for hours.

    • REPORTING_API_URL Required - Endpoint for the client api (http://<reporting api address>:<port>).

    • SYNC_DATA_INFO - Represents a Cron Expression that defines how often the dashboard service runs.

    • PROJECT_STATUS_CUSTOM_FIELD_NAME - The project custom field name that stores the onboarding/triaging process status (example: ASA_Status).

    • PROJECT_STATUS_CUSTOM_FIELD_VALUE - The value of the project custom field name that stores the onboarding/triaging process status (example: Delivered).

    • PROJECT_ONBOARDING_DATE_CUSTOM_FIELD_NAME - The project custom field name that stores the onboarding/triaging process end date (example: Onboarding_Date).

  4. To initiate the CxReportingService container, run the docker image with the following command:

docker run `
 --env-file=<vars.env file path> `
-v ~/cx-reporting-service:<value of REPORTS_OUTPUT_PATH env var> `
--restart always `
cx-reporting-service:latest

Note

To deploy the Manager and Client API images using docker compose, refer to CxSAST Reporting Service Docker Compose Setup.

Example

The following is an example of installing CxSASTReportingService on the same machine as CxSAST:

docker run -p 5002:5002 `
-v ~/cx-reporting-service:/app/CxReports
--env-file="/var/jenkins/workspace/reporting-service-validation_dev/pipelines/reporting-service/.env" `
cx-reporting-service:latest

The vars.env file is configured as follows:

CONNECTION_STRING=Data Source=10.32.1.117\SQLExpress;Initial Catalog=CxDB;Integrated Security=False;User ID=testuser;Password=testpassword;Pooling=True
NUMBER_OF_PARALLEL_REPORTS=2
NUMBER_OF_RETRIES=3
REPORTS_EXECUTION_INTERVAL=10
REPORTS_OUTPUT_PATH=/app/CxReports
REPORT_RETENTION_PERIOD=3