2023-11-22 11:28:06 +01:00
#!/usr/bin/env bash
# shellcheck disable=SC2046
set -e -o pipefail
export PROJECT_MODULE = "github.com/traefik/traefik"
export MODULE_VERSION = "v2"
IMAGE_NAME = "kubernetes-codegen:latest"
CURRENT_DIR = " $( pwd ) "
echo "Building codegen Docker image..."
2024-02-07 17:14:07 +01:00
docker build --build-arg KUBE_VERSION = v0.29.1 \
2023-11-22 11:28:06 +01:00
--build-arg USER = " ${ USER } " \
--build-arg UID = " $( id -u) " \
--build-arg GID = " $( id -g) " \
-f "./script/codegen.Dockerfile" \
-t " ${ IMAGE_NAME } " \
"."
echo "Generating Traefik clientSet code and DeepCopy code ..."
docker run --rm \
-v " ${ CURRENT_DIR } :/go/src/ ${ PROJECT_MODULE } " \
-w " /go/src/ ${ PROJECT_MODULE } " \
-e " PROJECT_MODULE= ${ PROJECT_MODULE } " \
-e " MODULE_VERSION= ${ MODULE_VERSION } " \
" ${ IMAGE_NAME } " \
bash ./script/code-gen.sh
echo "Generating the CRD definitions for the documentation ..."
docker run --rm \
-v " ${ CURRENT_DIR } :/go/src/ ${ PROJECT_MODULE } " \
-w " /go/src/ ${ PROJECT_MODULE } " \
" ${ IMAGE_NAME } " \
controller-gen crd:crdVersions= v1 \
paths = { ./pkg/provider/kubernetes/crd/traefikio/v1alpha1/...,./pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/...} \
output:dir= ./docs/content/reference/dynamic-configuration/
echo "Concatenate the CRD definitions for publication and integration tests ..."
cat " ${ CURRENT_DIR } " /docs/content/reference/dynamic-configuration/traefik.io_*.yaml > " ${ CURRENT_DIR } " /docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
cat " ${ CURRENT_DIR } " /docs/content/reference/dynamic-configuration/traefik.containo.us_*.yaml >> " ${ CURRENT_DIR } " /docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
cp -f " ${ CURRENT_DIR } " /docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml " ${ CURRENT_DIR } " /integration/fixtures/k8s/01-traefik-crd.yml