Building, testing and deploying
You will need to have Docker installed to perform the steps below.
Project management
We are using the Github issues and project dashboard to manage the list of TODOs for this project:
Issues labeled good first issue
and help wanted
are especially good for a
first contribution.
Release cadence
During the development phase, we expect to release on a monthly cadence. We are explicitly decoupling ourselves from the Kubernetes API versioning cycle to give us more flexibility to evolve the specification. As the specification solidifies, we will slow down our release cycle.
General target timeline:
- 1H 2020: Monthly release cycle, with first release targeted for January 31
- 2H 2020: Slower release cycle
Building the code
The project uses make
to drive the build. You can kick off an overall build
from the top-level makefile:
make
Testing the code
The easiest way to test the code is to use the kubebuilder
created CRD with a kind cluster. Follow the installation instructions
for kind
in the README in the repo.
kind create cluster
...
# Install the CRDs
make install
# Remove the CRDs and associated CRs
make uninstall
Submitting a review
TODO
Verify
Make sure you run the static analysis over the repo before submitting your changes. The Prow presubmit will not let your change merge if verification fails.
make verify
Documentation
The site documentation is written in mkdocs format. The files are
contained in docs-src/
. Generated files are in docs/
and published to
Github Pages.
Building the docs:
make docs
Live preview for editing (view on http://localhost:8000, CTRL-C to quit):
make serve
Publishing
The docs are published automatically to Github pages. When making changes to the
documentation, generate the new documentation and make the generated code a
self-contained commit (e.g. the changes to docs/
). This will keep the code
reviews simple and clearly delineate user vs generated content.