Skip to content

Commit 95acec5

Browse files
committed
Move client_builder to k8s.io/controller-manager
1 parent e3d7d06 commit 95acec5

File tree

31 files changed

+321
-251
lines changed

31 files changed

+321
-251
lines changed

cluster/gce/gci/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ go_test(
1818
],
1919
deps = [
2020
"//pkg/api/legacyscheme:go_default_library",
21-
"//pkg/serviceaccount:go_default_library",
2221
"//staging/src/k8s.io/api/core/v1:go_default_library",
2322
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
2423
"//staging/src/k8s.io/apiserver/pkg/apis/audit:go_default_library",
2524
"//staging/src/k8s.io/apiserver/pkg/apis/audit/install:go_default_library",
2625
"//staging/src/k8s.io/apiserver/pkg/audit:go_default_library",
2726
"//staging/src/k8s.io/apiserver/pkg/audit/policy:go_default_library",
27+
"//staging/src/k8s.io/apiserver/pkg/authentication/serviceaccount:go_default_library",
2828
"//staging/src/k8s.io/apiserver/pkg/authentication/user:go_default_library",
2929
"//staging/src/k8s.io/apiserver/pkg/authorization/authorizer:go_default_library",
3030
"//vendor/github.com/google/go-cmp/cmp:go_default_library",

cluster/gce/gci/audit_policy_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ import (
2626
auditinstall "k8s.io/apiserver/pkg/apis/audit/install"
2727
auditpkg "k8s.io/apiserver/pkg/audit"
2828
auditpolicy "k8s.io/apiserver/pkg/audit/policy"
29+
"k8s.io/apiserver/pkg/authentication/serviceaccount"
2930
"k8s.io/apiserver/pkg/authentication/user"
3031
"k8s.io/apiserver/pkg/authorization/authorizer"
31-
"k8s.io/kubernetes/pkg/serviceaccount"
3232

3333
"github.com/stretchr/testify/assert"
3434
"github.com/stretchr/testify/require"

cmd/cloud-controller-manager/app/options/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ go_library(
1212
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/options",
1313
deps = [
1414
"//cmd/cloud-controller-manager/app/config:go_default_library",
15-
"//pkg/controller:go_default_library",
1615
"//staging/src/k8s.io/api/core/v1:go_default_library",
1716
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
1817
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
@@ -32,6 +31,7 @@ go_library(
3231
"//staging/src/k8s.io/cloud-provider/options:go_default_library",
3332
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
3433
"//staging/src/k8s.io/controller-manager/options:go_default_library",
34+
"//staging/src/k8s.io/controller-manager/pkg/clientbuilder:go_default_library",
3535
"//staging/src/k8s.io/controller-manager/pkg/features/register:go_default_library",
3636
],
3737
)

cmd/cloud-controller-manager/app/options/options.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ import (
4141
cpoptions "k8s.io/cloud-provider/options"
4242
cliflag "k8s.io/component-base/cli/flag"
4343
cmoptions "k8s.io/controller-manager/options"
44+
"k8s.io/controller-manager/pkg/clientbuilder"
4445
cloudcontrollerconfig "k8s.io/kubernetes/cmd/cloud-controller-manager/app/config"
45-
"k8s.io/kubernetes/pkg/controller"
4646

4747
// add the related feature gates
4848
_ "k8s.io/controller-manager/pkg/features/register"
@@ -194,11 +194,11 @@ func (o *CloudControllerManagerOptions) ApplyTo(c *cloudcontrollerconfig.Config,
194194

195195
c.EventRecorder = createRecorder(c.Client, userAgent)
196196

197-
rootClientBuilder := controller.SimpleControllerClientBuilder{
197+
rootClientBuilder := clientbuilder.SimpleControllerClientBuilder{
198198
ClientConfig: c.Kubeconfig,
199199
}
200200
if c.ComponentConfig.KubeCloudShared.UseServiceAccountCredentials {
201-
c.ClientBuilder = controller.SAControllerClientBuilder{
201+
c.ClientBuilder = clientbuilder.SAControllerClientBuilder{
202202
ClientConfig: restclient.AnonymousClientConfig(c.Kubeconfig),
203203
CoreClient: c.Client.CoreV1(),
204204
AuthenticationClient: c.Client.AuthenticationV1(),

cmd/kube-controller-manager/app/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ go_library(
145145
"//staging/src/k8s.io/component-base/version:go_default_library",
146146
"//staging/src/k8s.io/component-base/version/verflag:go_default_library",
147147
"//staging/src/k8s.io/controller-manager/app:go_default_library",
148+
"//staging/src/k8s.io/controller-manager/pkg/clientbuilder:go_default_library",
148149
"//staging/src/k8s.io/csi-translation-lib:go_default_library",
149150
"//staging/src/k8s.io/csi-translation-lib/plugins:go_default_library",
150151
"//staging/src/k8s.io/metrics/pkg/client/clientset/versioned/typed/metrics/v1beta1:go_default_library",

cmd/kube-controller-manager/app/controllermanager.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import (
3030
"time"
3131

3232
"github.com/spf13/cobra"
33-
3433
v1 "k8s.io/api/core/v1"
3534
"k8s.io/apimachinery/pkg/runtime/schema"
3635
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
@@ -60,6 +59,7 @@ import (
6059
"k8s.io/component-base/version"
6160
"k8s.io/component-base/version/verflag"
6261
genericcontrollermanager "k8s.io/controller-manager/app"
62+
"k8s.io/controller-manager/pkg/clientbuilder"
6363
"k8s.io/klog/v2"
6464
"k8s.io/kubernetes/cmd/kube-controller-manager/app/config"
6565
"k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
@@ -209,10 +209,10 @@ func Run(c *config.CompletedConfig, stopCh <-chan struct{}) error {
209209
}
210210

211211
run := func(ctx context.Context) {
212-
rootClientBuilder := controller.SimpleControllerClientBuilder{
212+
rootClientBuilder := clientbuilder.SimpleControllerClientBuilder{
213213
ClientConfig: c.Kubeconfig,
214214
}
215-
var clientBuilder controller.ControllerClientBuilder
215+
var clientBuilder clientbuilder.ControllerClientBuilder
216216
if c.ComponentConfig.KubeCloudShared.UseServiceAccountCredentials {
217217
if len(c.ComponentConfig.SAController.ServiceAccountKeyFile) == 0 {
218218
// It's possible another controller process is creating the tokens for us.
@@ -229,7 +229,7 @@ func Run(c *config.CompletedConfig, stopCh <-chan struct{}) error {
229229
"kube-system")
230230
} else {
231231
klog.V(1).Infof("using legacy client builder")
232-
clientBuilder = controller.SAControllerClientBuilder{
232+
clientBuilder = clientbuilder.SAControllerClientBuilder{
233233
ClientConfig: restclient.AnonymousClientConfig(c.Kubeconfig),
234234
CoreClient: c.Client.CoreV1(),
235235
AuthenticationClient: c.Client.AuthenticationV1(),
@@ -302,7 +302,7 @@ func Run(c *config.CompletedConfig, stopCh <-chan struct{}) error {
302302
// ControllerContext defines the context object for controller
303303
type ControllerContext struct {
304304
// ClientBuilder will provide a client for this controller to use
305-
ClientBuilder controller.ControllerClientBuilder
305+
ClientBuilder clientbuilder.ControllerClientBuilder
306306

307307
// InformerFactory gives access to informers for the controller.
308308
InformerFactory informers.SharedInformerFactory
@@ -433,7 +433,7 @@ func NewControllerInitializers(loopMode ControllerLoopMode) map[string]InitFunc
433433
// TODO: In general, any controller checking this needs to be dynamic so
434434
// users don't have to restart their controller manager if they change the apiserver.
435435
// Until we get there, the structure here needs to be exposed for the construction of a proper ControllerContext.
436-
func GetAvailableResources(clientBuilder controller.ControllerClientBuilder) (map[schema.GroupVersionResource]bool, error) {
436+
func GetAvailableResources(clientBuilder clientbuilder.ControllerClientBuilder) (map[schema.GroupVersionResource]bool, error) {
437437
client := clientBuilder.ClientOrDie("controller-discovery")
438438
discoveryClient := client.Discovery()
439439
_, resourceMap, err := discoveryClient.ServerGroupsAndResources()
@@ -461,7 +461,7 @@ func GetAvailableResources(clientBuilder controller.ControllerClientBuilder) (ma
461461
// CreateControllerContext creates a context struct containing references to resources needed by the
462462
// controllers such as the cloud provider and clientBuilder. rootClientBuilder is only used for
463463
// the shared-informers client and token controller.
464-
func CreateControllerContext(s *config.CompletedConfig, rootClientBuilder, clientBuilder controller.ControllerClientBuilder, stop <-chan struct{}) (ControllerContext, error) {
464+
func CreateControllerContext(s *config.CompletedConfig, rootClientBuilder, clientBuilder clientbuilder.ControllerClientBuilder, stop <-chan struct{}) (ControllerContext, error) {
465465
versionedClient := rootClientBuilder.ClientOrDie("shared-informers")
466466
sharedInformers := informers.NewSharedInformerFactory(versionedClient, ResyncPeriod(s)())
467467

@@ -556,7 +556,7 @@ func StartControllers(ctx ControllerContext, startSATokenController InitFunc, co
556556
// It cannot use the "normal" client builder, so it tracks its own. It must also avoid being included in the "normal"
557557
// init map so that it can always run first.
558558
type serviceAccountTokenControllerStarter struct {
559-
rootClientBuilder controller.ControllerClientBuilder
559+
rootClientBuilder clientbuilder.ControllerClientBuilder
560560
}
561561

562562
func (c serviceAccountTokenControllerStarter) startServiceAccountTokenController(ctx ControllerContext) (http.Handler, bool, error) {

pkg/controller/BUILD

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
33
go_library(
44
name = "go_default_library",
55
srcs = [
6-
"client_builder.go",
76
"client_builder_dynamic.go",
87
"controller_ref_manager.go",
98
"controller_utils.go",
@@ -14,12 +13,9 @@ go_library(
1413
importpath = "k8s.io/kubernetes/pkg/controller",
1514
visibility = ["//visibility:public"],
1615
deps = [
17-
"//pkg/api/legacyscheme:go_default_library",
1816
"//pkg/api/v1/pod:go_default_library",
19-
"//pkg/apis/core:go_default_library",
2017
"//pkg/apis/core/install:go_default_library",
2118
"//pkg/apis/core/validation:go_default_library",
22-
"//pkg/serviceaccount:go_default_library",
2319
"//pkg/util/hash:go_default_library",
2420
"//pkg/util/taints:go_default_library",
2521
"//staging/src/k8s.io/api/apps/v1:go_default_library",
@@ -28,7 +24,6 @@ go_library(
2824
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
2925
"//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library",
3026
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
31-
"//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library",
3227
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
3328
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
3429
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
@@ -39,19 +34,17 @@ go_library(
3934
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
4035
"//staging/src/k8s.io/apimachinery/pkg/util/strategicpatch:go_default_library",
4136
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
42-
"//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library",
4337
"//staging/src/k8s.io/apiserver/pkg/authentication/serviceaccount:go_default_library",
4438
"//staging/src/k8s.io/client-go/informers:go_default_library",
4539
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
46-
"//staging/src/k8s.io/client-go/kubernetes/typed/authentication/v1:go_default_library",
4740
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
4841
"//staging/src/k8s.io/client-go/metadata/metadatainformer:go_default_library",
4942
"//staging/src/k8s.io/client-go/rest:go_default_library",
5043
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
5144
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
52-
"//staging/src/k8s.io/client-go/tools/watch:go_default_library",
5345
"//staging/src/k8s.io/client-go/transport:go_default_library",
5446
"//staging/src/k8s.io/client-go/util/retry:go_default_library",
47+
"//staging/src/k8s.io/controller-manager/pkg/clientbuilder:go_default_library",
5548
"//vendor/github.com/golang/groupcache/lru:go_default_library",
5649
"//vendor/golang.org/x/oauth2:go_default_library",
5750
"//vendor/k8s.io/klog/v2:go_default_library",

pkg/controller/client_builder_dynamic.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import (
2424
"time"
2525

2626
"golang.org/x/oauth2"
27-
2827
v1authenticationapi "k8s.io/api/authentication/v1"
2928
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3029
"k8s.io/apimachinery/pkg/util/clock"
@@ -34,6 +33,7 @@ import (
3433
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
3534
restclient "k8s.io/client-go/rest"
3635
"k8s.io/client-go/transport"
36+
"k8s.io/controller-manager/pkg/clientbuilder"
3737
"k8s.io/klog/v2"
3838
utilpointer "k8s.io/utils/pointer"
3939
)
@@ -73,7 +73,7 @@ type DynamicControllerClientBuilder struct {
7373
clock clock.Clock
7474
}
7575

76-
func NewDynamicClientBuilder(clientConfig *restclient.Config, coreClient v1core.CoreV1Interface, ns string) ControllerClientBuilder {
76+
func NewDynamicClientBuilder(clientConfig *restclient.Config, coreClient v1core.CoreV1Interface, ns string) clientbuilder.ControllerClientBuilder {
7777
builder := &DynamicControllerClientBuilder{
7878
ClientConfig: clientConfig,
7979
CoreClient: coreClient,
@@ -87,7 +87,7 @@ func NewDynamicClientBuilder(clientConfig *restclient.Config, coreClient v1core.
8787
}
8888

8989
// this function only for test purpose, don't call it
90-
func NewTestDynamicClientBuilder(clientConfig *restclient.Config, coreClient v1core.CoreV1Interface, ns string, expirationSeconds int64, leewayPercent int) ControllerClientBuilder {
90+
func NewTestDynamicClientBuilder(clientConfig *restclient.Config, coreClient v1core.CoreV1Interface, ns string, expirationSeconds int64, leewayPercent int) clientbuilder.ControllerClientBuilder {
9191
builder := &DynamicControllerClientBuilder{
9292
ClientConfig: clientConfig,
9393
CoreClient: coreClient,

pkg/controller/serviceaccount/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ go_library(
2626
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
2727
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
2828
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
29+
"//staging/src/k8s.io/apiserver/pkg/authentication/serviceaccount:go_default_library",
2930
"//staging/src/k8s.io/client-go/informers/core/v1:go_default_library",
3031
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
3132
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",

pkg/controller/serviceaccount/tokens_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
3131
"k8s.io/apimachinery/pkg/util/sets"
3232
"k8s.io/apimachinery/pkg/util/wait"
33+
apiserverserviceaccount "k8s.io/apiserver/pkg/authentication/serviceaccount"
3334
informers "k8s.io/client-go/informers/core/v1"
3435
clientset "k8s.io/client-go/kubernetes"
3536
listersv1 "k8s.io/client-go/listers/core/v1"
@@ -699,7 +700,7 @@ func (e *TokensController) listTokenSecrets(serviceAccount *v1.ServiceAccount) (
699700
for _, obj := range namespaceSecrets {
700701
secret := obj.(*v1.Secret)
701702

702-
if serviceaccount.IsServiceAccountToken(secret, serviceAccount) {
703+
if apiserverserviceaccount.IsServiceAccountToken(secret, serviceAccount) {
703704
items = append(items, secret)
704705
}
705706
}

0 commit comments

Comments
 (0)