grafana/hack
Ryan McKinley 41e523bde7
K8s/FeatureFlags: Add an apiserver to manage feature flags (dev only) (#80501)
* add deployment registry API cloud only

* update versions

* add feature flag endpoints

* use helpers

* merge main

* update AllowSelfServie and re-run code gen

* fix package name

* add allowselfserve flag to payload

* remove config

* update list api to return the full registry including states

* change enabled check

* fix compile error

* add feature toggle and split path in frontend

* changes

* with status

* add more status/state

* add back config thing

* add back config thing

* merge main

* merge main

* now on the /current api endpoint

* now on the /current api endpoint

* drop frontend changes

* change group name to featuretoggle (singular)

* use the same settings

* now with patch

* more common refs

* more common refs

* WIP actually do the webhook

* fix comment

* fewer imports

* registe standalone

* one less file

* fix singular name

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2024-01-17 21:32:44 -08:00
..
boilerplate.go.txt K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08:00
make-aggregator-pki.sh Grafana app platform: an aggregator cmd and package (#79948) 2024-01-08 22:33:42 +02:00
README.md K8s/FeatureFlags: Add an apiserver to manage feature flags (dev only) (#80501) 2024-01-17 21:32:44 -08:00
update-codegen.sh K8s: Expose testdata connection as an api-server (dev mode only) (#79726) 2024-01-09 12:26:24 -08: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

You can clone k8s code-generator here and use CODEGEN_PKG=<CODE-GENERATOR-GIT-ROOT> when running the update-codegen.sh script.

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!