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