2021-07-23 12:00:07 +03:00
#!/bin/bash -e
set -e -o pipefail
PROJECT_MODULE = "github.com/traefik/traefik"
MODULE_VERSION = "v2"
IMAGE_NAME = "kubernetes-codegen:latest"
echo "Building codegen Docker image..."
docker build --build-arg KUBE_VERSION = v0.20.2 --build-arg USER = $USER --build-arg UID = $( id -u) --build-arg GID = $( id -g) -f "./script/codegen.Dockerfile" \
-t " ${ IMAGE_NAME } " \
"."
2021-09-02 15:40:08 +03:00
echo "Generating Traefik clientSet code ..."
2021-07-23 12:00:07 +03:00
cmd = " /go/src/k8s.io/code-generator/generate-groups.sh all ${ PROJECT_MODULE } / ${ MODULE_VERSION } /pkg/provider/kubernetes/crd/generated ${ PROJECT_MODULE } / ${ MODULE_VERSION } /pkg/provider/kubernetes/crd traefik:v1alpha1 --go-header-file=/go/src/ ${ PROJECT_MODULE } /script/boilerplate.go.tmpl "
2021-09-02 15:40:08 +03:00
docker run --rm \
-v " $( pwd ) :/go/src/ ${ PROJECT_MODULE } " \
-w " /go/src/ ${ PROJECT_MODULE } " \
" ${ IMAGE_NAME } " $cmd
2021-07-23 12:00:07 +03:00
2021-09-02 15:40:08 +03:00
echo "Generating DeepCopy code ..."
cmd = " deepcopy-gen --input-dirs ${ PROJECT_MODULE } / ${ MODULE_VERSION } /pkg/config/dynamic --input-dirs ${ PROJECT_MODULE } / ${ MODULE_VERSION } /pkg/tls --input-dirs ${ PROJECT_MODULE } / ${ MODULE_VERSION } /pkg/types --output-package ${ PROJECT_MODULE } / ${ MODULE_VERSION } -O zz_generated.deepcopy --go-header-file=/go/src/ ${ PROJECT_MODULE } /script/boilerplate.go.tmpl "
2021-07-23 12:00:07 +03:00
docker run --rm \
-v " $( pwd ) :/go/src/ ${ PROJECT_MODULE } " \
-w " /go/src/ ${ PROJECT_MODULE } " \
" ${ IMAGE_NAME } " $cmd
2021-09-02 15:40:08 +03:00
echo "Generating the CRD definitions for the documentation ..."
cmd = "controller-gen crd:crdVersions=v1 paths=./pkg/provider/kubernetes/crd/traefik/v1alpha1/... output:dir=./docs/content/reference/dynamic-configuration/"
docker run --rm \
-v " $( pwd ) :/go/src/ ${ PROJECT_MODULE } " \
-w " /go/src/ ${ PROJECT_MODULE } " \
" ${ IMAGE_NAME } " $cmd
echo "Concatenate the CRD definitions for the integration tests ..."
cat $( pwd ) /docs/content/reference/dynamic-configuration/traefik.containo.us_*.yaml > $( pwd ) /integration/fixtures/k8s/01-traefik-crd.yml
2021-07-23 12:00:07 +03:00
cp -r $( pwd ) /${ MODULE_VERSION } /* $( pwd )
rm -rf $( pwd ) /${ MODULE_VERSION }