Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
9961b1a6
Commit
9961b1a6
authored
Oct 15, 2019
by
galal-hussein
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Vendor Update
parent
c12d2a1a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1071 additions
and
2 deletions
+1071
-2
go.mod
go.mod
+1
-0
go.sum
go.sum
+0
-2
BUILD
.../k8s.io/kubernetes/cmd/cloud-controller-manager/app/BUILD
+59
-0
BUILD
...rnetes/cmd/cloud-controller-manager/app/apis/config/BUILD
+38
-0
doc.go
...netes/cmd/cloud-controller-manager/app/apis/config/doc.go
+20
-0
register.go
.../cmd/cloud-controller-manager/app/apis/config/register.go
+42
-0
BUILD
...cmd/cloud-controller-manager/app/apis/config/scheme/BUILD
+29
-0
scheme.go
...cloud-controller-manager/app/apis/config/scheme/scheme.go
+44
-0
types.go
...tes/cmd/cloud-controller-manager/app/apis/config/types.go
+43
-0
BUILD
...d/cloud-controller-manager/app/apis/config/v1alpha1/BUILD
+51
-0
defaults.go
...d-controller-manager/app/apis/config/v1alpha1/defaults.go
+51
-0
doc.go
.../cloud-controller-manager/app/apis/config/v1alpha1/doc.go
+31
-0
register.go
...d-controller-manager/app/apis/config/v1alpha1/register.go
+52
-0
types.go
...loud-controller-manager/app/apis/config/v1alpha1/types.go
+39
-0
zz_generated.conversion.go
...nager/app/apis/config/v1alpha1/zz_generated.conversion.go
+87
-0
zz_generated.deepcopy.go
...manager/app/apis/config/v1alpha1/zz_generated.deepcopy.go
+54
-0
zz_generated.defaults.go
...manager/app/apis/config/v1alpha1/zz_generated.defaults.go
+41
-0
zz_generated.deepcopy.go
...ntroller-manager/app/apis/config/zz_generated.deepcopy.go
+54
-0
BUILD
.../kubernetes/cmd/cloud-controller-manager/app/config/BUILD
+31
-0
config.go
...ernetes/cmd/cloud-controller-manager/app/config/config.go
+81
-0
controllermanager.go
...tes/cmd/cloud-controller-manager/app/controllermanager.go
+0
-0
core.go
...8s.io/kubernetes/cmd/cloud-controller-manager/app/core.go
+157
-0
BUILD
...kubernetes/cmd/cloud-controller-manager/app/options/BUILD
+66
-0
options.go
...netes/cmd/cloud-controller-manager/app/options/options.go
+0
-0
modules.txt
vendor/modules.txt
+0
-0
No files found.
go.mod
View file @
9961b1a6
...
@@ -117,6 +117,7 @@ require (
...
@@ -117,6 +117,7 @@ require (
k8s.io/apimachinery v0.0.0
k8s.io/apimachinery v0.0.0
k8s.io/apiserver v0.0.0
k8s.io/apiserver v0.0.0
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
k8s.io/cloud-provider v0.0.0
k8s.io/component-base v0.0.0
k8s.io/component-base v0.0.0
k8s.io/cri-api v0.0.0
k8s.io/cri-api v0.0.0
k8s.io/klog v0.4.0
k8s.io/klog v0.4.0
...
...
go.sum
View file @
9961b1a6
...
@@ -563,8 +563,6 @@ github.com/rancher/containerd v1.3.0-k3s.1 h1:8dz25shb4egTLl0nOXQdtllx20LEXsuOs4
...
@@ -563,8 +563,6 @@ github.com/rancher/containerd v1.3.0-k3s.1 h1:8dz25shb4egTLl0nOXQdtllx20LEXsuOs4
github.com/rancher/containerd v1.3.0-k3s.1/go.mod h1:ZMfzmqce2Z+QSEqdHMfeJs1TZ/UeJ1aDrazjpQT4ehM=
github.com/rancher/containerd v1.3.0-k3s.1/go.mod h1:ZMfzmqce2Z+QSEqdHMfeJs1TZ/UeJ1aDrazjpQT4ehM=
github.com/rancher/cri-tools v1.16.0-k3s.1 h1:cv/iVFkfvDLfpSqGFwgyQbMKLGRzcXo8AALUsd8s5qE=
github.com/rancher/cri-tools v1.16.0-k3s.1 h1:cv/iVFkfvDLfpSqGFwgyQbMKLGRzcXo8AALUsd8s5qE=
github.com/rancher/cri-tools v1.16.0-k3s.1/go.mod h1:TEKhKv2EJIZp+p9jnEy4C63g8CosJzsI4kyKKkHag+8=
github.com/rancher/cri-tools v1.16.0-k3s.1/go.mod h1:TEKhKv2EJIZp+p9jnEy4C63g8CosJzsI4kyKKkHag+8=
github.com/rancher/dynamiclistener v0.0.0-20190926205813-e2ac9e2c193d h1:BPBA86IVuNX/S2g7Kry+jXcuftCWPRLpad1iyd1nP20=
github.com/rancher/dynamiclistener v0.0.0-20190926205813-e2ac9e2c193d/go.mod h1:vNqDnGTkrX8tiBUevkvjZoQoiZOjaahVbMaYRIl25l0=
github.com/rancher/dynamiclistener v0.1.1-0.20191010011134-8a2488bc860a h1:1bUYAv5U/Ky4YJ9o8gWxX+vNcjpIL3JWNBao70OlkFE=
github.com/rancher/dynamiclistener v0.1.1-0.20191010011134-8a2488bc860a h1:1bUYAv5U/Ky4YJ9o8gWxX+vNcjpIL3JWNBao70OlkFE=
github.com/rancher/dynamiclistener v0.1.1-0.20191010011134-8a2488bc860a/go.mod h1:8hbGf35mB7ormKEFqsAgjgeI5rLbj5N764jG41dNhps=
github.com/rancher/dynamiclistener v0.1.1-0.20191010011134-8a2488bc860a/go.mod h1:8hbGf35mB7ormKEFqsAgjgeI5rLbj5N764jG41dNhps=
github.com/rancher/flannel v0.11.0-k3s.1 h1:mIwnfWDafjzQgFkZeJ1AkFrrAT3EdBaA1giE0eLJKo8=
github.com/rancher/flannel v0.11.0-k3s.1 h1:mIwnfWDafjzQgFkZeJ1AkFrrAT3EdBaA1giE0eLJKo8=
...
...
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/BUILD
0 → 100644
View file @
9961b1a6
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"controllermanager.go",
"core.go",
],
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app",
visibility = ["//visibility:public"],
deps = [
"//cmd/cloud-controller-manager/app/config:go_default_library",
"//cmd/cloud-controller-manager/app/options:go_default_library",
"//cmd/controller-manager/app:go_default_library",
"//pkg/controller/cloud:go_default_library",
"//pkg/controller/route:go_default_library",
"//pkg/controller/service:go_default_library",
"//pkg/features:go_default_library",
"//pkg/util/configz:go_default_library",
"//pkg/util/flag:go_default_library",
"//pkg/version/verflag:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/healthz:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/term:go_default_library",
"//staging/src/k8s.io/client-go/tools/leaderelection:go_default_library",
"//staging/src/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library",
"//staging/src/k8s.io/cloud-provider:go_default_library",
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
"//staging/src/k8s.io/component-base/cli/globalflag:go_default_library",
"//staging/src/k8s.io/component-base/version:go_default_library",
"//vendor/github.com/spf13/cobra:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
"//vendor/k8s.io/utils/net:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//cmd/cloud-controller-manager/app/apis/config:all-srcs",
"//cmd/cloud-controller-manager/app/config:all-srcs",
"//cmd/cloud-controller-manager/app/options:all-srcs",
"//cmd/cloud-controller-manager/app/testing:all-srcs",
],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/BUILD
0 → 100644
View file @
9961b1a6
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"doc.go",
"register.go",
"types.go",
"zz_generated.deepcopy.go",
],
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config",
visibility = ["//visibility:public"],
deps = [
"//pkg/controller/apis/config:go_default_library",
"//pkg/controller/service/config: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/runtime/schema:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//cmd/cloud-controller-manager/app/apis/config/scheme:all-srcs",
"//cmd/cloud-controller-manager/app/apis/config/v1alpha1:all-srcs",
],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/doc.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// +k8s:deepcopy-gen=package
// +groupName=cloudcontrollermanager.config.k8s.io
package
config
// import "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config"
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/register.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
config
import
(
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
)
// GroupName is the group name used in this package
const
GroupName
=
"cloudcontrollermanager.config.k8s.io"
var
(
// SchemeGroupVersion is group version used to register these objects
SchemeGroupVersion
=
schema
.
GroupVersion
{
Group
:
GroupName
,
Version
:
runtime
.
APIVersionInternal
}
// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
SchemeBuilder
=
runtime
.
NewSchemeBuilder
(
addKnownTypes
)
// AddToScheme is a global function that registers this API group & version to a scheme
AddToScheme
=
SchemeBuilder
.
AddToScheme
)
// addKnownTypes registers known types to the given scheme
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
error
{
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
CloudControllerManagerConfiguration
{},
)
return
nil
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme/BUILD
0 → 100644
View file @
9961b1a6
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["scheme.go"],
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme",
visibility = ["//visibility:public"],
deps = [
"//cmd/cloud-controller-manager/app/apis/config:go_default_library",
"//cmd/cloud-controller-manager/app/apis/config/v1alpha1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/runtime: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"],
)
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme/scheme.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
scheme
import
(
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer"
utilruntime
"k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config"
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1"
)
var
(
// Scheme defines methods for serializing and deserializing API objects.
Scheme
=
runtime
.
NewScheme
()
// Codecs provides methods for retrieving codecs and serializers for specific
// versions and content types.
Codecs
=
serializer
.
NewCodecFactory
(
Scheme
)
)
func
init
()
{
AddToScheme
(
Scheme
)
}
// AddToScheme adds the types of this group into the given scheme.
func
AddToScheme
(
scheme
*
runtime
.
Scheme
)
{
utilruntime
.
Must
(
config
.
AddToScheme
(
scheme
))
utilruntime
.
Must
(
v1alpha1
.
AddToScheme
(
scheme
))
utilruntime
.
Must
(
scheme
.
SetVersionPriority
(
v1alpha1
.
SchemeGroupVersion
))
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/types.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
config
import
(
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
kubectrlmgrconfig
"k8s.io/kubernetes/pkg/controller/apis/config"
serviceconfig
"k8s.io/kubernetes/pkg/controller/service/config"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// CloudControllerManagerConfiguration contains elements describing cloud-controller manager.
type
CloudControllerManagerConfiguration
struct
{
metav1
.
TypeMeta
// Generic holds configuration for a generic controller-manager
Generic
kubectrlmgrconfig
.
GenericControllerManagerConfiguration
// KubeCloudSharedConfiguration holds configuration for shared related features
// both in cloud controller manager and kube-controller manager.
KubeCloudShared
kubectrlmgrconfig
.
KubeCloudSharedConfiguration
// ServiceControllerConfiguration holds configuration for ServiceController
// related features.
ServiceController
serviceconfig
.
ServiceControllerConfiguration
// NodeStatusUpdateFrequency is the frequency at which the controller updates nodes' status
NodeStatusUpdateFrequency
metav1
.
Duration
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/BUILD
0 → 100644
View file @
9961b1a6
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
go_library(
name = "go_default_library",
srcs = [
"defaults.go",
"doc.go",
"register.go",
"types.go",
"zz_generated.conversion.go",
"zz_generated.deepcopy.go",
"zz_generated.defaults.go",
],
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1",
visibility = ["//visibility:public"],
deps = [
"//cmd/cloud-controller-manager/app/apis/config:go_default_library",
"//pkg/controller/apis/config/v1alpha1:go_default_library",
"//pkg/controller/service/config/v1alpha1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/conversion: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/kube-controller-manager/config/v1alpha1:go_default_library",
],
)
go_test(
name = "go_default_test",
srcs = ["defaults_test.go"],
embed = [":go_default_library"],
deps = [
"//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",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/defaults.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
v1alpha1
import
(
"time"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
kubectrlmgrconfigv1alpha1
"k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1"
serviceconfigv1alpha1
"k8s.io/kubernetes/pkg/controller/service/config/v1alpha1"
)
func
addDefaultingFuncs
(
scheme
*
runtime
.
Scheme
)
error
{
return
RegisterDefaults
(
scheme
)
}
func
SetDefaults_CloudControllerManagerConfiguration
(
obj
*
CloudControllerManagerConfiguration
)
{
zero
:=
metav1
.
Duration
{}
if
obj
.
NodeStatusUpdateFrequency
==
zero
{
obj
.
NodeStatusUpdateFrequency
=
metav1
.
Duration
{
Duration
:
5
*
time
.
Minute
}
}
// These defaults override the recommended defaults from the apimachineryconfigv1alpha1 package that are applied automatically
// These client-connection defaults are specific to the cloud-controller-manager
if
obj
.
Generic
.
ClientConnection
.
QPS
==
0
{
obj
.
Generic
.
ClientConnection
.
QPS
=
20
}
if
obj
.
Generic
.
ClientConnection
.
Burst
==
0
{
obj
.
Generic
.
ClientConnection
.
Burst
=
30
}
// Use the default RecommendedDefaultGenericControllerManagerConfiguration options
kubectrlmgrconfigv1alpha1
.
RecommendedDefaultGenericControllerManagerConfiguration
(
&
obj
.
Generic
)
// Use the default RecommendedDefaultServiceControllerConfiguration options
serviceconfigv1alpha1
.
RecommendedDefaultServiceControllerConfiguration
(
&
obj
.
ServiceController
)
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/doc.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Note: The referenced generic ComponentConfig packages with conversions
// between the types (e.g. the external package) needs to be given as an
// input to conversion-gen for it to find the native conversation funcs to
// call.
// +k8s:deepcopy-gen=package
// +k8s:conversion-gen=k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
// +k8s:conversion-gen=k8s.io/component-base/config/v1alpha1
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/service/config/v1alpha1
// +k8s:openapi-gen=true
// +k8s:defaulter-gen=TypeMeta
// +groupName=cloudcontrollermanager.config.k8s.io
package
v1alpha1
// import "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1"
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/register.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
v1alpha1
import
(
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
)
// GroupName is the group name use in this package
const
GroupName
=
"cloudcontrollermanager.config.k8s.io"
var
(
// GroupName is the group name use in this package
SchemeGroupVersion
=
schema
.
GroupVersion
{
Group
:
GroupName
,
Version
:
"v1alpha1"
}
// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
SchemeBuilder
=
runtime
.
NewSchemeBuilder
(
addKnownTypes
)
// localSchemeBuilder ïs a pointer to SchemeBuilder instance. Using localSchemeBuilder
// defaulting and conversion init funcs are registered as well.
localSchemeBuilder
=
&
SchemeBuilder
// AddToScheme is a global function that registers this API group & version to a scheme
AddToScheme
=
localSchemeBuilder
.
AddToScheme
)
func
init
()
{
// We only register manually written functions here. The registration of the
// generated functions takes place in the generated files. The separation
// makes the code compile even when the generated files are missing.
localSchemeBuilder
.
Register
(
addDefaultingFuncs
)
}
// addKnownTypes registers known types to the given scheme
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
error
{
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
CloudControllerManagerConfiguration
{},
)
return
nil
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/types.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
v1alpha1
import
(
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
kubectrlmgrconfigv1alpha1
"k8s.io/kube-controller-manager/config/v1alpha1"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type
CloudControllerManagerConfiguration
struct
{
metav1
.
TypeMeta
`json:",inline"`
// Generic holds configuration for a generic controller-manager
Generic
kubectrlmgrconfigv1alpha1
.
GenericControllerManagerConfiguration
// KubeCloudSharedConfiguration holds configuration for shared related features
// both in cloud controller manager and kube-controller manager.
KubeCloudShared
kubectrlmgrconfigv1alpha1
.
KubeCloudSharedConfiguration
// ServiceControllerConfiguration holds configuration for ServiceController
// related features.
ServiceController
kubectrlmgrconfigv1alpha1
.
ServiceControllerConfiguration
// NodeStatusUpdateFrequency is the frequency at which the controller updates nodes' status
NodeStatusUpdateFrequency
metav1
.
Duration
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.conversion.go
0 → 100644
View file @
9961b1a6
// +build !ignore_autogenerated
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by conversion-gen. DO NOT EDIT.
package
v1alpha1
import
(
conversion
"k8s.io/apimachinery/pkg/conversion"
runtime
"k8s.io/apimachinery/pkg/runtime"
config
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config"
configv1alpha1
"k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1"
serviceconfigv1alpha1
"k8s.io/kubernetes/pkg/controller/service/config/v1alpha1"
)
func
init
()
{
localSchemeBuilder
.
Register
(
RegisterConversions
)
}
// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func
RegisterConversions
(
s
*
runtime
.
Scheme
)
error
{
if
err
:=
s
.
AddGeneratedConversionFunc
((
*
CloudControllerManagerConfiguration
)(
nil
),
(
*
config
.
CloudControllerManagerConfiguration
)(
nil
),
func
(
a
,
b
interface
{},
scope
conversion
.
Scope
)
error
{
return
Convert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration
(
a
.
(
*
CloudControllerManagerConfiguration
),
b
.
(
*
config
.
CloudControllerManagerConfiguration
),
scope
)
});
err
!=
nil
{
return
err
}
if
err
:=
s
.
AddGeneratedConversionFunc
((
*
config
.
CloudControllerManagerConfiguration
)(
nil
),
(
*
CloudControllerManagerConfiguration
)(
nil
),
func
(
a
,
b
interface
{},
scope
conversion
.
Scope
)
error
{
return
Convert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration
(
a
.
(
*
config
.
CloudControllerManagerConfiguration
),
b
.
(
*
CloudControllerManagerConfiguration
),
scope
)
});
err
!=
nil
{
return
err
}
return
nil
}
func
autoConvert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration
(
in
*
CloudControllerManagerConfiguration
,
out
*
config
.
CloudControllerManagerConfiguration
,
s
conversion
.
Scope
)
error
{
if
err
:=
configv1alpha1
.
Convert_v1alpha1_GenericControllerManagerConfiguration_To_config_GenericControllerManagerConfiguration
(
&
in
.
Generic
,
&
out
.
Generic
,
s
);
err
!=
nil
{
return
err
}
if
err
:=
configv1alpha1
.
Convert_v1alpha1_KubeCloudSharedConfiguration_To_config_KubeCloudSharedConfiguration
(
&
in
.
KubeCloudShared
,
&
out
.
KubeCloudShared
,
s
);
err
!=
nil
{
return
err
}
if
err
:=
serviceconfigv1alpha1
.
Convert_v1alpha1_ServiceControllerConfiguration_To_config_ServiceControllerConfiguration
(
&
in
.
ServiceController
,
&
out
.
ServiceController
,
s
);
err
!=
nil
{
return
err
}
out
.
NodeStatusUpdateFrequency
=
in
.
NodeStatusUpdateFrequency
return
nil
}
// Convert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration is an autogenerated conversion function.
func
Convert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration
(
in
*
CloudControllerManagerConfiguration
,
out
*
config
.
CloudControllerManagerConfiguration
,
s
conversion
.
Scope
)
error
{
return
autoConvert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration
(
in
,
out
,
s
)
}
func
autoConvert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration
(
in
*
config
.
CloudControllerManagerConfiguration
,
out
*
CloudControllerManagerConfiguration
,
s
conversion
.
Scope
)
error
{
if
err
:=
configv1alpha1
.
Convert_config_GenericControllerManagerConfiguration_To_v1alpha1_GenericControllerManagerConfiguration
(
&
in
.
Generic
,
&
out
.
Generic
,
s
);
err
!=
nil
{
return
err
}
if
err
:=
configv1alpha1
.
Convert_config_KubeCloudSharedConfiguration_To_v1alpha1_KubeCloudSharedConfiguration
(
&
in
.
KubeCloudShared
,
&
out
.
KubeCloudShared
,
s
);
err
!=
nil
{
return
err
}
if
err
:=
serviceconfigv1alpha1
.
Convert_config_ServiceControllerConfiguration_To_v1alpha1_ServiceControllerConfiguration
(
&
in
.
ServiceController
,
&
out
.
ServiceController
,
s
);
err
!=
nil
{
return
err
}
out
.
NodeStatusUpdateFrequency
=
in
.
NodeStatusUpdateFrequency
return
nil
}
// Convert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration is an autogenerated conversion function.
func
Convert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration
(
in
*
config
.
CloudControllerManagerConfiguration
,
out
*
CloudControllerManagerConfiguration
,
s
conversion
.
Scope
)
error
{
return
autoConvert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration
(
in
,
out
,
s
)
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.deepcopy.go
0 → 100644
View file @
9961b1a6
// +build !ignore_autogenerated
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by deepcopy-gen. DO NOT EDIT.
package
v1alpha1
import
(
runtime
"k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func
(
in
*
CloudControllerManagerConfiguration
)
DeepCopyInto
(
out
*
CloudControllerManagerConfiguration
)
{
*
out
=
*
in
out
.
TypeMeta
=
in
.
TypeMeta
in
.
Generic
.
DeepCopyInto
(
&
out
.
Generic
)
in
.
KubeCloudShared
.
DeepCopyInto
(
&
out
.
KubeCloudShared
)
out
.
ServiceController
=
in
.
ServiceController
out
.
NodeStatusUpdateFrequency
=
in
.
NodeStatusUpdateFrequency
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudControllerManagerConfiguration.
func
(
in
*
CloudControllerManagerConfiguration
)
DeepCopy
()
*
CloudControllerManagerConfiguration
{
if
in
==
nil
{
return
nil
}
out
:=
new
(
CloudControllerManagerConfiguration
)
in
.
DeepCopyInto
(
out
)
return
out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func
(
in
*
CloudControllerManagerConfiguration
)
DeepCopyObject
()
runtime
.
Object
{
if
c
:=
in
.
DeepCopy
();
c
!=
nil
{
return
c
}
return
nil
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.defaults.go
0 → 100644
View file @
9961b1a6
// +build !ignore_autogenerated
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by defaulter-gen. DO NOT EDIT.
package
v1alpha1
import
(
runtime
"k8s.io/apimachinery/pkg/runtime"
configv1alpha1
"k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1"
)
// RegisterDefaults adds defaulters functions to the given scheme.
// Public to allow building arbitrary schemes.
// All generated defaulters are covering - they call all nested defaulters.
func
RegisterDefaults
(
scheme
*
runtime
.
Scheme
)
error
{
scheme
.
AddTypeDefaultingFunc
(
&
CloudControllerManagerConfiguration
{},
func
(
obj
interface
{})
{
SetObjectDefaults_CloudControllerManagerConfiguration
(
obj
.
(
*
CloudControllerManagerConfiguration
))
})
return
nil
}
func
SetObjectDefaults_CloudControllerManagerConfiguration
(
in
*
CloudControllerManagerConfiguration
)
{
SetDefaults_CloudControllerManagerConfiguration
(
in
)
configv1alpha1
.
SetDefaults_KubeCloudSharedConfiguration
(
&
in
.
KubeCloudShared
)
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/zz_generated.deepcopy.go
0 → 100644
View file @
9961b1a6
// +build !ignore_autogenerated
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by deepcopy-gen. DO NOT EDIT.
package
config
import
(
runtime
"k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func
(
in
*
CloudControllerManagerConfiguration
)
DeepCopyInto
(
out
*
CloudControllerManagerConfiguration
)
{
*
out
=
*
in
out
.
TypeMeta
=
in
.
TypeMeta
in
.
Generic
.
DeepCopyInto
(
&
out
.
Generic
)
out
.
KubeCloudShared
=
in
.
KubeCloudShared
out
.
ServiceController
=
in
.
ServiceController
out
.
NodeStatusUpdateFrequency
=
in
.
NodeStatusUpdateFrequency
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudControllerManagerConfiguration.
func
(
in
*
CloudControllerManagerConfiguration
)
DeepCopy
()
*
CloudControllerManagerConfiguration
{
if
in
==
nil
{
return
nil
}
out
:=
new
(
CloudControllerManagerConfiguration
)
in
.
DeepCopyInto
(
out
)
return
out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func
(
in
*
CloudControllerManagerConfiguration
)
DeepCopyObject
()
runtime
.
Object
{
if
c
:=
in
.
DeepCopy
();
c
!=
nil
{
return
c
}
return
nil
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/config/BUILD
0 → 100644
View file @
9961b1a6
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["config.go"],
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/config",
visibility = ["//visibility:public"],
deps = [
"//cmd/cloud-controller-manager/app/apis/config:go_default_library",
"//pkg/controller:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
"//staging/src/k8s.io/client-go/informers:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//staging/src/k8s.io/client-go/rest:go_default_library",
"//staging/src/k8s.io/client-go/tools/record: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"],
)
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/config/config.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
app
import
(
apiserver
"k8s.io/apiserver/pkg/server"
"k8s.io/client-go/informers"
clientset
"k8s.io/client-go/kubernetes"
restclient
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/record"
ccmconfig
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config"
"k8s.io/kubernetes/pkg/controller"
)
// Config is the main context object for the cloud controller manager.
type
Config
struct
{
ComponentConfig
ccmconfig
.
CloudControllerManagerConfiguration
SecureServing
*
apiserver
.
SecureServingInfo
// LoopbackClientConfig is a config for a privileged loopback connection
LoopbackClientConfig
*
restclient
.
Config
// TODO: remove deprecated insecure serving
InsecureServing
*
apiserver
.
DeprecatedInsecureServingInfo
Authentication
apiserver
.
AuthenticationInfo
Authorization
apiserver
.
AuthorizationInfo
// the general kube client
Client
*
clientset
.
Clientset
// the client only used for leader election
LeaderElectionClient
*
clientset
.
Clientset
// the rest config for the master
Kubeconfig
*
restclient
.
Config
// the event sink
EventRecorder
record
.
EventRecorder
// ClientBuilder will provide a client for this controller to use
ClientBuilder
controller
.
ControllerClientBuilder
// VersionedClient will provide a client for informers
VersionedClient
clientset
.
Interface
// SharedInformers gives access to informers for the controller.
SharedInformers
informers
.
SharedInformerFactory
}
type
completedConfig
struct
{
*
Config
}
// CompletedConfig same as Config, just to swap private object.
type
CompletedConfig
struct
{
// Embed a private pointer that cannot be instantiated outside of this package.
*
completedConfig
}
// Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.
func
(
c
*
Config
)
Complete
()
*
CompletedConfig
{
cc
:=
completedConfig
{
c
}
apiserver
.
AuthorizeClientBearerToken
(
c
.
LoopbackClientConfig
,
&
c
.
Authentication
,
&
c
.
Authorization
)
return
&
CompletedConfig
{
&
cc
}
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/controllermanager.go
0 → 100644
View file @
9961b1a6
This diff is collapsed.
Click to expand it.
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/core.go
0 → 100644
View file @
9961b1a6
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Package app implements a server that runs a set of active
// components. This includes node controllers, service and
// route controller, and so on.
//
package
app
import
(
"fmt"
"net"
"net/http"
"strings"
cloudprovider
"k8s.io/cloud-provider"
"k8s.io/klog"
cloudcontrollerconfig
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/config"
cloudcontrollers
"k8s.io/kubernetes/pkg/controller/cloud"
routecontroller
"k8s.io/kubernetes/pkg/controller/route"
servicecontroller
"k8s.io/kubernetes/pkg/controller/service"
netutils
"k8s.io/utils/net"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
kubefeatures
"k8s.io/kubernetes/pkg/features"
)
func
startCloudNodeController
(
ctx
*
cloudcontrollerconfig
.
CompletedConfig
,
cloud
cloudprovider
.
Interface
,
stopCh
<-
chan
struct
{})
(
http
.
Handler
,
bool
,
error
)
{
// Start the CloudNodeController
nodeController
:=
cloudcontrollers
.
NewCloudNodeController
(
ctx
.
SharedInformers
.
Core
()
.
V1
()
.
Nodes
(),
// cloud node controller uses existing cluster role from node-controller
ctx
.
ClientBuilder
.
ClientOrDie
(
"node-controller"
),
cloud
,
ctx
.
ComponentConfig
.
NodeStatusUpdateFrequency
.
Duration
)
go
nodeController
.
Run
(
stopCh
)
return
nil
,
true
,
nil
}
func
startCloudNodeLifecycleController
(
ctx
*
cloudcontrollerconfig
.
CompletedConfig
,
cloud
cloudprovider
.
Interface
,
stopCh
<-
chan
struct
{})
(
http
.
Handler
,
bool
,
error
)
{
// Start the cloudNodeLifecycleController
cloudNodeLifecycleController
,
err
:=
cloudcontrollers
.
NewCloudNodeLifecycleController
(
ctx
.
SharedInformers
.
Core
()
.
V1
()
.
Nodes
(),
// cloud node lifecycle controller uses existing cluster role from node-controller
ctx
.
ClientBuilder
.
ClientOrDie
(
"node-controller"
),
cloud
,
ctx
.
ComponentConfig
.
KubeCloudShared
.
NodeMonitorPeriod
.
Duration
,
)
if
err
!=
nil
{
klog
.
Warningf
(
"failed to start cloud node lifecycle controller: %s"
,
err
)
return
nil
,
false
,
nil
}
go
cloudNodeLifecycleController
.
Run
(
stopCh
)
return
nil
,
true
,
nil
}
func
startServiceController
(
ctx
*
cloudcontrollerconfig
.
CompletedConfig
,
cloud
cloudprovider
.
Interface
,
stopCh
<-
chan
struct
{})
(
http
.
Handler
,
bool
,
error
)
{
// Start the service controller
serviceController
,
err
:=
servicecontroller
.
New
(
cloud
,
ctx
.
ClientBuilder
.
ClientOrDie
(
"service-controller"
),
ctx
.
SharedInformers
.
Core
()
.
V1
()
.
Services
(),
ctx
.
SharedInformers
.
Core
()
.
V1
()
.
Nodes
(),
ctx
.
ComponentConfig
.
KubeCloudShared
.
ClusterName
,
)
if
err
!=
nil
{
// This error shouldn't fail. It lives like this as a legacy.
klog
.
Errorf
(
"Failed to start service controller: %v"
,
err
)
return
nil
,
false
,
nil
}
go
serviceController
.
Run
(
stopCh
,
int
(
ctx
.
ComponentConfig
.
ServiceController
.
ConcurrentServiceSyncs
))
return
nil
,
true
,
nil
}
func
startRouteController
(
ctx
*
cloudcontrollerconfig
.
CompletedConfig
,
cloud
cloudprovider
.
Interface
,
stopCh
<-
chan
struct
{})
(
http
.
Handler
,
bool
,
error
)
{
if
!
ctx
.
ComponentConfig
.
KubeCloudShared
.
AllocateNodeCIDRs
||
!
ctx
.
ComponentConfig
.
KubeCloudShared
.
ConfigureCloudRoutes
{
klog
.
Infof
(
"Will not configure cloud provider routes for allocate-node-cidrs: %v, configure-cloud-routes: %v."
,
ctx
.
ComponentConfig
.
KubeCloudShared
.
AllocateNodeCIDRs
,
ctx
.
ComponentConfig
.
KubeCloudShared
.
ConfigureCloudRoutes
)
return
nil
,
false
,
nil
}
// If CIDRs should be allocated for pods and set on the CloudProvider, then start the route controller
routes
,
ok
:=
cloud
.
Routes
()
if
!
ok
{
klog
.
Warning
(
"configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes."
)
return
nil
,
false
,
nil
}
// failure: bad cidrs in config
clusterCIDRs
,
dualStack
,
err
:=
processCIDRs
(
ctx
.
ComponentConfig
.
KubeCloudShared
.
ClusterCIDR
)
if
err
!=
nil
{
return
nil
,
false
,
err
}
// failure: more than one cidr and dual stack is not enabled
if
len
(
clusterCIDRs
)
>
1
&&
!
utilfeature
.
DefaultFeatureGate
.
Enabled
(
kubefeatures
.
IPv6DualStack
)
{
return
nil
,
false
,
fmt
.
Errorf
(
"len of ClusterCIDRs==%v and dualstack feature is not enabled"
,
len
(
clusterCIDRs
))
}
// failure: more than one cidr but they are not configured as dual stack
if
len
(
clusterCIDRs
)
>
1
&&
!
dualStack
{
return
nil
,
false
,
fmt
.
Errorf
(
"len of ClusterCIDRs==%v and they are not configured as dual stack (at least one from each IPFamily"
,
len
(
clusterCIDRs
))
}
// failure: more than cidrs is not allowed even with dual stack
if
len
(
clusterCIDRs
)
>
2
{
return
nil
,
false
,
fmt
.
Errorf
(
"length of clusterCIDRs is:%v more than max allowed of 2"
,
len
(
clusterCIDRs
))
}
routeController
:=
routecontroller
.
New
(
routes
,
ctx
.
ClientBuilder
.
ClientOrDie
(
"route-controller"
),
ctx
.
SharedInformers
.
Core
()
.
V1
()
.
Nodes
(),
ctx
.
ComponentConfig
.
KubeCloudShared
.
ClusterName
,
clusterCIDRs
,
)
go
routeController
.
Run
(
stopCh
,
ctx
.
ComponentConfig
.
KubeCloudShared
.
RouteReconciliationPeriod
.
Duration
)
return
nil
,
true
,
nil
}
// processCIDRs is a helper function that works on a comma separated cidrs and returns
// a list of typed cidrs
// a flag if cidrs represents a dual stack
// error if failed to parse any of the cidrs
func
processCIDRs
(
cidrsList
string
)
([]
*
net
.
IPNet
,
bool
,
error
)
{
cidrsSplit
:=
strings
.
Split
(
strings
.
TrimSpace
(
cidrsList
),
","
)
cidrs
,
err
:=
netutils
.
ParseCIDRs
(
cidrsSplit
)
if
err
!=
nil
{
return
nil
,
false
,
err
}
// if cidrs has an error then the previous call will fail
// safe to ignore error checking on next call
dualstack
,
_
:=
netutils
.
IsDualStackCIDRs
(
cidrs
)
return
cidrs
,
dualstack
,
nil
}
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/options/BUILD
0 → 100644
View file @
9961b1a6
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
"go_test",
)
go_library(
name = "go_default_library",
srcs = ["options.go"],
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/options",
deps = [
"//cmd/cloud-controller-manager/app/apis/config:go_default_library",
"//cmd/cloud-controller-manager/app/apis/config/scheme:go_default_library",
"//cmd/cloud-controller-manager/app/apis/config/v1alpha1:go_default_library",
"//cmd/cloud-controller-manager/app/config:go_default_library",
"//cmd/controller-manager/app/options:go_default_library",
"//pkg/api/legacyscheme:go_default_library",
"//pkg/controller:go_default_library",
"//pkg/features:go_default_library",
"//pkg/master/ports: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/util/errors:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//staging/src/k8s.io/client-go/informers:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
"//staging/src/k8s.io/client-go/rest:go_default_library",
"//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library",
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
go_test(
name = "go_default_test",
srcs = ["options_test.go"],
embed = [":go_default_library"],
deps = [
"//cmd/controller-manager/app/options:go_default_library",
"//pkg/controller/apis/config:go_default_library",
"//pkg/controller/service/config:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
"//staging/src/k8s.io/component-base/config:go_default_library",
"//vendor/github.com/spf13/pflag:go_default_library",
],
)
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/options/options.go
0 → 100644
View file @
9961b1a6
This diff is collapsed.
Click to expand it.
vendor/modules.txt
View file @
9961b1a6
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment