If you have found this that means you you want to help us out. Thanks in advance for lending a hand! This guide should get you up and running quickly and make it easy for you to contribute.
We use issues for bug reports and to discuss new features. If you are planning on contributing a new feature, you should open an issue first that discusses the feature you're adding. This will avoid wasting your time if someone else is already working on it, or if there's some design change that we need.
Creating issues is good, creating good issues is even better. Filing meaningful bug reports with lots of information in them helps us figure out what to fix when and how it impacts our users. We like bugs because it means people are using our code, and we like fixing them even more.
Please follow these guidelines for filing issues.
- Describe the problem
- Include version of k8s, k8s-bigip-ctlr, BIG-IP, and Helm/Tiller
- Include detailed information about how to recreate the issue
- Include relevant configuration, error messages and logs
- Sanitize the data. For example, be mindful of IPs, ports, application names and URLs
We use travis-ci to automatically run some hooks on every pull request. These must pass before a pull request is accepted. You can see the details in .travis.yml. If your pull request fails in travis, your pull request will be blocked by travis with a link to the failing run. Generally, we run these hooks:
- Formatting and linting checks are performed
If you are submitting a pull request, you need to make sure that you have done a few things first.
- Make sure you have tested your code. This can be a combination of manual testing and
helm test
hooks, and test methods and results should be summarized in your commit message. - Prior to merging changes end to end tests may be run against your patch in standard Kubernetes, OpenShift Origin, and OpenShift Container Platform environments. Be sure your templates and tests are compatible with all supported environments.
- Changes should be made to
src/incubator
templates. All updates tosrc/stable
will be generated by an F5 Networks pull request. - Changes should be for source code files only -
.tgz
files will be generated by an F5 Networks pull request after your PR has been reviewed and merged. - Be sure to include documentation updates in the
README.md
andNOTES.txt
as appropriate. - Use proper formatting for the code
- Clean up your git history because no one wants to see 75 commits for one issue
- Use the commit message format shown below
The commit message for your final commit should use the following format:
Fix #<issue-number>: <One line summarizing what changed>
Problem: Brief description of the problem.
Solution: Detailed description of your solution
Testing (optional if not described in Solution section): Description of tests that were run to exercise the solutions (unit tests, system tests, etc)
- The messages should be line-wrapped to 80 characters if possible. Try to keep the one line summary under 80 characters if possible.
- If a commit fixes many issues, list all of them
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Individuals or business entities who contribute to this project must have completed and submitted the F5® Contributor License Agreement to [email protected] prior to their code submission being included in this project. Please include your github handle in the CLA email.