Skip to content

Commit 73c9148

Browse files
cluxkazknightkr
authored
Maintainers + Governance + Security docs (#671)
* governance and mainteners in the style of linkerd Signed-off-by: clux <[email protected]> * simplify governance and remove meeting requirement we don't do regular meetings - everything is ad-hoc async. Signed-off-by: clux <[email protected]> * add a basic security policy Signed-off-by: clux <[email protected]> * remove quote from linkerd article Signed-off-by: clux <[email protected]> * potential wording of release tasks Signed-off-by: clux <[email protected]> * dot Signed-off-by: clux <[email protected]> * Update maintainers.md Co-authored-by: kazk <[email protected]> * Update CONTRIBUTING.md Co-authored-by: Teo Klestrup Röijezon <[email protected]> Co-authored-by: kazk <[email protected]> Co-authored-by: Teo Klestrup Röijezon <[email protected]>
1 parent 6a4f2b6 commit 73c9148

File tree

4 files changed

+106
-3
lines changed

4 files changed

+106
-3
lines changed

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ process. To contribute a PR, fork this project, create a new branch, make
1616
changes on that branch, and then use GitHub to open a pull request with your
1717
changes.
1818

19-
Every PR must be reviewed by at least one [Core Maintainer](https://github.com/orgs/kube-rs/teams/core-maintainers) of the project. Once
20-
a PR has been marked "Approved" by a Core Maintainer (and no other core
21-
maintainer has an open "Rejected" vote), the PR may be merged. While it is fine
19+
Every PR must be reviewed by at least one [Maintainer](./maintainers.md) of the project. Once
20+
a PR has been marked "Approved" by a Maintainer (and no other
21+
Maintainer has an open "Rejected" vote), the PR may be merged. While it is fine
2222
for non-maintainers to contribute their own code reviews, those reviews do not
2323
satisfy the above requirement.
2424

SECURITY.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
5+
We provide security updates for the two most recent minor versions released on `crates.io`.
6+
7+
For example, if `0.70.1` is the most recent stable version, we will address security updates for `0.69` and later.
8+
Once `0.71.1` is released, we will no longer provide updates for `0.69` releases.
9+
10+
## Reporting a Vulnerability
11+
12+
To report a security problem in Kube-rs, please contact at least two [maintainers][./maintainers.md]
13+
14+
These people will help diagnose the severity of the issue and determine how to address the issue.
15+
Issues deemed to be non-critical will be filed as GitHub issues.
16+
Critical issues will receive immediate attention and be fixed as quickly as possible.
17+
18+
## Security Advisories
19+
20+
When serious security problems in Kube-rs are discovered and corrected, we issue a security advisory, describing the problem and containing a pointer to the fix.
21+
22+
These are announced the [RustSec Advisory Database](https://github.com/rustsec/advisory-db), to our github issues under the label `critical`, as well as discord and other primary communication channels.
23+
24+
Security issues are fixed as soon as possible, and the fixes are propagated to the stable branches as fast as possible. However, when a vulnerability is found during a code audit, or when several other issues are likely to be spotted and fixed in the near future, the security team may delay the release of a Security Advisory, so that one unique, comprehensive Security Advisory covering several vulnerabilities can be issued.
25+
Communication with vendors and other distributions shipping the same code may also cause these delays.

governance.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Kube-rs Governance
2+
3+
This document defines project governance for Kube-rs.
4+
5+
## Contributors
6+
7+
Kube-rs is for everyone. Anyone can become a Kube-rs contributor simply by contributing to the project, whether through code, documentation, blog posts, community management, or other means.
8+
As with all Kube-rs community members, contributors are expected to follow the [Kube-rs Code of Conduct][coc].
9+
10+
All contributions to Kube-rs code, documentation, or other components in the Kube-rs GitHub org must follow the guidelines in [CONTRIBUTING.md][contrib].
11+
Whether these contributions are merged into the project is the prerogative of the maintainers.
12+
13+
## Maintainer Expectations
14+
15+
Maintainers have the ability to merge code into the project. Anyone can become a Kube-rs maintainer (see "Becoming a maintainer" below.)
16+
17+
As such, there are certain expectations for maintainers. Kube-rs maintainers are expected to:
18+
19+
* Review pull requests, triage issues, and fix bugs in their areas of expertise, ensuring that all changes go through the project's code review and integration processes.
20+
* Monitor the Kube-rs Discord, and Discussions and help out when possible.
21+
* Rapidly respond to any time-sensitive security release processes.
22+
* Participate on discussions on the roadmap.
23+
24+
If a maintainer is no longer interested in or cannot perform the duties listed above, they should move themselves to emeritus status.
25+
If necessary, this can also occur through the decision-making process outlined below.
26+
27+
### Maintainer decision-making
28+
29+
Ideally, all project decisions are resolved by maintainer consensus.
30+
If this is not possible, maintainers may call a vote.
31+
The voting process is a simple majority in which each maintainer receives one vote.
32+
33+
### Special Tasks
34+
35+
In addition to the outlined abilities and responsibilities outlined above, some maintainer take on additional tasks and responsibilities.
36+
37+
#### Release Tasks
38+
39+
As a maintainer on the release team, you are expected to:
40+
41+
* Cut releases, and update the [CHANGELOG](./CHANGELOG.md)
42+
* Pre-verify big releases against example repos
43+
* Publish and update versions in example repos
44+
* Verify the release
45+
46+
### Becoming a maintainer
47+
48+
Anyone can become a Kube-rs maintainer. Maintainers should be highly proficient in Rust; have relevant domain expertise; have the time and ability to meet the maintainer expectations above; and demonstrate the ability to work with the existing maintainers and project processes.
49+
50+
To become a maintainer, start by expressing interest to existing maintainers.
51+
Existing maintainers will then ask you to demonstrate the qualifications above by contributing PRs, doing code reviews, and other such tasks under their guidance.
52+
After several months of working together, maintainers will decide whether to grant maintainer status.
53+
54+
[coc]: https://github.com/kube-rs/kube-rs/blob/master/code-of-conduct.md
55+
[contrib]: https://github.com/kube-rs/kube-rs/blob/master/CONTRIBUTING.md

maintainers.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Maintainers
2+
3+
The Kube-rs maintainers are:
4+
5+
* Eirik Albrigtsen <[email protected]> @clux
6+
* Teo Klestrup Röijezon <[email protected]> @teozkr
7+
* Kaz Yoshihara <[email protected]> @kazk
8+
9+
## Emeriti
10+
11+
Former maintainers include:
12+
13+
* Ryan Levick <[email protected]> @rylev
14+
15+
<!--
16+
# Adding a new maintainer
17+
18+
* Submit a PR modifying this file
19+
* Obtain approvals per governance.md
20+
* Invite maintainer to
21+
https://github.com/orgs/kube-rs/teams/maintainers/members
22+
* Invite maintainer to https://github.com/orgs/kube-rs/people
23+
-->

0 commit comments

Comments
 (0)