This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Install

Instructions for installing Classify and Traverse.

Instructions for installing Classify and Traverse are provided here.

1 - Prerequisites

Following are the prerequisites for using Discover.
  • 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

Steps to install Classify and Traverse.

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-values ensures 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

  1. 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-values
    
  2. Traverse 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.

  3. 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.

  1. 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 discoverx
    

    The 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               7h50m
    
  2. Run 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-bc02d78
    
  3. Run 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 200 response.

  4. 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.

  5. Open Traverse on the Web Browser.

    1. Log in to PPC UI with the administrator credentials.
    2. Click Discover on the left pane.