Skip to content

Commit 3ab437e

Browse files
committed
🏃 add a design folder and template
This adds a design folder and template that we can use for documenting major design decisions.
1 parent c2276b8 commit 3ab437e

File tree

3 files changed

+59
-0
lines changed

3 files changed

+59
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Check out the Kubebuilder [book](http://book.kubebuilder.io).
3131
- Slack channel: [#kubebuilder](http://slack.k8s.io/#kubebuilder)
3232
- Google Group: [[email protected]](https://groups.google.com/forum/#!forum/kubebuilder)
3333
- Planned Work: [Sprint Dashboard](https://github.com/kubernetes-sigs/kubebuilder/projects/1)
34+
- Design Documents: [design](design/).
3435

3536
## Motivation
3637

designs/README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
Designs
2+
=======
3+
4+
These are design documents for changes to KubeBuilder (and
5+
cross-repository changes for related projects, like controller-runtime and
6+
controller-tools). They exist to help document the design processes that
7+
go into writing KubeBuilder, but may not be up-to-date (more below).
8+
9+
Not all changes to KubeBuilder need a design document -- only major ones.
10+
Use your best judgement.
11+
12+
When submitting a design document, we encourage having written
13+
a proof-of-concept, and it's perfectly acceptable to submit the
14+
proof-of-concept PR simulatenously with the design document, as the
15+
proof-of-concept process can help iron out wrinkles and can help with the
16+
`Example` section of the template.
17+
18+
## Out-of-Date Designs
19+
20+
**KubeBuilder documentation (the [book](https://book.kubebuilder.io) and
21+
the [GoDoc](https://godoc.org/sigs.k8s.io/controller-runtime)) should be
22+
considered the canonical, update-to-date reference and architectural
23+
documentation** for KubeBuilder.
24+
25+
However, if you see an out-of-date design document, feel free to submit
26+
a PR marking it as such, and add an addendum linking to issues documenting
27+
why things changed. For example:
28+
29+
```markdown
30+
31+
# Out of Date
32+
33+
This change is out of date. It turns out curly braces a frustrating to
34+
type, so we had to abandon functions entirely, and have users specify
35+
custom functionality using strings of Common LISP instead. See #000 for
36+
more information.
37+
```

designs/template.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
Title of the Design
2+
===================
3+
4+
<!-- Describe your change here. This is purposefully freeform: we want
5+
enough information to evaluate the design, but not so much that you're
6+
annoyed by the overall design process and decide to bake cookies instead.
7+
-->
8+
9+
## Example
10+
11+
<!-- Specify an example of how the user would use this. It helps other
12+
contributors get a feel for how this will look in real code, and provides
13+
a good oportunity to evaluate the end-user feel of the code for yourself.
14+
15+
If you find yourself groaning at verbosity, copy-and-pasting a lot, or
16+
writing a bunch of tiny helper functions, it's a good indication that you
17+
might need to re-evaluate the user experience of your design.
18+
19+
This is also a good oportunity to stop and write a proof-of-concept, if
20+
you haven't already, which should help catch practical nits with the
21+
design. -->

0 commit comments

Comments
 (0)