
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>
71 lines
2.7 KiB
Python
71 lines
2.7 KiB
Python
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
|
|
|
|
go_library(
|
|
name = "go_default_library",
|
|
srcs = [
|
|
"config.go",
|
|
"dynamic.go",
|
|
"flags.go",
|
|
"kubelet.go",
|
|
],
|
|
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubelet",
|
|
visibility = ["//visibility:public"],
|
|
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/features: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",
|
|
"//cmd/kubeadm/app/util/initsystem: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/api/errors:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library",
|
|
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
|
"//vendor/github.com/pkg/errors:go_default_library",
|
|
"//vendor/k8s.io/klog:go_default_library",
|
|
"//vendor/k8s.io/utils/exec:go_default_library",
|
|
],
|
|
)
|
|
|
|
go_test(
|
|
name = "go_default_test",
|
|
srcs = [
|
|
"config_test.go",
|
|
"dynamic_test.go",
|
|
"flags_test.go",
|
|
],
|
|
embed = [":go_default_library"],
|
|
deps = [
|
|
"//cmd/kubeadm/app/apis/kubeadm:go_default_library",
|
|
"//cmd/kubeadm/app/apis/kubeadm/v1beta2:go_default_library",
|
|
"//cmd/kubeadm/app/constants:go_default_library",
|
|
"//cmd/kubeadm/app/util/config:go_default_library",
|
|
"//staging/src/k8s.io/api/core/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/apimachinery/pkg/util/version:go_default_library",
|
|
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
|
|
"//staging/src/k8s.io/client-go/testing:go_default_library",
|
|
"//vendor/github.com/pkg/errors:go_default_library",
|
|
"//vendor/k8s.io/utils/exec:go_default_library",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "package-srcs",
|
|
srcs = glob(["**"]),
|
|
tags = ["automanaged"],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "all-srcs",
|
|
srcs = [":package-srcs"],
|
|
tags = ["automanaged"],
|
|
visibility = ["//visibility:public"],
|
|
)
|