The Kubernetes Template Project is a template for starting new projects in the GitHub organizations owned by Kubernetes. All Kubernetes projects, at minimum, must have the following files:
These build and test rules can be shared between different Go projects
without modifications. Customization for the different projects happen
- a `README.md` outlining the project goals, sponsoring sig, and community contact information
in the top-level Makefile.
- an `OWNERS` with the project leads listed as approvers ([docs on `OWNERS` files][owners])
- a `CONTRIBUTING.md` outlining how to contribute to the project
The rules include support for building and pushing Docker images, with
- an unmodified copy of `code-of-conduct.md` from this repo, which outlines community behavior and the consequences of breaking the code
the following features:
- a `LICENSE` which must be Apache 2.0 for code projects, or [Creative Commons 4.0] for documentation repositories, without any custom content
- one or more command and image per project
- a `SECURITY_CONTACTS` with the contact points for the Product Security Team
- push canary and/or tagged release images
to reach out to for triaging and handling of incoming issues. They must agree to abide by the
- automatically derive the image tag(s) from repo tags
is the recommended way of maintaining a copy of the rules inside the
`build-rules` directory of a project. This way, it is possible to make
changes also locally, test them and then push them back to the shared
repository at a later time.
Cheat sheet:
-`git subtree pull --prefix=build-rules https://github.com/kubernetes-csi/csi-build-rules.git master` - update local copy to latest upstream
- edit, `git commit`, `git subtree push --prefix=build-rules git@github.com:<user>/csi-build-rules.git <my-new-or-existing-branch>` - push to a new branch before submitting a PR