grafana/hack
2023-12-20 20:28:56 +02:00
..
boilerplate.go.txt K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08:00
README.md K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08:00
update-codegen.sh K8s/Folders: Add folders api service (with legacy storage) (#79413) 2023-12-20 20:28:56 +02:00

Kubernetes HACK Alert

This is a hack folder for kubernetes codegen scripts. Oddly, a /hack/ folder seems to be standard kubernetes development practice ¯_(ツ)_/¯

The workflow is a WIP, however we are trying to leverage as many off-the-shelf patterns as possible.

For these scripts to work, your local GOROOT/src/grafana/grafana must point to this git checkout. For my setup this is:

 pwd
/Users/ryan/go/src/github.com/grafana
 ls -l
total 0
lrwxr-xr-x  1 ryan  staff  37 Oct  5 09:34 grafana -> /Users/ryan/workspace/grafana/grafana

The current workflow (sorry!) is to:

  1. update the script to point to the group+version you want
  2. run the update-codegen.sh script. This will produce a bunch of new files
  3. move pkg/generated/openapi/zz_generated.openapi.go to pkg/apis/{group/version}/zz_generated.openapi.go.
  4. edit the package name so it is {version} and remove the boilerplate k8s kinds
  5. rm -rf pkg/generated -- we are not yet using most of the generated client stuff

Once we are more comfortable with the outputs and process, we will build these steps into a more standard codegen pattern, but until then... happy hacking!