grafana/hack
Yuri Tseretyan b075926202
Alerting: Time Intervals API (#88201)
* expose ngalert API to public
* add delete action to time-intervals
* introduce time-interval model generated by app-platform-sdk from CUE model the fields of the model are chosen to be compatible with the current model
* implement api server
* add feature flag alertingApiServer
---- Test Infra
* update helper to support creating custom users with enterprise permissions
* add generator for Interval model
2024-06-20 16:52:03 -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: update hack codegen script (#81216) 2024-01-25 12:01:09 -08:00
make-aggregator-pki.sh K8s: add a remote services file config option to specify aggregation config (#83646) 2024-02-29 17:29:05 -08:00
openapi-codegen.sh K8s: Update codegen to support new packages (#83347) 2024-02-23 16:36:23 -08:00
README.md Alerting: Time Intervals API (#88201) 2024-06-20 16:52:03 -04:00
update-codegen.sh QueryService: Use types from sdk (#84029) 2024-03-08 18:12:59 +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 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