grafana/hack
Dave Henderson df3d8915ba
Chore: Bump Go to 1.23.0 (#92105)
* chore: Bump Go to 1.23.0

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* update swagger files

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* chore: update .bingo/README.md formatting to satisfy prettier

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* chore(lint): Fix new lint errors found by golangci-lint 1.60.1 and Go 1.23

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* keep golden file

* update openapi

* add name to expected output

* chore(lint): rearrange imports to a sensible order

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-08-21 11:40:42 -04: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.0 (#92105) 2024-08-21 11:40:42 -04: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