Add Kubernetes CTS
This adds patches and build specifications for the Kubernetes Conformance Test Suite. This involves
gating various cloud-specific tests behind the providerless flag (otherwise we'd gain a ton of additional dependencies)
and an additional 60MiB in test binary size.
Since the CTS for weird reasons requires kubectl to be available in the path we first build a kubectl go_image and then
stack the CTS on top of it. The output bundle is then preseeded for use.
Test Plan: `bazel run //core/tests/e2e/k8s_cts`
Bug: T836
X-Origin-Diff: phab/D615
GitOrigin-RevId: 7d2cd780a3ffb63b217591c5854b4aec4031d83d
diff --git a/build/fietsje/deps_kubernetes.go b/build/fietsje/deps_kubernetes.go
index d274bfb..be7355d 100644
--- a/build/fietsje/deps_kubernetes.go
+++ b/build/fietsje/deps_kubernetes.go
@@ -28,10 +28,13 @@
"k8s-native-metrics.patch",
"k8s-use-native.patch",
),
+ prePatches(
+ "k8s-e2e-tests-providerless.patch",
+ ),
).inject(
// repo infra, not requested by k8s, but used with bazel
"k8s.io/repo-infra", "df02ded38f9506e5bbcbf21702034b4fef815f2f",
- ).with(patches("k8s-client-go.patch", "k8s-client-go-build.patch")).use(
+ ).with(prePatches("k8s-client-go.patch")).use(
"k8s.io/client-go",
).with(patches("k8s-native-mounter.patch")).use(
"k8s.io/utils",
@@ -81,6 +84,7 @@
"github.com/docker/go-connections",
"github.com/docker/distribution",
"github.com/dustin/go-humanize",
+ "github.com/elazarl/goproxy",
"github.com/euank/go-kmsg-parser",
"github.com/evanphx/json-patch",
"github.com/exponent-io/jsonpath",
@@ -107,6 +111,7 @@
"github.com/grpc-ecosystem/go-grpc-middleware",
"github.com/grpc-ecosystem/go-grpc-prometheus",
"github.com/grpc-ecosystem/grpc-gateway",
+ "github.com/hpcloud/tail",
"github.com/jonboulle/clockwork",
"github.com/karrick/godirwalk",
"github.com/liggitt/tabwriter",
@@ -126,6 +131,8 @@
"github.com/munnerz/goautoneg",
"github.com/mxk/go-flowrate",
"github.com/olekukonko/tablewriter",
+ "github.com/onsi/ginkgo",
+ "github.com/onsi/gomega",
"github.com/peterbourgon/diskv",
"github.com/pquerna/cachecontrol",
"github.com/robfig/cron",
@@ -144,8 +151,10 @@
"go.uber.org/zap",
"golang.org/x/xerrors",
"gonum.org/v1/gonum",
+ "gopkg.in/fsnotify.v1",
"gopkg.in/natefinch/lumberjack.v2",
"gopkg.in/square/go-jose.v2",
+ "gopkg.in/tomb.v1",
"k8s.io/gengo",
"k8s.io/heapster",
"k8s.io/kube-openapi",