grafana/hack
Dave Henderson e1090db5d9
Chore: Bump Go to 1.23.1 (#93007)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-09-06 20:58:50 +03:00
..
boilerplate.go.txt K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08:00
externalTools.go K8s: Fix hack/update-codegen (#91867) 2024-08-14 08:17:05 +03:00
go.mod Chore: Bump Go to 1.23.1 (#93007) 2024-09-06 20:58:50 +03:00
go.sum K8s: Add k8s codegen PR check (#91903) 2024-08-14 11:06:37 -04:00
make-aggregator-pki.sh K8s e2e tests: adds e2e package and 10 year certs (#91557) 2024-08-06 03:29:36 +03:00
openapi-codegen.sh K8s: Add k8s codegen PR check (#91903) 2024-08-14 11:06:37 -04:00
README.md Alerting: Time Intervals API (#88201) 2024-06-20 16:52:03 -04:00
update-codegen.sh K8s: Add k8s codegen PR check (#91903) 2024-08-14 11:06:37 -04: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 is to run the following:

# ensure k8s.io/code-generator pkg is up to date
go mod download

# the happy path
./hack/update-codegen.sh

Note that the script deletes existing openapi go code and regenerates in place so that you will temporarily see deleted files in your git status. After a successful run, you should see them restored.

If resource client is not generated for your resource make sure that it follows the k8s guidelines for structuring the resource definition

  • the directory is named after resource version, i.e. <resource_name>/v<version> (e.g. service/v0alpha1)
  • the resource directory contains file types.go that includes resource definitions
  • the resource definitions are annotated with comment // +genclient