Instructions for installing Classify and Traverse are provided here.
This is the multi-page printable view of this section. Click here to print.
Install
1 - Prerequisites
Platform and Access
- PPC cluster version 1.2 or later.
- Kubernetes access to the target cluster.
- kubectl configured for the target cluster context.
- Cluster permissions for the connected user .
- Helm 3.x with OCI support enabled.
Container Registry Access
- Ensure access and valid authentication to the container registry hosting the Classify and Traverse Helm charts.
- For PCR, obtain valid registry credentials through your My.Protegrity account before installation. For more information about creating an account, refer to the documentation Obtaining Credentials.
- For PCR or a private registry, ensure that the registry URL, username, and password/access token are available.
- Log in to the container registry before proceeding with the installation:
helm registry login <registry-url> \ --username <username> \ --password <password/token>
Registry Authentication
- Access to the registry that hosts Classify and Traverse Helm charts. Ensure that the required authentication to the container registry path is available.
- For Protegrity Container Registry (PCR), use helm registry login with credentials from My.Protegrity account creation.
Cluster Dependencies
- Karpenter operator available in the cluster that is provided by PPC.
Required Inputs
- Container registry path for Discover that includes Classify and Traverse installation: registry.protegrity.com:9443 for PCR, or a local registry endpoint.
2 - Installing Discover
Installing Classify
Classify can be installed as a standalone service or as a service on Traverse.
Run the following command to install Classify as a standalone service.
helm upgrade --install data-discovery \
oci://<Container_Registry_Path>/data-discovery/classification/helm/data-discovery \
--version 2.2.0-487.gd29bc9f8 \
-n data-discovery --create-namespace \
--reset-then-reuse-values
Run the following command to install Classify as a service on Traverse.
helm upgrade --install data-discovery \
oci://<Container_Registry_Path>/data-discovery/classification/helm/data-discovery \
--version 2.2.0-487.gd29bc9f8 \
-n data-discovery --create-namespace \
--reset-then-reuse-values \
--set 'classificationAppConfig.providers[0].name=Pattern' \
--set 'classificationAppConfig.providers[0].address=http://pattern-provider-service:8051' \
--set 'classificationAppConfig.providers[1].name=Context' \
--set 'classificationAppConfig.providers[1].address=http://context-provider-service:8052' \
--set 'classificationAppConfig.providers[2].name=RegexDictionary' \
--set 'classificationAppConfig.providers[2].address=http://regex-provider:8053'
Note: The parameter
--reset-then-reuse-valuesensures that the release uses the existing values except for the ones explicitly overridden. For more information on the parameter, refer to the Helm documentation here.
Verifying the Installation
After installing Classify, run the following command to verify the installation:
kubectl get pods -n data-discovery
The status of all the pods must be Running.
Note: On AWS, the CPU node image is selected automatically from the cluster’s region. Secure nodes, such FIPS nodes, are used in the US, Canada, and GovCloud. Outside the US, Canada, and GovCloud, AWS nodes no longer run secure host cryptography. No region-specific configuration is required.
Installing Traverse
Traverse can be installed using the following steps.
Installation Steps
Run this command to install the Regex Dictionary provider.
helm upgrade --install regex-provider \ oci://<Container_Registry_Path>/discover/traverse/helm/regex-provider \ --version 1.4.0-275.ged3100bb \ -n data-discovery --create-namespace \ --reset-then-reuse-valuesTraverse includes the Kubernetes Event-driven Autoscaling (KEDA) operator. Helm installs its custom resource definitions (CRDs) only on a first install. Apply them before every install or upgrade.
helm show crds oci://<Container_Registry_Path>/discover/traverse/helm/discoverx-scanner \ --version 1.4.0-3871.ga855eeb9 \ | kubectl apply --server-side --force-conflicts -f -Note: If the cluster already has KEDA installed, skip this step. Install Traverse with
--set keda.enabled=false.Install or upgrade Traverse using the following command:
helm upgrade --install discoverx \ oci://<Container_Registry_Path>/discover/traverse/helm/discoverx-scanner \ --version 1.4.0-3871.ga855eeb9 \ -n discoverx --create-namespace \ --reset-then-reuse-values \ --set scannerAppConfig.classificationServiceUrl="http://classification-service.data-discovery:8050" \ --set scannerAppConfig.fileClassificationServiceUrl="http://file-classification-service.data-discovery:8053" \ --set keda.global.image.registry=<Container_Registry_Path> \ --set keda.imagePullSecrets[0].name=harbor-secret
Verifying the Installation
Verify the installation using the following steps.
Run the following command to verify whether the status of all the pods are Running.
kubectl get pods -n data-discovery kubectl get pods -n discoverxThe expected output must return the following snippet.
kubectl get pods -n data-discovery NAME READY STATUS RESTARTS AGE classification-deployment-76bb665c59-9w7tk 1/1 Running 0 13h context-provider-deployment-ddcb99fd4-ndvmm 1/1 Running 0 27h data-discovery-nvidia-device-plugin-7fd6t 1/1 Running 0 27h file-classification-deployment-886497bbd-nklkq 1/1 Running 0 13h pattern-provider-deployment-dfd8998c8-pk58c 1/1 Running 0 13h regex-provider-6fc966fbdf-gsd6x 1/1 Running 0 13h regex-provider-postgresql-0 1/1 Running 0 27h kubectl get pods -n discoverx NAME READY STATUS RESTARTS AGE ddx-api-f8d495955-f54z7 2/2 Running 2 (7h41m ago) 7h50m ddx-detector-5df7dd4479-wsrj9 1/1 Running 6 (7h41m ago) 7h50m ddx-mapper-7bcbccf658-c5bk2 1/1 Running 6 (7h41m ago) 7h50m discoverx-postgresql-0 1/1 Running 0 7h50m keda-admission-webhooks-5f5b4f887c-hfx26 1/1 Running 0 7h50m keda-operator-54c48d5dc9-r4cnd 1/1 Running 0 7h50m keda-operator-metrics-apiserver-586f69f945-p2hd5 1/1 Running 0 7h50mRun the following command to check the Traverse images.
kubectl -n discoverx get deploy ddx-api \ -o jsonpath='{range .spec.template.spec.containers[*]}{.image}{"\n"}{end}'The expected output must return the following snippet.
<Container_Registry_Path>/discover/traverse/containers/scanner:1.4.0.3858.cd2d73af <Container_Registry_Path>/uiux-shell/shell-discover/<version>/shell-discover:1.4.0-18-bc02d78Run the following command to check the status of the Classify service.
kubectl -n data-discovery exec deploy/classification-deployment -- \ python3 -c 'import urllib.request as u;print(u.urlopen("http://localhost:8050/pty/data-discovery/v2/entities").status)'The expected output must return a
200response.Run the following command to check that Traverse reads the entity types.
kubectl -n discoverx exec deploy/ddx-api -c scanner -- \ python3 -c 'import json,urllib.request as u;print(len(json.load(u.urlopen("http://localhost:8000/pty/discoverx/v1/entity-types"))["items"]))'The expected output must return 30 or more entities.
Open Traverse on the Web Browser.
- Log in to PPC UI with the administrator credentials.
- Click Discover on the left pane.