Thank you for your interest in contributing to this project!
Any kind of contribution is welcome: code, design ideas, bug reporting, or documentation (including this page).
For code contributions, review the following prerequisites:
- Become familiar with the Go language. For an introduction to Go, see the official Go Documentation. For an intermediate or advanced Go resource, see The Go Programming Language book.
- Become familiar with the Operator SDK. For more information, see the Operator SDK User Guide and use the Memcached Operator as an example.
- Ensure that you have all Kogito Operator requirements set on your local machine. You must use the listed versions.
The Operator SDK is updated regularly and the Kogito Operator code typically uses the most recent SDK updates as soon as possible. The Operate SDK has not reached a major version yet, so incompatibilities might occur.
If you do not have a preferred IDE, use Visual Studio Code with the vscode-go
plugin for Go language tools support.
To use Go modules with VS Code, see Go modules support in VS Code.
To debug Go in your VS code, see Debugging Go code using VS Code.
For information about Operator SDK testing, see Unit testing with the Operator SDK.
In general, the unit tests that are provided with the Kogito Operator are based on that Operator SDK testing resource. You might encounter minor issues as you create specific OpenShift APIs such as BuildConfig
and DeploymentConfig
that are not listed there. For an example test case with sample API calls, see the kogitoapp_controller_test.go
test file.
Before you start to work on a new proposed feature or on a fix for a bug, open an issue to discuss your idea or bug report with the maintainers. You can also work on a JIRA issue that has been reported. A developer might already be assigned to address the issue, but you can leave a comment in the JIRA asking if they need some help.
After you update the source with your new proposed feature or bug fix, open a pull request (PR) that meets the following requirements:
- You have a JIRA associated with the PR.
- Your PR has the name of the JIRA in the title, for example,
[KOGITO-XXX] - Awesome feature that solves it all
. - The PR solves only the problem described in the JIRA.
- You have written unit tests for the particular fix or feature.
- You ran
make test
before submitting the PR and everything is working accordingly. - You tested the feature on an actual OpenShift cluster.
After you send your PR, a maintainer will review your code and might ask you to make changes and to squash your commits before we can merge.
If you have any questions, contact a Kogito Operator maintainer in the issues page.