gateway-api
gateway-api copied to clipboard
Coordinate development of initial gwctl feature set
Creating a parent issue to track the development of the initial set of features for gwctl.
Getting Started
To gain a deeper understanding of gwctl's purpose and the concepts involved, please take some time to review the relevant sections of https://gateway-api.sigs.k8s.io/geps/gep-2722/
For insights into the structure and high-level organization of gwctl's code, refer to this guide.
Call for contributors
If you are interesting in helping out, please comment below indicating which area you'd like to work on (and get started working on it). I'll follow up by creating a GitHub issue and assigning the task to you. I'll make an effort to help clarify or provide more details as and when you require. THANK YOU for contributing!
Tasks
Implement basic get command support
### Tasks
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2854
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2778
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2846
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2866
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2804
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2807
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2810
Implement basic describe command support
### Tasks
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2870
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2795
Enhance describe command output
### Tasks
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2796
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2994
- [x] Migrate all describe views to using the new Describer utils (like gateway.go)
- [x] Add Events to all describe views (like gateway.go)
- [x] Add an `Analysis` section in `gwctl describe` views (like Gateway, HTTPRoute, Backend) which displays the Errors from the resource nodes
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/3037
- [x] Expand output for `gwctl describe namespaces`
- [x] Expand output for `gwctl describe backends`
Add label-based filtering
### Tasks
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2890
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2913
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2933
Support custom output formats in get commands
### Tasks
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2889
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2931
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/2932
Testing and Release
### Tasks
- [ ] Add some basic e2e tests that can be made presubmit blockers during the initial development.
- [ ] Add more thorough e2e tests covering a wider set of features.
- [ ] Improve code coverage in existing packages like `policymanager`, `resourcediscovery` and `relations`.
- [x] Setup `goreleaser` configs for building binaries.
- [x] Add `gwctl` to the `krew` plugin index. Complete any further integration.
Miscellaneous
### Tasks
- [x] Gracefully handle errors when we try to calculate effective policy but the resource isn’t present. For example, if an HTTPRoute references a Gateway which does not exist, right now the code may panic.
- [ ] Ensure that policy calculation takes into account the fact that namespaced policies can only be applied to resources within the same namespace (i.e. have no cross-namespace references in policies)
- [ ] https://github.com/kubernetes-sigs/gateway-api/issues/3000
- [ ] Check if Gateway accepts attachments of HTTPRoutes. If an HTTPRoute is attached to a Gateway which isn't permitted, display that as a user error when doing gwctl describe
- [ ] Figure out a robust way of constructing the kubernetes client (for cases when kubeconfigpath is not set, which is usually the case). It's also possible that the current way is already the best thing possible
/assign @gauravkghildiyal
/help
@gauravkghildiyal: This request has been marked as needing help from a contributor.
Guidelines
Please ensure that the issue body includes answers to the following questions:
- Why are we solving this issue?
- To address this issue, are there any code changes? If there are code changes, what needs to be done in the code and what places can the assignee treat as reference points?
- Does this issue have zero to low barrier of entry?
- How can the assignee reach out to you for help?
For more details on the requirements of such an issue, please see here and ensure that they are met.
If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.
In response to this:
/help
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
/area gwctl
I'd like to work on implementing gwctl get command.
Hello, I would like to work on implementing gwctl describe command.
Hey, I would like to work on enhancing the describe command output
@gauravkghildiyal For httproutes, there should be 6 columns fully implemented, but there are only 2(NAME, HOSTNAMES). I would appreciate it if you could add policies, policycrds, and httproutes to the task. Ref:
https://deploy-preview-2723--kubernetes-sigs-gateway-api.netlify.app/geps/gep-2722/#output-formats
Gracefully handle errors when we try to calculate effective policy but the resource isn’t present.
@gauravkghildiyal I can take on this task, at least partially. I was working on it before, but as mentioned here, it had conflicts with your previous PR. I can add those changes now that the PR is merged.
Opened a draft PR: https://github.com/kubernetes-sigs/gateway-api/pull/2825 but this does not address the issue mentioned here. Should I add that in the same PR or move to a different one? Because the current PR is already big.
Gracefully handle errors when we try to calculate effective policy but the resource isn’t present.
@gauravkghildiyal I can take on this task, at least partially. I was working on it before, but as mentioned here, it had conflicts with your previous PR. I can add those changes now that the PR is merged.
Opened a draft PR: #2825 but this does not address the issue mentioned here. Should I add that in the same PR or move to a different one? Because the current PR is already big.
@pottekkat -- Thanks, yes I remember our discussion. Yep please limit the scope of your current PR to what you originally intended. The other cleanups/improvements we can tackle separately.
Hey, I would like to work on the gwctl get backends command.
@gauravkghildiyal I would like to take up gwctl describe policycrds command, could you create an issue for it?
Hey, I would like to work on the gwctl get backends command.
Hi @hgupta12, Thank you for your comment. I've already been assigned this issue in https://github.com/kubernetes-sigs/gateway-api/issues/2761#issuecomment-1947736903, so if you don't mind, could you please choose another one?
I'd like to work on Support wide output format for get commands (-o wide).
Hey, I would like to work on Add label filtering (-l) for get commands and Add label filtering (-l) for describe commands
I would like to work on Add label filtering (- l) for get namespaces, could you help me create an issue for it?@gauravkghildiyal
@gauravkghildiyal I would like to work on Expand output for gwctl describe httproutes, could you please help me create an issue for it?
Thank you! 🙇
Most of the tasks here have been completed. Some of these should also reach a conclusion with https://github.com/kubernetes-sigs/gateway-api/pull/3244. I'll close this out and open upcoming items separately.
/close
@gauravkghildiyal: Closing this issue.
In response to this:
/close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.