-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from cilium/xmulligan-patch-1
Add README.md and template
- Loading branch information
Showing
2 changed files
with
136 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,54 @@ | ||
# design-cfps | ||
Repo to store Cilium CFP design docs | ||
This directory contains CFP design proposals for features impacting repos across the | ||
Cilium Github organization. | ||
|
||
# Purpose of CFPs | ||
|
||
The purpose of a Cilium Feature Proposal (CFP) is to allow community members to gain feedback | ||
on their designs from the Committers before the community member commits to | ||
executing on the design. By going through the design process, developers gain a | ||
high level of confidence that their designs are viable and will be | ||
accepted. | ||
|
||
NOTE: This process is not mandatory. Anyone can execute on their own design | ||
without going through this process and submit code to the respective repos. | ||
However, depending on the complexity of the design and how experienced the | ||
developer is within the community, they could greatly benefit from going through | ||
this design process first. The risk of not getting a design proposal approved | ||
is that a developer may not arrive at a viable architecture that the community will | ||
accept. | ||
|
||
# How to create CFPs | ||
|
||
To create a CFP, it is recommended to use the `CFP-003-template.md` | ||
file as an outline. The structure of this template is meant to provide a starting | ||
point for people. Feel free to edit and modify your outline to best fit your | ||
needs when creating a proposal. When are you ready to submit your CFP please: | ||
|
||
1. Create a CFP issue in the repo your design applies to if you haven't already | ||
2. Create the file in this repo, with a path of `<repo>/CFP-###-subject.md` where the number is the CFP issue number | ||
|
||
Many design docs also begin their life as a Google doc or other shareable | ||
file for easy commenting and editing when still in the early stages of discussion. | ||
Once your proposal is done, submit it as a PR to the design-cfps folder. | ||
|
||
If you want to bring further attention to your design, you may want to | ||
raise the design during the [weekly community call](https://docs.cilium.io/en/v1.13/community/community/#id1) | ||
and on the [#development channel in Slack](https://cilium.slack.com/archives/C2B917YHE). | ||
|
||
# Getting a design approved | ||
|
||
For a CFP to be considered viable, a Cilium committer needs to aprove it. | ||
After the approval, the design can be merged. A merged design proposal | ||
means the proposal is viable to be executed on, but not that there is a | ||
100% chance it will be accepted. | ||
|
||
# Design proposal drift | ||
|
||
After a design proposal is merged, it's likely that the actual implementation | ||
will begin to drift slightly from the original design. This is expected and | ||
there is no expectation that the original design proposal needs to be updated | ||
to reflect these differences. | ||
|
||
The code and our documentation are the ultimate sources of truth. CFPs are merely | ||
the starting point for the implementation. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
# CFP-003: Template | ||
|
||
**SIG: SIG-NAME** | ||
|
||
**Begin Design Discussion:** YYYY-MM-DD | ||
|
||
**Cilium Release:** X.XX | ||
|
||
**Authors:** alice <[email protected]>, bob jones <[email protected]> | ||
|
||
## Summary | ||
|
||
_Provide a high-level summary. Keep it short._ | ||
|
||
## Motivation | ||
|
||
_Provide the motivation for the feature. Also provide any context required to understand the motivation. The motivation should justify any potential impact._ | ||
|
||
## Goals | ||
|
||
* _List goals that this CFP achieves._ | ||
|
||
## Non-Goals | ||
|
||
* _List aspects which are specifically out of context for this CFP._ | ||
|
||
## Proposal | ||
|
||
### Overview | ||
|
||
_Provide a high-level overview of the design aspects of the proposal._ | ||
|
||
### Section 1 | ||
|
||
_Section with proposal content_ | ||
|
||
### Section 2 | ||
|
||
_Section with proposal content_ | ||
|
||
|
||
## Impacts / Key Questions | ||
|
||
_List crucial impacts and key questions. They likely require discussion and are required to understand the trade-offs of the CFP. During the lifecycle of a CFP, discussion on design aspects can be moved into this section. After reading through this section, it should be possible to understand any potentially negative or controversial impact of this CFP. It should also be possible to derive the key design questions: X vs Y._ | ||
|
||
### Impact: ... 1 | ||
|
||
_Describe crucial impacts and key questions that likely require discussion and debate._ | ||
|
||
### Key Question: ... 2 | ||
|
||
_Describe a key question_ | ||
|
||
### Option 1: | ||
|
||
#### Pros | ||
|
||
* ... | ||
|
||
#### Cons | ||
|
||
* ... | ||
|
||
### Option 2: | ||
|
||
#### Pros | ||
|
||
* ... | ||
|
||
#### Cons | ||
|
||
* ... | ||
|
||
## Future Milestones | ||
|
||
_List things that this CFP will enable but that are out of scope for now. This can help understand the greater impact of a proposal without requiring to extend the scope of a CFP unnecessarily._ | ||
|
||
### Deferred Milestone 1 | ||
|
||
_Description of deferred milestone_ | ||
|
||
### Deferred Milestone 2 |