parasoft/dtp-helm

By parasoft

Updated 2 months ago

Parasoft DTP Helm Chart

Helm
0

667

parasoft/dtp-helm repository overview

Quick reference

Maintained byParasoft

Where to get helpParasoft DocumentationParasoft Forums, or Parasoft Support and Technical Services

What is Parasoft DTP?

Parasoft DTP is a reporting and analytics dashboard tool. It aggregates the results from across software project testing practices, providing intelligent and continuous monitoring of the testing outcomes for greater visibility of IT project development. For more information see:

Prerequisites

Helm

You will need access to a machine with Helm version 3+ installed in order to use this Helm Chart

Persistent storage

You will need a persistent storage method for the Parasoft DTP data directory. This directory will contain configuration files, extensions, and other dynamic components that determine how Parasoft DTP runs. If using a persistent volume, then a persistent volume claim will need to be set up before installing DTP. DTP can be configured to use an existing persistent volume claim in two ways.

If you unpacked the chart archive, then you can edit the values.yaml to set the value of persistence.name to the name of the existing persistent volume claim and also set the value of persistence.claimExists to "true".

If you did not unpack the chart archive, then you can create a myvalues.yaml file to pass custom values to the DTP install command using the flag -f myvalues.yaml. Here is an example of what that could look like if the existing persistent volume claim was called dtp-pvc:

myvalues.yaml

persistence:
  name: dtp-pvc
  claimExists: true

If you unpacked the chart archive, then you will also find the pv.yaml, pvc.yaml, and storageclass.yaml templates. These templates are configured to use hostPath or nfs persistent volume types using values defined in the persistence section of the values.yaml. It is also possible via the values in the persistence section to only use the pvc.yaml to configure a custom persistent volume claim if hostPath or nfs persistent volume types do not suit your needs. These values are not enabled by default, so the templates are not used to create any resources when installing DTP as is. In order to use these templates, the values in the persistence section of the values.yaml need to be manually enabled by uncommenting lines. Keep in mind that these templates are meant to show how to define custom persistent volumes, persistent volume claims, and storage classes. As such, these templates may be removed or modified to fit individual deployment needs.

Database

You will need an external database for DTP. You may create a new, empty database or provide an existing one. In either case, a database user must be set up with any necessary permissions required to access the database. Supported databases are MySQL, Oracle, and PostgreSQL (for supported versions, see Requirements and Support). You can use one of the MySQL, Oracle, or PostgreSQL Docker images available on Docker Hub. DTP can be configured to connect to your database on startup by injecting the following values as environment variables: database type, user, user password, JDBC connection URL, and JDBC driver URL.

Database User Password Secret

To prevent exposing sensitive data, please create a Secret for your database user password.

Configuring the Database JDBC Connection URL

The structure of your database JDBC connection URL depends on how your external database is accessed. For example:

  • If your database is hosted on a remote server, in this case assuming a MySQL database, then the URL might look like this: jdbc:mysql://<DB_HOST>:3306/DTP.
  • If your database is running within your Kubernetes cluster and accessible via a configured service name or IP address, in this case assuming a MySQL database, then the URL might look like this: jdbc:mysql://<CONFIGURED_SERVICE_NAME>.<NAMESPACE>:3306/DTP.
DTP Configuration

DTP can be configured to connect to your database on startup in two ways.

If you unpacked the chart archive, then you can edit the values.yaml to set the values of deployment.db to the type, user, passwordSecret, passwordSecretKey, url, and jdbcDriverUrl.

If you did not unpack the chart archive, then you can create a myvalues.yaml file to pass custom values to the DTP install command using the flag -f myvalues.yaml. Here is an example configuration for a MySQL database:

myvalues.yaml

deployment:
  db:
    type: mysql
    user: mysqluser
    passwordSecret: secret-name
    passwordSecretKey: secret-key
    url: jdbc:mysql://mysql-service:3306/DTP
    jdbcDriverUrl: https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar

How to use this Helm Chart

Download the Parasoft DTP Helm Chart

Download the DTP chart archive and (optionally) unpack it in a local directory with command:

$ helm pull oci://registry-1.docker.io/parasoft/dtp-helm --version TAG --untar
  • --version TAG - Tag for the version of the Helm Chart to download
  • --untar - Optional flag that unpacks the chart archive (.tgz) in a local directory called dtp-helm

Install Parasoft DTP

Install DTP with command:

$ helm install RELEASE_NAME [ PACKAGED_CHART_PATH | UNPACKAGED_CHART_PATH ] --namespace NAMESPACE --create-namespace 
  • RELEASE_NAME - Name for the new release being installed
  • PACKAGED_CHART_PATH - Path of the downloaded chart archive
  • UNPACKAGED_CHART_PATH - Path of the dtp-helm local directory unpacked from the downloaded chart archive
  • --namespace NAMESPACE - Namespace for the new release being installed
  • --create-namespace - Creates the namespace for the new release being installed if it does not exist already
Note about persistent volume claim when upgrading helm chart:

If you are upgrading from a version of the DTP Helm Chart that is 2024.1.0 or older and you intend to pass in a pre-configured values.yaml during the upgrade, you will need to specify a value for persistence.claimExists. This value must be set to "true" if a persistent volume claim was created manually outside of the Helm Chart. This can either be specified in the values.yaml file itself or passed in as a flag during the upgrade.

