K8s: fix standalone command and add hack scripts (#79052)
Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
This commit is contained in:
co-authored by
Charandas Batra
parent
66df17869d
commit
439edebcd6
@@ -0,0 +1,25 @@
|
||||
# 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 (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!
|
||||
@@ -0,0 +1,2 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright 2017 The Kubernetes Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
|
||||
CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${SCRIPT_ROOT}"; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo $GOPATH/pkg/mod/k8s.io/code-generator@v0.27.1)}
|
||||
|
||||
OUTDIR="${HOME}/go/src"
|
||||
|
||||
echo $OUTDIR
|
||||
|
||||
CLIENTSET_NAME_VERSIONED=clientset \
|
||||
CLIENTSET_PKG_NAME=clientset \
|
||||
"${CODEGEN_PKG}/generate-groups.sh" "all" \
|
||||
github.com/grafana/grafana/pkg/generated \
|
||||
github.com/grafana/grafana/pkg/apis \
|
||||
"snapshots:v0alpha1" \
|
||||
--output-base "${OUTDIR}" \
|
||||
--go-header-file "${SCRIPT_ROOT}/hack/boilerplate.go.txt"
|
||||
|
||||
CLIENTSET_NAME_VERSIONED=clientset \
|
||||
CLIENTSET_PKG_NAME=clientset \
|
||||
"${CODEGEN_PKG}/generate-internal-groups.sh" "deepcopy,defaulter,conversion,openapi" \
|
||||
github.com/grafana/grafana/pkg/generated \
|
||||
github.com/grafana/grafana/pkg/apis \
|
||||
github.com/grafana/grafana/pkg/apis \
|
||||
"snapshots:v0alpha1" \
|
||||
--output-base "${OUTDIR}" \
|
||||
--go-header-file "${SCRIPT_ROOT}/hack/boilerplate.go.txt"
|
||||
Reference in New Issue
Block a user