2017-05-10 19:11:58 +00:00
# Maintainers
2017-08-10 15:29:32 +00:00
## The team
2017-08-12 13:40:07 +00:00
* Emile Vauge [@emilevauge ](https://github.com/emilevauge )
* Vincent Demeester [@vdemeester ](https://github.com/vdemeester )
* Ed Robinson [@errm ](https://github.com/errm )
* Daniel Tomcej [@dtomcej ](https://github.com/dtomcej )
* Manuel Zapf [@SantoDE ](https://github.com/SantoDE )
* Timo Reimann [@timoreimann ](https://github.com/timoreimann )
* Ludovic Fernandez [@ldez ](https://github.com/ldez )
* Julien Salleyron [@juliens ](https://github.com/juliens )
* Nicolas Mengin [@nmengin ](https://github.com/nmengin )
2017-08-21 20:22:04 +00:00
* Marco Jantke [@marco-jantke ](https://github.com/marco-jantke )
2017-10-24 11:18:03 +00:00
* Michaël Matur [@mmatur ](https://github.com/mmatur )
2017-08-12 13:40:07 +00:00
## PR review process:
* The status `needs-design-review` is only used in complex/heavy/tricky PRs.
2018-10-16 16:12:03 +00:00
* From `1` to `2` : 1 comment that says “design LGTM” (by a senior maintainer).
* From `2` to `3` : 3 LGTM approvals by any maintainer.
2017-08-12 13:40:07 +00:00
* If needed, a specific maintainer familiar with a particular domain can be requested for the review.
We use [PRM ](https://github.com/ldez/prm ) to manage locally pull requests.
## Bots
### [Myrmica Lobicornis](https://github.com/containous/lobicornis/)
**Update and Merge Pull Request**
The maintainer giving the final LGTM must add the `status/3-needs-merge` label to trigger the merge bot.
By default, a squash-rebase merge will be carried out.
2018-10-16 16:12:03 +00:00
To preserve commits, add `bot/merge-method-rebase` before `status/3-needs-merge` .
2017-08-12 13:40:07 +00:00
2018-10-16 16:12:03 +00:00
The status `status/4-merge-in-progress` is only used by the bot.
2017-08-12 13:40:07 +00:00
2017-09-07 10:02:03 +00:00
If the bot is not able to perform the merge, the label `bot/need-human-merge` is added.
2018-10-16 16:12:03 +00:00
In such a situation, solve the conflicts/CI/... and then remove the label `bot/need-human-merge` .
2017-08-12 13:40:07 +00:00
2018-10-16 16:12:03 +00:00
To prevent the bot from automatically merging a PR, add the label `bot/no-merge` .
2017-09-12 19:04:03 +00:00
2018-10-16 16:12:03 +00:00
The label `bot/light-review` decreases the number of required LGTM from 3 to 1.
2017-09-12 19:04:03 +00:00
2018-10-16 16:12:03 +00:00
This label is used when:
- Updating the vendors from previously reviewed PRs
- Merging branches into the master
- Preparing the release
2017-09-12 19:04:03 +00:00
2017-08-12 13:40:07 +00:00
### [Myrmica Bibikoffi](https://github.com/containous/bibikoffi/)
* closes stale issues [cron]
* use some criterion as number of days between creation, last update, labels, ...
### [Myrmica Aloba](https://github.com/containous/aloba)
**Manage GitHub labels**
* Add labels on new PR [GitHub WebHook]
2017-09-12 19:04:03 +00:00
* Add milestone to a new PR based on a branch version (1.4, 1.3, ...) [GitHub WebHook]
2017-08-12 13:40:07 +00:00
* Add and remove `contributor/waiting-for-corrections` label when a review request changes [GitHub WebHook]
* Weekly report of PR status on Slack (CaptainPR) [cron]
2017-08-10 15:29:32 +00:00
2017-05-10 19:11:58 +00:00
## Labels
2018-10-16 16:12:03 +00:00
A maintainer that looks at an issue/PR must define its `kind/*` , `area/*` , and `status/*` .
2017-05-10 19:11:58 +00:00
### Contributor
* `contributor/need-more-information` : we need more information from the contributor in order to analyze a problem.
2017-08-10 15:29:32 +00:00
* `contributor/waiting-for-feedback` : we need the contributor to give us feedback.
2017-09-12 19:04:03 +00:00
* `contributor/waiting-for-corrections` : we need the contributor to take actions in order to move forward with a PR. ** (only for PR)** _[bot, humans]_
2017-05-21 12:53:31 +00:00
* `contributor/needs-resolve-conflicts` : use it only when there is some conflicts (and an automatic rebase is not possible). ** (only for PR)** _[bot, humans]_
2017-05-10 19:11:58 +00:00
### Kind
* `kind/enhancement` : a new or improved feature.
2018-10-16 16:12:03 +00:00
* `kind/question` : a question. ** (only for issue)**
* `kind/proposal` : a proposal that needs to be discussed.
* _Proposal issues_ are design proposals
2017-05-10 19:11:58 +00:00
* _Proposal PRs_ are technical prototypes that need to be refined with multiple contributors.
2018-10-16 16:12:03 +00:00
* `kind/bug/possible` : a possible bug that needs analysis before it is confirmed or fixed. ** (only for issues)**
* `kind/bug/confirmed` : a confirmed bug (reproducible). ** (only for issues)**
* `kind/bug/fix` : a bug fix. ** (only for PR)**
2017-05-10 19:11:58 +00:00
### Resolution
2018-10-16 16:12:03 +00:00
* `resolution/duplicate` : a duplicate issue/PR.
* `resolution/declined` : declined (Rule #1 of open-source: no is temporary, yes is forever).
2017-05-10 19:11:58 +00:00
* `WIP` : Work In Progress. ** (only for PR)**
### Platform
* `platform/windows` : Windows related.
### Area
2017-08-10 15:29:32 +00:00
* `area/acme` : ACME related.
* `area/api` : Traefik API related.
* `area/authentication` : Authentication related.
* `area/cluster` : Traefik clustering related.
2018-10-16 16:12:03 +00:00
* `area/documentation` : Documentation related.
* `area/infrastructure` : CI or Traefik building scripts related.
2017-08-10 15:29:32 +00:00
* `area/healthcheck` : Health-check related.
2018-10-16 16:12:03 +00:00
* `area/logs` : Logs related.
2017-08-10 15:29:32 +00:00
* `area/middleware` : Middleware related.
* `area/middleware/metrics` : Metrics related. (Prometheus, StatsD, ...)
* `area/oxy` : Oxy related.
2017-05-10 19:11:58 +00:00
* `area/provider` : related to all providers.
* `area/provider/boltdb` : Boltd DB related.
* `area/provider/consul` : Consul related.
* `area/provider/docker` : Docker and Swarm related.
* `area/provider/ecs` : ECS related.
* `area/provider/etcd` : Etcd related.
* `area/provider/eureka` : Eureka related.
2017-08-12 13:40:07 +00:00
* `area/provider/file` : file provider related.
2017-05-10 19:11:58 +00:00
* `area/provider/k8s` : Kubernetes related.
* `area/provider/marathon` : Marathon related.
* `area/provider/mesos` : Mesos related.
* `area/provider/rancher` : Rancher related.
* `area/provider/zk` : Zoo Keeper related.
* `area/sticky-session` : Sticky session related.
2017-08-10 15:29:32 +00:00
* `area/tls` : TLS related.
2017-05-10 19:11:58 +00:00
* `area/websocket` : WebSocket related.
* `area/webui` : Web UI related.
### Priority
2018-10-16 16:12:03 +00:00
* `priority/P0` : needs a hot fix. ** (only for issue)**
* `priority/P1` : needs to be fixed the next release. ** (only for issue)**
* `priority/P2` : needs to be fixed in the future. ** (only for issue)**
2017-05-10 19:11:58 +00:00
* `priority/P3` : maybe. ** (only for issue)**
### PR size
* `size/S` : small PR. ** (only for PR)** _[bot only]_
* `size/M` : medium PR. ** (only for PR)** _[bot only]_
2018-10-16 16:12:03 +00:00
* `size/L` : large PR. ** (only for PR)** _[bot only]_
2017-05-10 19:11:58 +00:00
### Status - Workflow
The `status/*` labels represent the desired state in the workflow.
2018-10-16 16:12:03 +00:00
* `status/0-needs-triage` : all the new issues and PRs have this status. _[bot only]_
* `status/1-needs-design-review` : needs a design review. ** (only for PR)**
* `status/2-needs-review` : needs a code/documentation review. ** (only for PR)**
2017-05-10 19:11:58 +00:00
* `status/3-needs-merge` : ready to merge. ** (only for PR)**
2018-10-16 16:12:03 +00:00
* `status/4-merge-in-progress` : merge is in progress. _[bot only]_