Example upgrade command:

$ helm upgrade --values=VALUES_YAML_PATH RELEASE_NAME [ PACKAGED_CHART_PATH | UNPACKAGED_CHART_PATH ] --set persistence.claimExists=true --namespace=NAMESPACE

Configure the Parasoft DTP instance

  1. Once all the containers within the pod have started, access the Parasoft DTP dashboard on your web browser.

  2. Enter a license for Parasoft DTP by following the directions found here in the Parasoft DTP user manual. Note: The license needs to be obtained from a Parasoft representative.

  3. If you are using DTP with Extension Designer, you will need to enable the Extension Designer container in the DTP pod environment. You have two choices to do this:

    If you unpacked the chart archive, then you can edit the values.yaml to set the values of deployment.extensionDesigner.enabled to true.

    If you did not unpack the chart archive, then you can create a myvalues.yaml file to pass custom values to the DTP install command using the flag -f myvalues.yaml.

    myvalues.yaml

    deployment:
      extensionDesigner:
        enabled: true
    

    Note: If you are using DTP with Extension Designer, you will need to update the reverse proxy settings by going to the Extension Designer Settings page and, under Network Settings, update the fields to reflect the expected hostname and the exposed ports for accessing DTP and Extension Designer.

  4. Parasoft DTP is now ready to use.

Uninstall Parasoft DTP

Uninstall DTP with command:

$ helm uninstall RELEASE_NAME
  • RELEASE_NAME - Name for the release being uninstalled

Advanced settings

Overriding Tomcat configuration

Parasoft DTP runs on Tomcat. Tomcat and its configuration files are embedded in the Docker image. If you need to customize the Tomcat settings or provide your keystore or truststore, here are two ways to do it:

  1. Use a reverse proxy to configure ports and keystore. This eliminates the need to make changes to the default Tomcat settings and keystore in the container.

  2. Create configuration maps with file mappings for the custom configuration files and set each configuration map as a volume mount in the pod definition. Note that after deploying the configuration maps as volume mounts, any external updates made to the custom configuration files will not be reflected inside the container. To deploy external updates to the custom configuration files, the container will need to be restarted.

    Create the custom keystore configuration map with command:

    $ kubectl create configmap keystore-cfgmap --from-file=keystore=KEYSTORE_CFG_PATH --from-file=server-config=SERVER_CFG_PATH
    
    • KEYSTORE_CFG_PATH - Path to the custom .keystore configuration file
    • SERVER_CFG_PATH - Path to the custom server.xml configuration file

    Create the custom truststore configuration map with command:

    $ kubectl create configmap truststore-cfgmap --from-file=truststore=TRUSTSTORE_CFG_PATH
    
    • TRUSTSTORE_CFG_PATH - Path to the custom cacerts configuration file

    To enable the use of custom Tomcat configurations, you have two choices:

    If you unpacked the chart archive, then you can edit the values.yaml to set the values of deployment.customKeystore.enabled and deployment.customTruststore.enabled to true.

    If you did not unpack the chart archive, then you can create a myvalues.yaml file to pass custom values to the DTP install command using the flag -f myvalues.yaml.

    myvalues.yaml

    deployment:
      customKeystore:
        enabled: true
      customTruststore:
        enabled: true
    

Parasoft DTP internal variables

It is possible to inject the Parasoft DTP environment variables JAVA_CONFIG_ARGS and JAVA_DC_CONFIG_ARGS into the Parasoft DTP container. To enable the use of custom JVM arguments, you have two choices:

If you unpacked the chart archive, then you can edit the values.yaml to set the values of deployment.jvmArgsDtp.enabled and deployment.jvmArgsDc.enabled to true. Then, set the values of deployment.jvmArgsDtp.value and deployment.jvmArgsDc.value to the arguments you want to use for each.

If you did not unpack the chart archive, then you can create a myvalues.yaml file to pass custom values to the DTP install command using the flag -f myvalues.yaml.

myvalues.yaml

deployment:
  jvmArgsDtp:
    enabled: true
    value: "-Dcom.parasoft.sdm.storage.managers.admin.enable.delete.project.data=true"
  jvmArgsDc:
    enabled: true
    value: "-Dcom.parasoft.sdm.dc.traffic.max.length=1000000"

Extension Designer with External MongoDB

Extension Designer can be used with an external MongoDB database. To configure Extension Designer to use your external MongoDB, you have two choices:

If you unpacked the chart archive, then you can edit the values.yaml to set the value of deployment.extensionDesigner.externalMongoDb.enabled to true. Then, set the values of deployment.extensionDesigner.externalMongoDb.hostname and deployment.extensionDesigner.externalMongoDb.port to the respective hostname and port of your database.

If you did not unpack the chart archive, then you can create a myvalues.yaml file to pass custom values to the DTP install command using the flag -f myvalues.yaml.

myvalues.yaml

deployment:
  extensionDesigner:
    enabled: true
    externalMongoDb:
      enabled: true
      hostname: mongo-db
      port: 27017

License

You need to view and agree to the Parasoft End User License Agreement (EULA) for the software contained in this image. As with all Docker images, these likely also contain other software which may be under other licenses. As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

Tag summary

Content type

Helm

Digest

sha256:5b35b5a2a

Size

4.1 kB

Last updated

2 months ago

helm pull oci://registry-1.docker.io/parasoft/dtp-helm --version 2026.1.0