Skip to content

Clarify a few points on Development Documentation.  #3260

@jgao1025

Description

@jgao1025

Background

When doing #738 and following dev guide to build a local environment, a few steps better to be improved for the clarification.

The benefit of the changes

It would reduce the mount of time when a new developer try to contribute by scratch. For instance, I spent 5 hours+ searching for a solution to install a standalone Kubernetes cluster and eventually found Minikube. However, I wasn't aware that I could simply install Kind and get everything working without needing to change any environment settings.

The changes to the Documentation

  1. In the Prerequisites section, it lists the software required: Go, Kubectl, and Kind. While Go and Kubectl are well-known, Kind might be unfamiliar to some. It would be helpful to specify that Kind is a standalone Kubernetes cluster, so newcomers understand its purpose.

  2. The Go language requires a specific version to build the project. It would be useful to specify the version needed, so contributors can avoid the hassle of installing and then uninstalling an outdated version. The error msg I met when I tried to build the project.

$ make generate
hack/update-codegen.sh
go: go.mod requires go >= 1.22.0 (running go 1.21.11; GOTOOLCHAIN=local)
syntax error at -e line 1, near "< )
"
Execution of -e aborted due to compilation errors.
Go v or later is required to run code generation
make: *** [Makefile:65: update-codegen] Error 1
  1. Building the source code requires shasum. On Fedora Linux, this command is called sha1sum. A workaround is to create a symbolic link with the following command: ln -s /usr/bin/sha1sum /usr/bin/shasum. I would be appreciate if this could be added in the doc too. The error msg is like below:
hack/update-codegen.sh: line 220: shasum: command not found
Downloaded protoc binary failed checksum.
make: *** [Makefile:65: update-codegen] Error 1
  1. The Dev Guide currently covers building CRDs from source code and verifying the code before submitting a PR. It would be helpful to also include instructions on deploying the built CRDs to an existing Kind server. Additionally, providing a reference to Getting Started with Gateway API would offer a consistent starting point, guiding users from initial setup to practical implementation.

Metadata

Metadata

Assignees

Labels

kind/documentationCategorizes issue or PR as related to documentation.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions