Configuring reporting settings for IBM Knowledge Catalog

Configure the default reporting settings for your instance of IBM Knowledge Catalog. The reporting settings are determined by enforceAuthorizeReporting and defaultAuthorizeReporting parameters in your ccs-features-configmap.

By default, the reporting settings are set to the following values:

enforceAuthorizeReporting: "false"
defaultAuthorizeReporting: "false"

This arrangement ensures that whenever a new project, a catalog, or a category is created, the Allow reporting on asset metadata toggle is switched off, but the projects or catalogs collaborators with the Admin or Editor permissions or category collaborators can switch it on to send the metadata to an external reporting database.

Alternative reporting settings options

If required, you can change the default settings to the following values:

enforceAuthorizeReporting: "false"
defaultAuthorizeReporting: "true"

That arrangement ensures that whenever a new project, a catalog, or a category is created, the Allow reporting on asset metadata toggle is switched on by default, but the projects or catalogs collaborators with the Admin or Editor permissions or category collaborators can switch it off and decide not to send the metadata to an external reporting database. This option is covered in Editing the default reporting settings.

You can also consider the following values:

enforceAuthorizeReporting: "true"
defaultAuthorizeReporting: "true"

That arrangement ensures that whenever a new project, a catalog, or a category is created, the Allow reporting on asset metadata toggle is switched on by default, and the projects or catalogs collaborators with the Admin or Editor permissions or category collaborators cannot switch it off, so all metadata is sent to an external reporting database. If you decide to change the default settings to this option, adjust the enforceAuthorizeReporting: parameter value to "true" in step 1. and follow the rest of the steps in Editing the default reporting settings.

Required roles

To complete this task, you must have one of the following roles:

  • Cluster administrator
  • Instance administrator

Editing the default reporting settings

  1. Edit the default settings. For example:

    oc edit configmaps ccs-features-configmap -o yaml-n ${PROJECT_CPD_INSTANCE}
    
    enforceAuthorizeReporting: "false"
    defaultAuthorizeReporting: "true"
    
  2. Restart the following pods.

    wkc-bi-data-service
    wkc-glossary-service
    wkc-gov-ui
    catalog-api
    ngp-projects-api
    portal-catalog
    portal-projects
    
  3. Verify if ccs-operator pod is running:

    oc get deploy -n wkc-operators | grep ccs
    ibm-cpd-ccs-operator                                   1/1     1            1           8d
    
  4. If ccs-operator pod is showing: ibm-cpd-ccs-operator 0/0:

    oc scale deploy ibm-cpd-ccs-operator --replicas=1 -n wkc-operators
    
  5. Fix ccs-cr with a dummy variable.

    oc patch ccs ccs-cr -n ${PROJECT_CPD_INSTANCE} --type merge -p'{"spec":{"dummyone":true}}'
    
  6. Confirm whether ccs-cr reconciliation is in progress.

    oc get CCS ccs-cr -n ${PROJECT_CPD_INSTANCE}
    NAME     VERSION   RECONCILED   STATUS       AGE
    ccs-cr   8.5.0     8.5.0        InProgress   8d
    
  7. Wait for several minutes for the reconciliation process to complete.

    oc get ccs ccs-cr -n ${PROJECT_CPD_INSTANCE}
    NAME     VERSION   RECONCILED   STATUS      AGE
    ccs-cr   8.5.0     8.5.0        Completed   8d
    
  8. Verify that the environemnt variable is set for ngp-projects-api.

    oc set env -n ${PROJECT_CPD_INSTANCE} deployment/ngp-projects-api --list | grep -i reporting
    DEFAULT_AUTHORIZE_REPORTING=True
    ENFORCE_AUTHORIZE_REPORTING=False
    

    If you do not see the ENFORCE_AUTHORIZE_REPORTING and DEFAULT_AUTHORIZE_REPORTING environment variables, run:

    oc edit deployment ngp-projects-api
         - name: DEFAULT_AUTHORIZE_REPORTING
           valueFrom:
             configMapKeyRef:
               key: defaultAuthorizeReporting
               name: ccs-features-configmap
               optional: true
         - name: ENFORCE_AUTHORIZE_REPORTING
           valueFrom:
             configMapKeyRef:
               key: enforceAuthorizeReporting
               name: ccs-features-configmap
               optional: true
    
  9. Verify that the environment variable is set for catalog-api.

    oc set env -n ${PROJECT_CPD_INSTANCE} deployment/catalog-api --list | grep -i reporting
    defaultAuthorizeReporting=true
    enforceAuthorizeReporting=false
    

    If you do not see the enforceAuthorizeReporting and defaultAuthorizeReporting environment variables, run:

    oc edit deployment catalog-api -o yaml -n ${PROJECT_CPD_INSTANCE}
         - name: "enforceAuthorizeReporting"
           valueFrom:
             configMapKeyRef:
               key: enforceAuthorizeReporting
               name: ccs-features-configmap
               optional: true
         - name: "defaultAuthorizeReporting"
           valueFrom:
             configMapKeyRef:
               key: defaultAuthorizeReporting
               name: ccs-features-configmap
               optional: true
    

Parent topic: Setting up reporting for IBM Knowledge Catalog