Open-Source Wikis

/

Traefik

/

How to contribute

traefik/traefik

How to contribute

This section is the practical "I have a change in mind, what now?" companion to the official contributing docs at https://doc.traefik.io/traefik/contributing/.

The repo's own CONTRIBUTING.md is intentionally short and links to the official docs for the formal PR / issue / security policies. The pages here are for engineers reading the source: how to find your way around, what conventions to mirror, and how to be confident your change is actually correct.

What to read first

Page When to read it
Development workflow Before opening your first PR. Covers branches, generated files, releases.
Patterns and conventions When you start writing code. Covers logging, errors, configuration tags, deprecation.
Testing When you need to write or run tests. Covers unit, integration, conformance.
Debugging When something is wrong. Covers logs, dashboard, common pitfalls.
Tooling When you need to regenerate code or wire CI.

Definition of done

Most contributions converge on the same checklist:

  • Code compiles cleanly: go build ./....
  • Lint passes: make lint (golangci-lint run against .golangci.yml).
  • Unit tests pass: make test-unit.
  • If you touched dynamic-config types: make generate-crd to refresh deepcopy and CRD manifests.
  • If you added user-visible options: update the relevant pages under docs/content/reference/.
  • If you added a configuration field: go generate regenerates the documentation reference (CLI/env/file pages).
  • If you touched routing, providers, middlewares, or load balancing: an integration test in integration/ is expected.

CI runs the matching workflows in .github/workflows/ (test-unit.yaml, test-integration.yaml, validate.yaml, check_doc.yaml).

Pull request process

The official pull-request guide explains the social side. The mechanical side, derived from the repo:

  1. Branch from master for new features, or from a release branch (e.g. v3.7) for bug fixes targeting an existing release.
  2. Use the GitHub PR template — it asks you to confirm CHANGELOG and docs updates.
  3. Maintainers triage using labels documented in https://github.com/traefik/contributors-guide.
  4. CI must pass. The matrix in .github/workflows/test-integration.yaml shards integration tests across multiple jobs; Gateway API and Knative conformance run on their own workflows when relevant.
  5. Releases are cut from version branches by maintainers — see the lore page for the cadence.

Where to get help

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

How to contribute – Traefik wiki | Factory