Skip to main content

Conduit Processor Template

Initializing a Conduit Processor Project

To begin the development of a custom Conduit processor, it is recommended developers should initialize their project using the Conduit processor template. This template streamlines the setup process by providing a fundamental project structure, along with utility configurations for GitHub actions and a Makefile.

Included in the Conduit Processor Template are:

  • Base code for processor's configuration and lifecycle.
  • Sample unit tests to validate processor functionality.
  • A preconfigured Makefile to assist with common build tasks.
  • GitHub Actions Workflows for continuous integration including building, testing, linting, and automated release creation upon tag push.
  • Dependabot configurations to automate dependency updates and minor version auto-merging.
  • Issue and Pull Request templates for consistent contribution practices.
  • A README template to guide project documentation.

Steps to Use the Processor Template

  1. On the repository's main page, select "Use this template".
  2. Provide the new repository details as prompted.
  3. Upon repository creation, clone it to your local development environment.
  4. Execute the ./setup.sh script with the desired module name, e.g., ./setup.sh github.com/awesome-org/conduit-processor-file.
  5. (Optional) Define code owners in the CODEOWNERS file.
note

By convention the name of the repository should be conduit-processor-processor name. So if you would like to reference the processor using foo, the repository should be named conduit-processor-foo.

Developing Processors

Implement a processor by defining a struct that satisfies the sdk.Processor interface.

Processors follow a lifecycle of: Configure, Open, Process, and Teardown, However a simple processor can be created with only Specification and Process being overridden. There are other optional functions that help with the configuration of more complex processors such as: Configure, Open, Teardown and MiddlewareOptions.

Further information on developing a processor can be found at the following link(s):