Skip to content

Commit

Permalink
tmp
Browse files Browse the repository at this point in the history
Signed-off-by: Xabier Larrakoetxea <me@slok.dev>
  • Loading branch information
slok committed Mar 23, 2024
1 parent 71a884d commit 2494aa0
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 48 deletions.
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

FROM golang:1.20
ARG CODEGEN_VERSION="1.27.0"
ARG CONTROLLER_GEN_VERSION="0.12.0"
FROM golang:1.22
ARG CODEGEN_VERSION="1.30.0-beta.0"
ARG CONTROLLER_GEN_VERSION="0.13.0"


RUN apt-get update && \
Expand Down
6 changes: 2 additions & 4 deletions example/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
IMAGE := ghcr.io/slok/kube-code-generator:v1.27.0
IMAGE := ghcr.io/slok/kube-code-generator:v1.27.0-1-g71a884d

DIRECTORY := $(PWD)
PROJECT_PACKAGE := github.com/slok/kube-code-generator/example
Expand All @@ -7,7 +7,7 @@ DEPS_CMD := go mod tidy
default: generate

.PHONY: generate
generate: generate-client generate-crd
generate: generate-client #generate-crd

.PHONY: generate-client
generate-client:
Expand All @@ -16,8 +16,6 @@ generate-client:
-e PROJECT_PACKAGE=$(PROJECT_PACKAGE) \
-e CLIENT_GENERATOR_OUT=$(PROJECT_PACKAGE)/client \
-e APIS_ROOT=$(PROJECT_PACKAGE)/apis \
-e GROUPS_VERSION="comic:v1" \
-e GENERATION_TARGETS="deepcopy,client" \
$(IMAGE)

.PHONY: generate-crd
Expand Down
58 changes: 17 additions & 41 deletions hack/update-codegen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,55 +2,31 @@

set -eufo pipefail

## Project specific data
#PROJECT_PACKAGE=github.com/slok/kube-code-generator/example
#CLIENT_GENERATOR_OUT=${PROJECT_PACKAGE}/client
#APIS_ROOT=${PROJECT_PACKAGE}/apis
#
## Ugly but needs to be relative if we want to use k8s.io/code-generator
## as it is without touching/sed-ing the code/scripts
#RELATIVE_ROOT_PATH=$(realpath --relative-to="${PWD}" /)
#CODEGEN_PKG=${RELATIVE_ROOT_PATH}${GOPATH}/src/k8s.io/code-generator
#
## Add all groups space separated.
## Example: GROUPS_VERSION="xxxx:v1alpha1 yyyy:v1"
#GROUPS_VERSION="test:v1alpha1"
#
## Generation targets
## Example:
#GENERATION_TARGETS="deepcopy,client"

PROJECT_PACKAGE="${PROJECT_PACKAGE:-""}"
CLIENT_GENERATOR_OUT="${CLIENT_GENERATOR_OUT:-""}"
APIS_ROOT="${APIS_ROOT:-""}"
GROUPS_VERSION="${GROUPS_VERSION:-""}"

[ -z "$PROJECT_PACKAGE" ] && echo "PROJECT_PACKAGE env var is required" && exit 1
[ -z "$CLIENT_GENERATOR_OUT" ] && echo "CLIENT_GENERATOR_OUT env var is required" && exit 1
[ -z "$APIS_ROOT" ] && echo "APIS_ROOT env var is required" && exit 1
[ -z "$GROUPS_VERSION" ] && echo "GROUPS_VERSION env var is required" && exit 1

# Check:
# - https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/generating-clientset.md
GENERATION_TARGETS="${GENERATION_TARGETS:-all}"

# From >=1.16 we use gomod, so we need to execute from the project directory.
cd "${GOPATH}/src/${PROJECT_PACKAGE}"

# Ugly but needs to be relative if we want to use k8s.io/code-generator
# as it is without touching/sed-ing the code/scripts
RELATIVE_ROOT_PATH=$(realpath --relative-to="${PWD}" /)
CODEGEN_PKG=${RELATIVE_ROOT_PATH}${GOPATH}/src/k8s.io/code-generator

BOILERPLATE_PATH=/tmp/fake-boilerplate.txt
touch "${BOILERPLATE_PATH}"

# Only generate deepcopy (runtime object needs) and typed client.
# Typed listers & informers not required for the moment. Used with generic
# custom informer/listerwatchers.
${CODEGEN_PKG}/generate-groups.sh \
${GENERATION_TARGETS} \
${CLIENT_GENERATOR_OUT} \
${APIS_ROOT} \
"${GROUPS_VERSION}" \
"--go-header-file=${BOILERPLATE_PATH}"
# From >=1.16 we use gomod, so we need to execute from the project directory.
cd "${GOPATH}/src/${PROJECT_PACKAGE}"
CODEGEN_PKG=${GOPATH}/src/k8s.io/code-generator
source "${CODEGEN_PKG}/kube_codegen.sh"

ABS_APIS_ROOT="${GOPATH}/src/${APIS_ROOT}"
ABS_CLIENT_GENERATOR_OUT="${GOPATH}/src/${CLIENT_GENERATOR_OUT}"
kube::codegen::gen_client \
--with-watch \
--output-pkg ${CLIENT_GENERATOR_OUT} \
--output-dir ${ABS_CLIENT_GENERATOR_OUT} \
--boilerplate ${BOILERPLATE_PATH} \
${ABS_APIS_ROOT}

kube::codegen::gen_helpers \
--boilerplate ${BOILERPLATE_PATH} \
${ABS_APIS_ROOT}

0 comments on commit 2494aa0

Please sign in to comment.