Introducing plug-ins#

Extend HCL™ Accelerate by configuring plug-in integrations to external tools.

HCL Accelerate uses a containerized microservices architecture. This means that plug-ins 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 plug-in workflow. A Kubernetes pod starts when a plug-in task is requested and sends the results to HCL Accelerate. When complete, the container containing the plug-in 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. See installing plug-ins in products for details.

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

You can find the list of the currently available plug-ins in the public GitHub repository. Available plug-ins are stored at DockerHub.

If you cannot find a plug-in for your environment, you can create plug-ins by using the plug-in software development kit (SDK).

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

To use a plug-in, you configure an integration. "Integration" refers to a user-configured instance. You might use the GitHub plug-in to configure an integration with the ServiceA repository, and then configure another integration with your ServiceB repository. Although both integrations use the GitHub plug-in, 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 plug-in derived. Native integrations are used with deployment plans by defining tasks of a specific type. You can use HCL™ Launch data with your deployments and pipelines, for example, by defining HCL Launch-type tasks.

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

Parent topic: Extending product functions