iControl LX Extension Overview

The iControl® LX extension allows you to use Node.js to extend the REST API on any BIG-IP device or iWorkflow platform. You can write an iControl LX extension to implement your REST API using JavaScript to represent the URI resources (nouns) that you can then invoke in a RESTful manner. The REST verb handlers can then perform appropriate actions local to the F5 devices or across the distributed data center. An iControl LX extension is an extensibility point attached to a specific URI, enabling customer-provided JavaScript/Node.js code to run in the context of the BIG-IP/iWorkflow control plane extending the REST API with additional services. You can extend existing F5 REST APIs as well as convert your own services into multiple extensions that are run on F5’s control plane.

BIG-IP and iWorkflow provide a service named restnoded. This service runs as a node.js daemon that enables you to write your extension’s source files using the JavaScript language. The restnoded service is also compliant with iControl REST to enable you to create extensions that use iControl REST end-points. The restnoded service is integrated into the BIG-IP and iWorkflow logging infrastructure and can output logging statements to /var/log/restnoded/restnoded.log.

Each extension provides one uri that represents the endpoint of a REST resource. You have the option to specify that the state of this REST resource persist through backup, restore and upgrade operations. Every time restnoded is restarted, it will scan, recursively, each registered directory for node.js REST extensions. Your extension’s files must exist in a registered directory that is scanned by restnoded. For more information on creating an iControl LX extension, see Creating an iControl Extension.