Contributions are welcome!
Before contributing to this repository for the first time, please review our project's Code of Conduct.
By contributing to this project you agree to the Developer Certificate of Origin (DCO). This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution. See the DCO file for details.
In order to show your agreement with the DCO you should include at the end of the commit message, the following line:
Signed-off-by: Firstname Lastname <email@email.com>
Once you set your user.name and user.email in your git config, you can sign your commit automatically with git commit -s
.
-
Open or search for issues with the label
area/api
. -
If a related issue doesn't exist, you can open a new issue using a relevant issue form. You can tag issues with
/area api
.
When you think the code is ready for review, create a pull request and link the issue associated with it.
Owners of the repository will watch out for new PRs and provide reviews to them.
If comments have been given in a review, they have to be addressed before merging.
After addressing review comments, don't forget to add a comment in the PR with the reviewer mentioned afterward, so they get notified by Github to provide a re-review.
The following are required to build the CRDs and TypeScript models containing your changes:
- Docker or Podman
- Git
Testing requires Go 1.21+ to be installed.
To build the CRD and the various schemas, you don't need to install any pre-requisite apart from docker
or podman
.
In the root directory, if you are using podman
first run export USE_PODMAN=true
. Then for either docker
or podman
run the following command:
bash ./docker-run.sh ./build.sh
Typescript model is generated based on JSON Schema with help of https://github.com/kubernetes-client/gen. To generate them locally run:
bash ./build/typescript-model/generate.sh
Find more information about tests in the testing document.
# schemaTest approach
cd test/v200/schemaTest
go test -v
# apiTest approach
cd test/v200/apiTest
go test -v
If you have any questions, please visit us the #devfile
channel under the Kubernetes Slack workspace.