Skip to content

Latest commit

 

History

History
40 lines (27 loc) · 1.92 KB

README.md

File metadata and controls

40 lines (27 loc) · 1.92 KB

Build Status Go Report Card

Kubebuilder (tools branch)

For more information on the overall KubeBuilder project, see the main branch.

This is the branch we use to build the "KubeBuilder testing tools" binaries, which consist of a copy of kubectl, kube-apiserver, and etcd for use in integration testing with envtest.

How this works/how to update

GCP Cloud Build watches this branch. On every push, it runs the pipeline defined in build/cloudbuild_tools.yaml once each with the following sets of configuration:

  • _GOARCH=amd64 _GOOS=darwin
  • _GOARCH=amd64 _GOOS=linux
  • _GOARCH=arm64 _GOOS=linux
  • _GOARCH=arm64 _GOOS=darwin
  • _GOARCH=ppc64le _GOOS=linux
  • _GOARCH=amd64 _GOOS=windows

(we may add more the in the future).

The pipline then collects or builds the relevant binaries, and publishes them to a GCS bucket.

Each platform has a Dockerfile in build/thirdparty to assist in the process:

  • For Linux, this involves simply downloading the canonical releases from the offically Kubernetes and etcd releases & taring them up.

  • For Darwin/Windows, since the official Kubernetes releases don't build the control plane, we instead build kube-apiserver ourselves, but use etcd & kubectl from official releases.

To update, simply update all references to the old Kubernetes & etcd versions across the pipeline YAML & Dockerfiles, then submit a PR against this branch.