
kubeadm's current implementation of component config support is "kind" centric. This has its downsides. Namely: - Kind names and numbers can change between config versions. Newer kinds can be ignored. Therefore, detection of a version change is considerably harder. - A component config can have only one kind that is managed by kubeadm. Thus a more appropriate way to identify component configs is required. Probably the best solution identified so far is a config group. A group name is unlikely to change between versions, while the kind names and structure can. Tracking component configs by group name allows us to: - Spot more easily config version changes and manage alternate versions. - Support more than one kind in a config group/version. - Abstract component configs by hiding their exact structure. Hence, this change rips off the old kind based support for component configs and replaces it with a group name based one. This also has the following extra benefits: - More tests were added. - kubeadm now errors out if an unsupported version of a known component group is used. Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
65 lines
2.3 KiB
Python
65 lines
2.3 KiB
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load(
|
|
"@io_bazel_rules_go//go:def.bzl",
|
|
"go_library",
|
|
"go_test",
|
|
)
|
|
|
|
go_test(
|
|
name = "go_default_test",
|
|
srcs = ["proxy_test.go"],
|
|
embed = [":go_default_library"],
|
|
deps = [
|
|
"//cmd/kubeadm/app/apis/kubeadm/v1beta2:go_default_library",
|
|
"//cmd/kubeadm/app/constants:go_default_library",
|
|
"//cmd/kubeadm/app/util:go_default_library",
|
|
"//cmd/kubeadm/app/util/config:go_default_library",
|
|
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
|
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
|
|
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
|
"//staging/src/k8s.io/client-go/testing:go_default_library",
|
|
],
|
|
)
|
|
|
|
go_library(
|
|
name = "go_default_library",
|
|
srcs = [
|
|
"manifests.go",
|
|
"proxy.go",
|
|
],
|
|
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/proxy",
|
|
deps = [
|
|
"//cmd/kubeadm/app/apis/kubeadm:go_default_library",
|
|
"//cmd/kubeadm/app/componentconfigs:go_default_library",
|
|
"//cmd/kubeadm/app/constants:go_default_library",
|
|
"//cmd/kubeadm/app/images:go_default_library",
|
|
"//cmd/kubeadm/app/util:go_default_library",
|
|
"//cmd/kubeadm/app/util/apiclient:go_default_library",
|
|
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
|
"//staging/src/k8s.io/api/rbac/v1:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
|
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
|
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
|
"//vendor/github.com/pkg/errors:go_default_library",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "package-srcs",
|
|
srcs = glob(["**"]),
|
|
tags = ["automanaged"],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "all-srcs",
|
|
srcs = [":package-srcs"],
|
|
tags = ["automanaged"],
|
|
)
|