Add custom service to existing descriptor in Apache Knox Proxy

How to add a custom service to an existing descriptor in Knox proxy using Cloudera Manager.

Custom services are unofficial, tech preview, or community feature Knox services. You must supply the service definition files (service.xml and rewrite.xml) which exist in the KNOX_DATA_DIR/services folder. These are not recommended for production environments, and not supported by Cloudera.

In this example, a custom service (MY_SERVICE) is added in cdp-proxy with the following attributes:
  • Version : the service’s version, for example, 1.0.0.
  • URL: the service URL, for example, https://sampleHost:1234.
  • Service parameter: a sample service parameter, for example, myValue.

To achieve the goals, you need to add three new entries with the above-listed parameters in Knox Simplified Topology Management - cdp-proxy. Then you save the changes, refresh the cluster and check if the newly added custom service is available in cdp-proxy.

  1. From Cloudera Manager > Knox > Configuration, add the three new entries with the above-listed parameters.
    MY_SERVICE:version=1.0.0
    MY_SERVICE:url=https://sampleHost:1234
    MY_SERVICE:customServiceParameter=myValue
  2. Save your changes.
  3. The ‘Refresh needed’ stale configuration indicator appears; click it and wait until the refresh process completes.
  4. Validate that MY_SERVICE in cdp-proxy is added by navigating to the following URL: https://$KNOX_GATEWAY_HOST:$PORT/$GATEWAY_PATH/admin/api/v1/topologies/cdp-proxy.