You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We will have a public forum soon where you can come and ask questions and have a discussion. For now please open an Issue on GitHub with the label `question`.
23
+
To ask a question please use [Github Discussions](https://github.com/nginxinc/nginx-kubernetes-gateway/discussions).
24
+
25
+
[NGINX Community Slack](https://community.nginx.org/joinslack) has a dedicated channel for this project -- `#nginx-kubernetes-gateway`.
26
+
27
+
Please reserve GitHub issues for feature requests and bugs rather than general questions.
24
28
25
29
## Getting Started
26
30
@@ -36,7 +40,7 @@ Follow our [Installation Instructions](README.md#run-nginx-gateway) to get the N
36
40
* Deployment yaml files are found at `deploy/`
37
41
* External APIs, clients, and SDKs can be found under `pkg/`
38
42
* We use [Go Modules](https://github.com/golang/go/wiki/Modules) for managing dependencies.
39
-
* We use [Ginkgo](https://onsi.github.io/ginkgo/) and [Gomega](https://onsi.github.io/gomega/) for our BDD style unit tests.
43
+
* We use [Ginkgo](https://onsi.github.io/ginkgo/) and [Gomega](https://onsi.github.io/gomega/) for our BDD style unit tests.
40
44
41
45
## Contributing
42
46
@@ -51,16 +55,22 @@ To suggest an enhancement, please create an issue on GitHub with the label `enha
51
55
### Open a Pull Request
52
56
53
57
* Fork the repo, create a branch, submit a PR when your changes are tested and ready for review
54
-
* Fill in [our pull request template](https://github.com/nginxinc/nginx-kubernetes-gateway/blob/main/.github/PULL_REQUEST_TEMPLATE.md)
58
+
* Fill in [our pull request template](.github/PULL_REQUEST_TEMPLATE.md)
59
+
60
+
> **Note**
61
+
>
62
+
> If you’d like to implement a new feature, please consider creating a feature request issue first to start a discussion about the feature.
63
+
64
+
### Issue lifecycle
55
65
56
-
Note: if you’d like to implement a new feature, please consider creating a feature request issue first to start a discussion about the feature.
66
+
* When an issue or PR is created, it will be triaged by the core development team and assigned a label to indicate the type of issue it is (bug, feature request, etc) and to determine the milestone. Please see the [Issue Lifecycle](ISSUE_LIFECYCLE.md) document for more information.
57
67
58
68
## Style Guides
59
69
60
70
### Git Style Guide
61
71
62
72
* Keep a clean, concise and meaningful git commit history on your branch, rebasing locally and squashing before submitting a PR
63
-
* Follow the guidelines of writing a good commit message as described [here](https://chris.beams.io/posts/git-commit/) and summarised in the next few points
73
+
* Follow the guidelines of writing a good commit message as described [here](https://chris.beams.io/posts/git-commit/) and summarized in the next few points
64
74
* In the subject line, use the present tense ("Add feature" not "Added feature")
65
75
* In the subject line, use the imperative mood ("Move cursor to..." not "Moves cursor to...")
66
76
* Limit the subject line to 72 characters or less
@@ -76,6 +86,6 @@ Note: if you’d like to implement a new feature, please consider creating a fea
76
86
77
87
## Contributor License Agreement
78
88
79
-
Individuals or business entities who contribute to this project must have completed and submitted the [F5® Contributor License Agreement](F5ContributorLicenseAgreement.pdf) prior to their code submission being included in this project.
89
+
Individuals or business entities who contribute to this project must have completed and submitted the [F5® Contributor License Agreement](F5ContributorLicenseAgreement.pdf) prior to their code submission being included in this project.
80
90
To submit, please print out the [F5® Contributor License Agreement](F5ContributorLicenseAgreement.pdf), fill in the required sections, sign, scan, and send executed CLA to [email protected].
81
91
Please include your github handle in the CLA email.
To ensure a balance between work carried out by the NGINX engineering team while encouraging community involvement on this project, we use the following issue lifecycle. (Note: The issue *creator* refers to the community member that created the issue. The issue *owner* refers to the NGINX team member that is responsible for managing the issue lifecycle.)
4
+
5
+
1. New issue created by community member.
6
+
7
+
8
+
2. Assign issue owner: All new issues are assigned an owner on the NGINX engineering team. This owner shepherds the issue through the subsequent stages in the issue lifecycle.
9
+
10
+
11
+
3. Determine issue type: This is done with automation where possible, and manually by the owner where necessary. The associated label is applied to the issue.
12
+
#### Possible Issue Types
13
+
`needs more info`: The owner should use the issue to request information from the creator. If we don't receive the needed information within 7 days, automation closes the issue.
14
+
15
+
`bug`: The implementation of a feature is not correct.
16
+
17
+
`proposal`: A new feature, tackling technical debt, documentation changes, or improving existing features.
18
+
19
+
`question`: The owner converts the issue to a github discussion and engages the creator.
20
+
21
+
22
+
4. Determine milestone: The owner, in collaboration with the wider team (product management & engineering), determines what milestone to attach to an issue. Generally, milestones correspond to product releases - however there are two special milestones not tied to a specific release:
23
+
24
+
- Issues assigned to `backlog`: Our team is in favour of implementing the feature request/fixing the issue, however the implementation is not yet assigned to a concrete release. If and when a `backlog` issue aligns well with our roadmap, it will be scheduled for a concrete iteration. We review and update our roadmap at least once every quarter. The `backlog` list helps us shape our roadmap, but it is not the only source of input. Therefore, some `backlog` items may eventually be closed as `out of scope`, or relabelled as `backlog candidate` once it becomes clear that they do not align with our evolving roadmap.
25
+
26
+
- Issues assigned to `backlog candidate`: Our team does not intend to implement the feature/fix request described in the issue and wants the community to weigh in before we make our final decision.
27
+
28
+
`backlog` issues can be labeled by the owner as `help wanted` and/or `good first issue` as appropriate.
29
+
30
+
31
+
5. Promotion of `backlog candidate` issue to `backlog` issue: If an issue labelled `backlog candidate` receives more than 30 upvotes within 60 days, we promote the issue by applying the `backlog` label. While issues promoted in this manner have not been committed to a particular release, we welcome PRs from the community on them.
32
+
33
+
If an issue does not make our roadmap and has not been moved to a discussion, it is closed with the label `out of scope`. The goal is to get every issue in the issues list to one of the following end states:
0 commit comments