Repository navigation
ReportPortal Prime Features
This guide covers the configuration and deployment of ReportPortal Prime features: Test Executions and SCIM Bridge.
ReportPortal Prime features are premium capabilities that extend the core platform with advanced functionality:
- Test Executions: Flat searchable test-execution indexing for enhanced performance and analytics
- SCIM Bridge: Automated user and group provisioning via the System for Cross-domain Identity Management (SCIM) protocol
Both features require private container images and are controlled by the prime.enabled master switch.
Both Prime features use private container images. You must:
- Obtain access credentials for the private image registry
- Create a pull secret in your namespace with the provided credentials
- Configure the pull secret in your Helm values
Contact ReportPortal to receive image registry access and credentials.
- PostgreSQL database (configured via
database.*parameters) - OpenSearch cluster (configured via
searchengine.*parameters) - ReportPortal API service must be running (both features wait for API during initialization)
Test Executions provides flat searchable indexing of test execution data for enhanced performance and analytics.
Key capabilities:
- Fast search and retrieval of test execution data
- Configurable polling intervals and query limits
- Dedicated OpenSearch index with customizable shards and replicas
- Automatic cleanup of deleted test items
Enable Test Executions by setting prime.enabled: true and configuring the image:
prime:
enabled: true
testExecutions:
enabled: true
image:
repository: <your-registry>/logstash
tag: "latest"
pullSecrets: [] # Component-specific secrets (merged with global.imagePullSecrets)| Parameter | Description | Default |
|---|---|---|
prime.testExecutions.enabled |
Enable Test Executions when prime.enabled is true |
true |
prime.testExecutions.image.repository |
Private Test Executions image repository (required) | "" |
prime.testExecutions.image.tag |
Private image tag (required) | "" |
prime.testExecutions.javaOpts |
JVM options passed via LS_JAVA_OPTS
|
"-Xms512m -Xmx1536m -XX:+UseG1GC" |
prime.testExecutions.scheduleCron |
Cron for JDBC polling of test items |
"*/2 * * * * *" (every 2 seconds) |
prime.testExecutions.sqlLimit |
Max rows per JDBC query (test items) | "1000" |
prime.testExecutions.scheduleCronLaunches |
Cron for the dedicated launches pipeline |
"*/3 * * * * *" (every 3 seconds) |
prime.testExecutions.sqlLimitLaunches |
Max rows per JDBC query (launches) | "20" |
prime:
testExecutions:
index:
name: "test_executions"
shards: "1"
replicas: "1"Automatic cleanup of deleted test items:
prime:
testExecutions:
cleanup:
cron: "0 0 * * * *" # Daily at midnight
retentionPeriod: "1" # Daysprime:
testExecutions:
service:
type: "" # Defaults to ClusterIP
port: 5000 # Logstash port
monitoringPort: 9600 # Monitoring/metrics port
portName: "logstash"prime:
testExecutions:
resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: 1000m
memory: 2GiTest Executions includes startup, readiness, and liveness probes:
prime:
testExecutions:
startupProbe:
enabled: true
initialDelaySeconds: 10
periodSeconds: 10
failureThreshold: 30
readinessProbe:
enabled: true
initialDelaySeconds: 30
periodSeconds: 10
livenessProbe:
enabled: true
initialDelaySeconds: 60
periodSeconds: 30Optionally provide custom Log4j2 properties:
prime:
testExecutions:
log4j2:
enabled: true
properties: |
# Your custom Log4j2 configurationSCIM Bridge enables automated user and group provisioning from identity providers (IdPs) like Okta, Azure AD, or OneLogin using the SCIM 2.0 protocol.
Key capabilities:
- Automated user provisioning and deprovisioning
- Group-to-project mapping via configurable regex patterns
- Support for multiple identity providers
- Horizontal pod autoscaling support
Enable SCIM Bridge by setting prime.enabled: true and configuring the image:
prime:
enabled: true
scim:
enabled: true
image:
repository: <your-registry>/reportportal/scim-bridge
tag: "latest"
pullSecrets: [] # Component-specific secrets (merged with global.imagePullSecrets)| Parameter | Description | Default |
|---|---|---|
prime.scim.enabled |
Enable SCIM Bridge when prime.enabled is true |
true |
prime.scim.image.repository |
Private SCIM Bridge image repository (required) | "" |
prime.scim.image.tag |
Private image tag (required) | "" |
prime.scim.host |
Bind address for the SCIM server | 0.0.0.0 |
prime.scim.path |
Base path for the SCIM service (also used for Ingress/Gateway API) | /scim/v2 |
prime.scim.logLevel |
Log level (DEBUG, INFO, WARN, ERROR) | INFO |
prime.scim.maxResults |
Maximum results per SCIM response | 100 |
SCIM Bridge maps IdP groups to ReportPortal projects using configurable regex patterns. Group mapping configuration will be provided separately by ReportPortal.
For configuration details, contact ReportPortal support.
prime:
scim:
service:
type: "" # Defaults to ClusterIP
port: 8080
portName: "http"prime:
scim:
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512MiSCIM Bridge supports horizontal pod autoscaling:
prime:
scim:
autoscaling:
enabled: true
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 80
targetMemoryUtilizationPercentage: ""SCIM Bridge includes startup, readiness, and liveness probes:
prime:
scim:
startupProbe:
enabled: true
initialDelaySeconds: 0
periodSeconds: 10
failureThreshold: 30
readinessProbe:
enabled: true
initialDelaySeconds: 5
periodSeconds: 5
livenessProbe:
enabled: true
initialDelaySeconds: 30
periodSeconds: 10
healthPath: /ServiceProviderConfig # Appended to scim.pathBoth SCIM Bridge and Test Executions can be exposed via Ingress or Gateway API.
ingress:
enabled: true
hosts:
- reportportal.example.com
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
# SCIM will be available at: https://reportportal.example.com/scim/v2The SCIM path (prime.scim.path) is automatically used in the Ingress/Gateway API configuration.
Here's a complete example enabling both Prime features:
# values-prime.yaml
global:
imagePullSecrets:
- name: reportportal-prime
uat:
superadminInitPasswd:
password: ChangeMe
prime:
enabled: true
testExecutions:
enabled: true
image:
repository: <your-registry>/logstash
tag: "latest"
replicaCount: 2
javaOpts: "-Xms1g -Xmx2g -XX:+UseG1GC"
scheduleCron: "*/5 * * * * *"
sqlLimit: "2000"
resources:
requests:
cpu: 1000m
memory: 1Gi
limits:
cpu: 2000m
memory: 4Gi
scim:
enabled: true
image:
repository: <your-registry>/reportportal/scim-bridge
tag: "latest"
replicaCount: 2
logLevel: INFO
# Group mapping configuration provided separately
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 5
targetCPUUtilizationPercentage: 70Install ReportPortal with Prime features:
helm upgrade --install reportportal ./reportportal \
-n reportportal --create-namespace \
-f values-prime.yaml \
--set uat.superadminInitPasswd.password='YourSecurePassword'Check the Test Executions deployment:
kubectl get deployment -n reportportal -l component=reportportal-test-executions
kubectl logs -n reportportal -l component=reportportal-test-executionsVerify the OpenSearch index:
# Port-forward to OpenSearch
kubectl port-forward -n reportportal svc/opensearch-cluster-master 9200:9200
# Check the test_executions index
curl -X GET "localhost:9200/test_executions/_search?pretty"Check the SCIM Bridge deployment:
kubectl get deployment -n reportportal -l component=reportportal-scim
kubectl logs -n reportportal -l component=reportportal-scimTest the SCIM endpoint:
# Port-forward to SCIM service
kubectl port-forward -n reportportal svc/reportportal-scim 8080:8080
# Check ServiceProviderConfig
curl -X GET "localhost:8080/scim/v2/ServiceProviderConfig"Issue: Test Executions pod not starting
Check init container logs (waits for API):
kubectl logs -n reportportal <test-executions-pod> -c api-waiting-initIssue: No data being indexed
-
Check database connectivity:
kubectl logs -n reportportal <test-executions-pod> | grep -i "database\|jdbc"
-
Verify OpenSearch connectivity:
kubectl logs -n reportportal <test-executions-pod> | grep -i "opensearch\|elasticsearch"
-
Check cron schedule and SQL limits in logs
Issue: SCIM Bridge not accessible
-
Check service and pod status:
kubectl get svc,pod -n reportportal -l component=reportportal-scim
-
Verify Ingress/Gateway API configuration:
kubectl get ingress -n reportportal kubectl describe ingress reportportal -n reportportal
Issue: Group mapping not working
-
Check SCIM logs for pattern matching:
kubectl logs -n reportportal -l component=reportportal-scim | grep -i "group\|pattern"
-
Verify configuration:
kubectl get deployment reportportal-scim -n reportportal -o yaml | grep -A5 "SCIM_GROUP"
- Store registry credentials securely using Kubernetes secrets
- Rotate credentials regularly
- Use component-specific
pullSecretswhen different images require different credentials
- Configure authentication in your IdP (bearer token, OAuth)
- Use TLS/HTTPS for SCIM endpoints in production
- Restrict SCIM endpoint access via network policies or Ingress annotations
- Use
database.secretNameto reference an existing secret instead of plain-text passwords - Ensure database SSL is enabled in production (
database.ssl: require)