Uninstalling Discover

Steps to uninstall Classify and Traverse.

Traverse stores scan results and datastore credentials in a volume that remains after the release is uninstalled. The keys that protect these credentials are stored in a secret that Helm deletes with the release. Therefore, Traverse can be uninstalled either while retaining the database for a later reinstall or completely.

Important: It is recommended to not remove the volume or the keys independently. Removing only one of them, or removing them separately, results in data loss.

Uninstalling while retaining the database

To retain the database for a later reinstall, complete the following steps.

Uninstall Traverse and retain the database

  1. Run the following commands to save the generated encryption key and database password. Helm deletes both values when it removes the release.

    kubectl get secret discoverx-scanner-secret -n discoverx \
      -o jsonpath='{.data.DISCOVERX_ENCRYPTION_KEY}' | base64 -d > discoverx-key
    kubectl get secret discoverx-scanner-secret -n discoverx \
      -o jsonpath='{.data.DB_PASSWORD}' | base64 -d > discoverx-db-password
    

    Important: Store both files securely, as they are credentials. Without the encryption key, the datastore credentials in the retained database cannot be decrypted.

  2. Run the following command to back up the database.

    kubectl exec -n discoverx discoverx-postgresql-0 -c postgresql -- \
      pg_dump -U discoverx -d discoverx > discoverx-backup.sql
    

    Note: The backup contains the datastore credentials in their encrypted form. It can be used only with the saved encryption key.

  3. Run the following command to remove the autoscaler configuration. Run it before uninstalling the release that owns the autoscaler, so that the release can finish deleting it.

    kubectl delete scaledobject,triggerauthentication --all -n discoverx
    
  4. Run the following commands to uninstall the Traverse and Regex Dictionary provider releases.

    helm uninstall discoverx -n discoverx
    helm uninstall regex-provider -n data-discovery
    

Reinstall Traverse with the Retained Database

To install Traverse again with the retained database, complete the following steps.

  1. Add the following parameters to the Traverse install command and run it.

    --set secret.encryptionKey="$(cat discoverx-key)" \
    --set postgresql.auth.password="$(cat discoverx-db-password)"
    
  2. Optional: Run the following command to restore the backup into an empty database.

    kubectl exec -i -n discoverx discoverx-postgresql-0 -c postgresql -- \
      psql -U discoverx -d discoverx < discoverx-backup.sql
    

    Note: The restore fails if the target database already contains the tables that Traverse creates at startup.

Uninstalling Discover Completely

To remove Traverse completely, complete the following steps.

Important: Deleting the volumes permanently destroys every scan result and datastore definition. This action cannot be undone.

  1. Complete steps 3 and 4 of Uninstall Traverse and retain the database.

  2. Run the following commands to delete the persistent volume claims.

    kubectl delete pvc data-discoverx-postgresql-0 -n discoverx
    kubectl delete pvc data-regex-provider-postgresql-0 -n data-discovery
    
  3. Run the following commands to delete the persistent volumes. The volumes remain after their claims are deleted and continue to incur costs until they are removed.

    kubectl get pv | grep -E 'discoverx|data-discovery'
    kubectl delete pv <name>
    
  4. Optional: Run the following command to delete the autoscaler definitions that were applied during the Traverse installation. These definitions are cluster-wide and remain after any uninstall.

    kubectl delete crd scaledobjects.keda.sh scaledjobs.keda.sh \
      triggerauthentications.keda.sh clustertriggerauthentications.keda.sh \
      cloudeventsources.eventing.keda.sh clustercloudeventsources.eventing.keda.sh
    

    Important: Run this command only if no other component on the cluster uses KEDA. Deleting the definitions deletes every autoscaler object on the cluster.

  5. Run the following command to delete the namespaces.

    kubectl delete namespace discoverx data-discovery
    

Note: If Traverse is uninstalled without saving the encryption key and the database password, the database is retained, but a reinstall generates a new password and a new encryption key. This results in the following:

  • The pods fail with the error password authentication failed for user "discoverx".
  • Any datastore credential stored before the uninstall can no longer be decrypted.

To recover, perform one of the following actions:

  • Restore a database backup that was taken before the uninstall.
  • Start with an empty database and register the data sources again.
Last modified : November 03, 2026