Skip to content

ConduitIO/conduit-processor-template

Repository files navigation

Conduit Processor Template

This is a template project for building Conduit processors in Go. It makes it possible to start working on a Conduit processor in a matter of seconds.

Tip

Are you looking to write a simple processor for your specific use case? In that case you could take the simpler approach - check out the documentation how you can write a processor in a single function!

Quick start

  1. Click Use this template and clone your new repository.
  2. Initialize the repository using setup.sh and commit your changes.
    ./setup.sh github.com/myusername/conduit-processor-myprocessor
    git add -A
    git commit -m "initialize repository"
  3. Set up automatic Dependabot PR merges.

With that, you're all set up and ready to start working on your processor! As a next step, we recommend that you check out the Conduit Processor SDK.

What's included?

Automatically merging Dependabot PRs

Note

This applies only to public processor repositories, as branch protection rules are not enforced in private repositories.

The template makes it simple to keep your processor up-to-date using automatic merging of Dependabot PRs. To make use of this setup, you need to adjust some repository settings.

  1. Navigate to Settings -> General and allow auto-merge of PRs.

    Allow auto-merge

  2. Navigate to Settings -> Branches and add a branch protection rule.

    Add branch protection rule

  3. Create a rule for branch main that requires status checks build and golangci-lint.

    Status checks

Recommended repository settings

  • Allow squash merging only.
  • Always suggest updating pull request branches.
  • Automatically delete head branches.
  • Branch protection rules on branch main (only in public repositories):
    • Require a pull request before merging.
    • Require approvals.
    • Require status checks build and golangci-lint.
    • Require branches to be up to date before merging.
    • Require conversation resolution before merging.
    • Do not allow bypassing the above settings.