Install SmartDocs

SmartDocs is installed automatically when you install and run the installation test scripts described in Test the install. As part of running the test scripts, you run the following commands:

/opt/apigee/apigee-service/bin/apigee-service apigee-validate install
/opt/apigee/apigee-service/bin/apigee-service apigee-validate setup -f configFile

Where configFile is the same config file you used to install Edge. See Install Edge components on a node for more.

This command installs SmartDocs as part of running the tests.

To complete the installation:

  1. Test that SmartDocs is installed by confirming that the smartdocs.zip file is located in the following directory:

    /opt/apigee/apigee-validate/bundles/

    Or run the following API call on the Management Server node:

    curl -v -u adminEmail:adminPword 0:8080/v1/o/validate/apis

    This command should return the following if SmartDocs is installed:

    [ "smartdocs", "passthrough" ]
  2. From the Edge UI, create and update a KVM named “smartdocs_whitelist,” as shown in the figure below. The KVM should be created in the organization and environment in which the SmartDocs proxy is currently deployed.

    Note: Make sure that the box for encrypted is NOT checked.

    • Add a key named “is_whitelist_configured,” where the value is “YES”.
    • Add a second key named “allowed_hosts,” where the values are space separated hostnames or IP addresses called from SmartDocs. The value of "allowed_hosts" should include any hosts included in OpenAPI specs added to SmartDocs. For example, if you have an OpenAPI spec that calls mocktarget.apigee.net, you will need to add mocktarget.apigee.net to the "allowed_hosts" value. If a host is not included in the KVM, the SmartDocs response will be 400 Bad Request with a content payload of Bad Request-Hostname not permitted.
    KVM creation interface Note: If you do not add and configure this KVM, the proxy will not enforce whitelisting. This could result in unauthorized access to your hosts and IP addresses. Only hostnames and IP addresses of API endpoints documented with SmartDocs should be included in the "allowed_hosts" values.