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!
- Click Use this template and clone your new repository.
- 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"
- 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.
- Skeleton code for the processor and its configuration.
- Example unit tests.
- A Makefile with commonly used targets.
- A GitHub workflow to build the code and run the tests.
- A GitHub workflow to run a pre-configured set of linters.
- A GitHub workflow which automatically creates a release when a tag is pushed.
- A Dependabot setup which checks your dependencies for available updates and merges minor version upgrades automatically.
- Issue and PR templates.
- A README template.
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.
-
Navigate to Settings -> General and allow auto-merge of PRs.
-
Navigate to Settings -> Branches and add a branch protection rule.
-
Create a rule for branch
main
that requires status checksbuild
andgolangci-lint
.
- 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
andgolangci-lint
. - Require branches to be up to date before merging.
- Require conversation resolution before merging.
- Do not allow bypassing the above settings.