Introducing plugins#

Extend HCL™ Accelerate by configuring plugin integrations to external tools.

HCL Accelerate uses a containerized microservices architecture. This means that plugins are not run directly from HCL Accelerate but from containerized instances managed by a containerization platform. Runtime instances are created from images on the Docker Hub™ repository. HCL Accelerate retrieves images from this repository and creates instances as needed.

For Kubernetes-based installations such as OpenShift™, HCL Accelerate uses Kubernetes™ as its containerization platform. An Argo Workflow Engine manages plugin workflow. A Kubernetes pod starts when a plugin task is requested and sends the results to HCL Accelerate. When complete, the container containing the plugin ends.

For Docker-based installations, HCL Accelerate uses Docker Compose as its containerization platform. A Docker container starts when a plug-in task is requested and sends the results to HCL Accelerate.

Plug-ins are categorized by data collection and communication methods. Generally, plug-ins are designed to use one of the following communication methods.

Available plugins are stored at HCL plugin database.

If you cannot find a plugin for your environment, you can create plugins by using the plugin software development kit (SDK).

If a metrics plugin is not available for your tool, you can upload custom metrics using HCL Accelerate API endpoints.

To use a plugin, you configure an integration. "Integration" refers to a user-configured instance. You might use the GitHub plugin to configure an integration with the Service A repository, and then configure another integration with your Service B repository. Although both integrations use the GitHub plugin, each integration provides a unique set of data to HCL Accelerate. You manage each integration separately.

Some integrations are termed "native integrations," and are not technically plugin derived. Native integrations are used with deployment plans by defining tasks of a specific type. You can use UrbanCode Deploy data with your deployments and pipelines, for example, by defining UrbanCode Deploy-type tasks.

Some plugins might have a corresponding plugin in the external tool. To integrate Jenkins, for example, you install the "HCL Accelerate" plugin into Jenkins™ using the Jenkins plugin manager. Then you configure a corresponding Jenkins integration in HCL Accelerate. The two integrations operate in tandem.

Parent topic: Extending product functions