* Go: Update to 1.25.2
* Chore: Detaching go tools from the main Grafana workspace (#104861)
* add script for tooling
* add to make
* not to forget
* reworked go tools
* add tool installation script
* adding readme
* updating readme
* updating readme
* cleanup install.sh and makefile
* update the readme file
* cleanup scripts
* switch variables.mk to lazy evaluation
* add tools ache to gitignore
* get rid of absolute path in hte Variables.mk file
* switch to reusable function for path generation
* add debug statements
* add create cache tool dir
* add debuig statements to make file
* drop tool cache
* fix race condition n ci
* fix race condition n ci
* cleanup workspace
* add lefthook.rc to codeowners
* copy .citools folder to docker image
* switch back to main branch of grafana-build
* Add .citools to the drone builder
* fix wording in generate.sh and README.md
(cherry picked from commit cefd2dab7a)
* golangci-lint: Update to 2.5.0
* Dependencies: Bump golang.org/x/net to v0.45.0
---------
Co-authored-by: Denis Vodopianov <vodopyanovd@gmail.com>
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.gothat includes resource definitions - the resource definitions are annotated with comment
// +genclient