This is a template project for building Conduit connectors in Go. It makes it possible to start working on a Conduit connector in a matter of seconds.
- 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-connector-myconnector 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 connector! As a next step, we recommend that you check out the Conduit Connector SDK.
- Skeleton code for the connector's configuration, source and destination.
- 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 connector repositories, as branch protection rules are not enforced in private repositories.
The template makes it simple to keep your connector 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.