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:
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" ]
- 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 addmocktarget.apigee.net
to the "allowed_hosts" value. If a host is not included in the KVM, the SmartDocs response will be400 Bad Request
with a content payload ofBad Request-Hostname not permitted
.
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.