mirror of https://github.com/k3s-io/k3s
Merge pull request #72569 from luxas/component_base_init
Create the k8s.io/component-base staging repopull/564/head
commit
1b28775db1
|
@ -21,8 +21,7 @@ limitations under the License.
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
// +k8s:conversion-gen=k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
|
// +k8s:conversion-gen=k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
|
||||||
// +k8s:conversion-gen=k8s.io/apimachinery/pkg/apis/config/v1alpha1
|
// +k8s:conversion-gen=k8s.io/component-base/config/v1alpha1
|
||||||
// +k8s:conversion-gen=k8s.io/apiserver/pkg/apis/config/v1alpha1
|
|
||||||
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1
|
||||||
// +k8s:openapi-gen=true
|
// +k8s:openapi-gen=true
|
||||||
// +k8s:defaulter-gen=TypeMeta
|
// +k8s:defaulter-gen=TypeMeta
|
||||||
|
|
|
@ -55,11 +55,10 @@ go_test(
|
||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
deps = [
|
deps = [
|
||||||
"//cmd/controller-manager/app/options:go_default_library",
|
"//cmd/controller-manager/app/options:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1: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/apimachinery/pkg/util/diff:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/server/options: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/github.com/spf13/pflag:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -24,11 +24,10 @@ import (
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/diff"
|
"k8s.io/apimachinery/pkg/util/diff"
|
||||||
apiserverconfig "k8s.io/apiserver/pkg/apis/config"
|
|
||||||
apiserveroptions "k8s.io/apiserver/pkg/server/options"
|
apiserveroptions "k8s.io/apiserver/pkg/server/options"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
cmoptions "k8s.io/kubernetes/cmd/controller-manager/app/options"
|
cmoptions "k8s.io/kubernetes/cmd/controller-manager/app/options"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -40,13 +39,13 @@ func TestDefaultFlags(t *testing.T) {
|
||||||
Port: DefaultInsecureCloudControllerManagerPort, // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
Port: DefaultInsecureCloudControllerManagerPort, // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
||||||
Address: "0.0.0.0", // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
Address: "0.0.0.0", // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
||||||
MinResyncPeriod: metav1.Duration{Duration: 12 * time.Hour},
|
MinResyncPeriod: metav1.Duration{Duration: 12 * time.Hour},
|
||||||
ClientConnection: apimachineryconfig.ClientConnectionConfiguration{
|
ClientConnection: componentbaseconfig.ClientConnectionConfiguration{
|
||||||
ContentType: "application/vnd.kubernetes.protobuf",
|
ContentType: "application/vnd.kubernetes.protobuf",
|
||||||
QPS: 20.0,
|
QPS: 20.0,
|
||||||
Burst: 30,
|
Burst: 30,
|
||||||
},
|
},
|
||||||
ControllerStartInterval: metav1.Duration{Duration: 0},
|
ControllerStartInterval: metav1.Duration{Duration: 0},
|
||||||
LeaderElection: apiserverconfig.LeaderElectionConfiguration{
|
LeaderElection: componentbaseconfig.LeaderElectionConfiguration{
|
||||||
ResourceLock: "endpoints",
|
ResourceLock: "endpoints",
|
||||||
LeaderElect: true,
|
LeaderElect: true,
|
||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
|
@ -158,13 +157,13 @@ func TestAddFlags(t *testing.T) {
|
||||||
Port: DefaultInsecureCloudControllerManagerPort, // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
Port: DefaultInsecureCloudControllerManagerPort, // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
||||||
Address: "0.0.0.0", // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
Address: "0.0.0.0", // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
||||||
MinResyncPeriod: metav1.Duration{Duration: 100 * time.Minute},
|
MinResyncPeriod: metav1.Duration{Duration: 100 * time.Minute},
|
||||||
ClientConnection: apimachineryconfig.ClientConnectionConfiguration{
|
ClientConnection: componentbaseconfig.ClientConnectionConfiguration{
|
||||||
ContentType: "application/vnd.kubernetes.protobuf",
|
ContentType: "application/vnd.kubernetes.protobuf",
|
||||||
QPS: 50.0,
|
QPS: 50.0,
|
||||||
Burst: 100,
|
Burst: 100,
|
||||||
},
|
},
|
||||||
ControllerStartInterval: metav1.Duration{Duration: 2 * time.Minute},
|
ControllerStartInterval: metav1.Duration{Duration: 2 * time.Minute},
|
||||||
LeaderElection: apiserverconfig.LeaderElectionConfiguration{
|
LeaderElection: componentbaseconfig.LeaderElectionConfiguration{
|
||||||
ResourceLock: "configmap",
|
ResourceLock: "configmap",
|
||||||
LeaderElect: false,
|
LeaderElect: false,
|
||||||
LeaseDuration: metav1.Duration{Duration: 30 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 30 * time.Second},
|
||||||
|
|
|
@ -12,7 +12,6 @@ go_library(
|
||||||
"//pkg/api/legacyscheme:go_default_library",
|
"//pkg/api/legacyscheme:go_default_library",
|
||||||
"//pkg/util/configz:go_default_library",
|
"//pkg/util/configz:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/endpoints/filters:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/endpoints/filters:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/endpoints/request:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/endpoints/request:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
|
||||||
|
@ -21,6 +20,7 @@ go_library(
|
||||||
"//staging/src/k8s.io/apiserver/pkg/server/mux:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/server/mux:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/server/routes:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/server/routes:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
|
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
|
||||||
"//vendor/k8s.io/klog:go_default_library",
|
"//vendor/k8s.io/klog:go_default_library",
|
||||||
],
|
],
|
||||||
|
|
|
@ -16,12 +16,11 @@ go_library(
|
||||||
"//pkg/client/leaderelectionconfig:go_default_library",
|
"//pkg/client/leaderelectionconfig:go_default_library",
|
||||||
"//pkg/cloudprovider/providers:go_default_library",
|
"//pkg/cloudprovider/providers:go_default_library",
|
||||||
"//pkg/controller/apis/config:go_default_library",
|
"//pkg/controller/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/util/flag:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/util/flag:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/util/globalflag:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/util/globalflag:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
"//vendor/github.com/spf13/pflag:go_default_library",
|
"//vendor/github.com/spf13/pflag:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -19,7 +19,7 @@ package options
|
||||||
import (
|
import (
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
|
||||||
apiserverconfig "k8s.io/apiserver/pkg/apis/config"
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DebuggingOptions holds the Debugging options.
|
// DebuggingOptions holds the Debugging options.
|
||||||
|
@ -41,7 +41,7 @@ func (o *DebuggingOptions) AddFlags(fs *pflag.FlagSet) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// ApplyTo fills up Debugging config with options.
|
// ApplyTo fills up Debugging config with options.
|
||||||
func (o *DebuggingOptions) ApplyTo(cfg *apiserverconfig.DebuggingConfiguration) error {
|
func (o *DebuggingOptions) ApplyTo(cfg *componentbaseconfig.DebuggingConfiguration) error {
|
||||||
if o == nil {
|
if o == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,11 +20,10 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
apiserverconfig "k8s.io/apiserver/pkg/apis/config"
|
|
||||||
apiserverflag "k8s.io/apiserver/pkg/util/flag"
|
apiserverflag "k8s.io/apiserver/pkg/util/flag"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
"k8s.io/kubernetes/pkg/client/leaderelectionconfig"
|
"k8s.io/kubernetes/pkg/client/leaderelectionconfig"
|
||||||
kubectrlmgrconfig "k8s.io/kubernetes/pkg/controller/apis/config"
|
kubectrlmgrconfig "k8s.io/kubernetes/pkg/controller/apis/config"
|
||||||
)
|
)
|
||||||
|
@ -34,9 +33,9 @@ type GenericControllerManagerConfigurationOptions struct {
|
||||||
Port int32
|
Port int32
|
||||||
Address string
|
Address string
|
||||||
MinResyncPeriod metav1.Duration
|
MinResyncPeriod metav1.Duration
|
||||||
ClientConnection apimachineryconfig.ClientConnectionConfiguration
|
ClientConnection componentbaseconfig.ClientConnectionConfiguration
|
||||||
ControllerStartInterval metav1.Duration
|
ControllerStartInterval metav1.Duration
|
||||||
LeaderElection apiserverconfig.LeaderElectionConfiguration
|
LeaderElection componentbaseconfig.LeaderElectionConfiguration
|
||||||
Debugging *DebuggingOptions
|
Debugging *DebuggingOptions
|
||||||
Controllers []string
|
Controllers []string
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,6 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
goruntime "runtime"
|
goruntime "runtime"
|
||||||
|
|
||||||
apiserverconfig "k8s.io/apiserver/pkg/apis/config"
|
|
||||||
genericapifilters "k8s.io/apiserver/pkg/endpoints/filters"
|
genericapifilters "k8s.io/apiserver/pkg/endpoints/filters"
|
||||||
apirequest "k8s.io/apiserver/pkg/endpoints/request"
|
apirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
apiserver "k8s.io/apiserver/pkg/server"
|
apiserver "k8s.io/apiserver/pkg/server"
|
||||||
|
@ -29,6 +28,7 @@ import (
|
||||||
"k8s.io/apiserver/pkg/server/healthz"
|
"k8s.io/apiserver/pkg/server/healthz"
|
||||||
"k8s.io/apiserver/pkg/server/mux"
|
"k8s.io/apiserver/pkg/server/mux"
|
||||||
"k8s.io/apiserver/pkg/server/routes"
|
"k8s.io/apiserver/pkg/server/routes"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
||||||
"k8s.io/kubernetes/pkg/util/configz"
|
"k8s.io/kubernetes/pkg/util/configz"
|
||||||
)
|
)
|
||||||
|
@ -52,7 +52,7 @@ func BuildHandlerChain(apiHandler http.Handler, authorizationInfo *apiserver.Aut
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewBaseHandler takes in CompletedConfig and returns a handler.
|
// NewBaseHandler takes in CompletedConfig and returns a handler.
|
||||||
func NewBaseHandler(c *apiserverconfig.DebuggingConfiguration, checks ...healthz.HealthzChecker) *mux.PathRecorderMux {
|
func NewBaseHandler(c *componentbaseconfig.DebuggingConfiguration, checks ...healthz.HealthzChecker) *mux.PathRecorderMux {
|
||||||
mux := mux.NewPathRecorderMux("controller-manager")
|
mux := mux.NewPathRecorderMux("controller-manager")
|
||||||
healthz.InstallHandler(mux, checks...)
|
healthz.InstallHandler(mux, checks...)
|
||||||
if c.EnableProfiling {
|
if c.EnableProfiling {
|
||||||
|
|
|
@ -78,11 +78,10 @@ go_test(
|
||||||
deps = [
|
deps = [
|
||||||
"//cmd/controller-manager/app/options:go_default_library",
|
"//cmd/controller-manager/app/options:go_default_library",
|
||||||
"//pkg/controller/apis/config:go_default_library",
|
"//pkg/controller/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1: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/apimachinery/pkg/util/diff:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/server/options: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/github.com/spf13/pflag:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -25,11 +25,10 @@ import (
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/diff"
|
"k8s.io/apimachinery/pkg/util/diff"
|
||||||
apiserverconfig "k8s.io/apiserver/pkg/apis/config"
|
|
||||||
apiserveroptions "k8s.io/apiserver/pkg/server/options"
|
apiserveroptions "k8s.io/apiserver/pkg/server/options"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
cmoptions "k8s.io/kubernetes/cmd/controller-manager/app/options"
|
cmoptions "k8s.io/kubernetes/cmd/controller-manager/app/options"
|
||||||
kubectrlmgrconfig "k8s.io/kubernetes/pkg/controller/apis/config"
|
kubectrlmgrconfig "k8s.io/kubernetes/pkg/controller/apis/config"
|
||||||
)
|
)
|
||||||
|
@ -128,13 +127,13 @@ func TestAddFlags(t *testing.T) {
|
||||||
Port: 10252, // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
Port: 10252, // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
||||||
Address: "0.0.0.0", // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
Address: "0.0.0.0", // Note: InsecureServingOptions.ApplyTo will write the flag value back into the component config
|
||||||
MinResyncPeriod: metav1.Duration{Duration: 8 * time.Hour},
|
MinResyncPeriod: metav1.Duration{Duration: 8 * time.Hour},
|
||||||
ClientConnection: apimachineryconfig.ClientConnectionConfiguration{
|
ClientConnection: componentbaseconfig.ClientConnectionConfiguration{
|
||||||
ContentType: "application/json",
|
ContentType: "application/json",
|
||||||
QPS: 50.0,
|
QPS: 50.0,
|
||||||
Burst: 100,
|
Burst: 100,
|
||||||
},
|
},
|
||||||
ControllerStartInterval: metav1.Duration{Duration: 2 * time.Minute},
|
ControllerStartInterval: metav1.Duration{Duration: 2 * time.Minute},
|
||||||
LeaderElection: apiserverconfig.LeaderElectionConfiguration{
|
LeaderElection: componentbaseconfig.LeaderElectionConfiguration{
|
||||||
ResourceLock: "configmap",
|
ResourceLock: "configmap",
|
||||||
LeaderElect: false,
|
LeaderElect: false,
|
||||||
LeaseDuration: metav1.Duration{Duration: 30 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 30 * time.Second},
|
||||||
|
|
|
@ -42,7 +42,6 @@ go_library(
|
||||||
"//pkg/version:go_default_library",
|
"//pkg/version:go_default_library",
|
||||||
"//pkg/version/verflag:go_default_library",
|
"//pkg/version/verflag:go_default_library",
|
||||||
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/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/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
||||||
|
@ -61,6 +60,7 @@ go_library(
|
||||||
"//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library",
|
"//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/tools/clientcmd/api:go_default_library",
|
"//staging/src/k8s.io/client-go/tools/clientcmd/api:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
"//staging/src/k8s.io/kube-proxy/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/kube-proxy/config/v1alpha1:go_default_library",
|
||||||
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
|
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
|
||||||
"//vendor/github.com/spf13/cobra:go_default_library",
|
"//vendor/github.com/spf13/cobra:go_default_library",
|
||||||
|
@ -163,9 +163,9 @@ go_test(
|
||||||
"//pkg/apis/core:go_default_library",
|
"//pkg/apis/core:go_default_library",
|
||||||
"//pkg/proxy/apis/config:go_default_library",
|
"//pkg/proxy/apis/config:go_default_library",
|
||||||
"//pkg/util/configz:go_default_library",
|
"//pkg/util/configz:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1: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/apimachinery/pkg/util/diff:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
||||||
"//vendor/k8s.io/utils/pointer:go_default_library",
|
"//vendor/k8s.io/utils/pointer:go_default_library",
|
||||||
] + select({
|
] + select({
|
||||||
|
|
|
@ -28,8 +28,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
v1meta "k8s.io/apimachinery/pkg/apis/meta/v1"
|
v1meta "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
|
@ -48,6 +47,7 @@ import (
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
"k8s.io/client-go/tools/record"
|
"k8s.io/client-go/tools/record"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
"k8s.io/kube-proxy/config/v1alpha1"
|
"k8s.io/kube-proxy/config/v1alpha1"
|
||||||
api "k8s.io/kubernetes/pkg/apis/core"
|
api "k8s.io/kubernetes/pkg/apis/core"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/qos"
|
"k8s.io/kubernetes/pkg/kubelet/qos"
|
||||||
|
@ -422,7 +422,7 @@ type ProxyServer struct {
|
||||||
|
|
||||||
// createClients creates a kube client and an event client from the given config and masterOverride.
|
// createClients creates a kube client and an event client from the given config and masterOverride.
|
||||||
// TODO remove masterOverride when CLI flags are removed.
|
// TODO remove masterOverride when CLI flags are removed.
|
||||||
func createClients(config apimachineryconfig.ClientConnectionConfiguration, masterOverride string) (clientset.Interface, v1core.EventsGetter, error) {
|
func createClients(config componentbaseconfig.ClientConnectionConfiguration, masterOverride string) (clientset.Interface, v1core.EventsGetter, error) {
|
||||||
var kubeConfig *rest.Config
|
var kubeConfig *rest.Config
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
|
|
|
@ -26,9 +26,9 @@ import (
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/diff"
|
"k8s.io/apimachinery/pkg/util/diff"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
api "k8s.io/kubernetes/pkg/apis/core"
|
api "k8s.io/kubernetes/pkg/apis/core"
|
||||||
kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config"
|
kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config"
|
||||||
"k8s.io/kubernetes/pkg/util/configz"
|
"k8s.io/kubernetes/pkg/util/configz"
|
||||||
|
@ -289,7 +289,7 @@ nodePortAddresses:
|
||||||
}
|
}
|
||||||
expected := &kubeproxyconfig.KubeProxyConfiguration{
|
expected := &kubeproxyconfig.KubeProxyConfiguration{
|
||||||
BindAddress: expBindAddr,
|
BindAddress: expBindAddr,
|
||||||
ClientConnection: apimachineryconfig.ClientConnectionConfiguration{
|
ClientConnection: componentbaseconfig.ClientConnectionConfiguration{
|
||||||
AcceptContentTypes: "abc",
|
AcceptContentTypes: "abc",
|
||||||
Burst: 100,
|
Burst: 100,
|
||||||
ContentType: "content-type",
|
ContentType: "content-type",
|
||||||
|
|
|
@ -21,7 +21,6 @@ go_library(
|
||||||
"//pkg/scheduler/apis/config/validation:go_default_library",
|
"//pkg/scheduler/apis/config/validation:go_default_library",
|
||||||
"//pkg/scheduler/factory:go_default_library",
|
"//pkg/scheduler/factory:go_default_library",
|
||||||
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/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/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json:go_default_library",
|
||||||
|
@ -39,6 +38,7 @@ go_library(
|
||||||
"//staging/src/k8s.io/client-go/tools/leaderelection: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/client-go/tools/leaderelection/resourcelock:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
"//staging/src/k8s.io/kube-scheduler/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/kube-scheduler/config/v1alpha1:go_default_library",
|
||||||
"//vendor/github.com/spf13/pflag:go_default_library",
|
"//vendor/github.com/spf13/pflag:go_default_library",
|
||||||
"//vendor/k8s.io/klog:go_default_library",
|
"//vendor/k8s.io/klog:go_default_library",
|
||||||
|
@ -70,11 +70,10 @@ go_test(
|
||||||
deps = [
|
deps = [
|
||||||
"//cmd/kube-scheduler/app/config:go_default_library",
|
"//cmd/kube-scheduler/app/config:go_default_library",
|
||||||
"//pkg/scheduler/apis/config:go_default_library",
|
"//pkg/scheduler/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1: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/apimachinery/pkg/util/diff:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -24,7 +24,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/uuid"
|
"k8s.io/apimachinery/pkg/util/uuid"
|
||||||
apiserveroptions "k8s.io/apiserver/pkg/server/options"
|
apiserveroptions "k8s.io/apiserver/pkg/server/options"
|
||||||
|
@ -39,6 +38,7 @@ import (
|
||||||
"k8s.io/client-go/tools/leaderelection"
|
"k8s.io/client-go/tools/leaderelection"
|
||||||
"k8s.io/client-go/tools/leaderelection/resourcelock"
|
"k8s.io/client-go/tools/leaderelection/resourcelock"
|
||||||
"k8s.io/client-go/tools/record"
|
"k8s.io/client-go/tools/record"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
"k8s.io/klog"
|
"k8s.io/klog"
|
||||||
kubeschedulerconfigv1alpha1 "k8s.io/kube-scheduler/config/v1alpha1"
|
kubeschedulerconfigv1alpha1 "k8s.io/kube-scheduler/config/v1alpha1"
|
||||||
schedulerappconfig "k8s.io/kubernetes/cmd/kube-scheduler/app/config"
|
schedulerappconfig "k8s.io/kubernetes/cmd/kube-scheduler/app/config"
|
||||||
|
@ -294,7 +294,7 @@ func makeLeaderElectionConfig(config kubeschedulerconfig.KubeSchedulerLeaderElec
|
||||||
|
|
||||||
// createClients creates a kube client and an event client from the given config and masterOverride.
|
// createClients creates a kube client and an event client from the given config and masterOverride.
|
||||||
// TODO remove masterOverride when CLI flags are removed.
|
// TODO remove masterOverride when CLI flags are removed.
|
||||||
func createClients(config apimachineryconfig.ClientConnectionConfiguration, masterOverride string, timeout time.Duration) (clientset.Interface, clientset.Interface, v1core.EventsGetter, error) {
|
func createClients(config componentbaseconfig.ClientConnectionConfiguration, masterOverride string, timeout time.Duration) (clientset.Interface, clientset.Interface, v1core.EventsGetter, error) {
|
||||||
if len(config.Kubeconfig) == 0 && len(masterOverride) == 0 {
|
if len(config.Kubeconfig) == 0 && len(masterOverride) == 0 {
|
||||||
klog.Warningf("Neither --kubeconfig nor --master was specified. Using default API client. This might not work.")
|
klog.Warningf("Neither --kubeconfig nor --master was specified. Using default API client. This might not work.")
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,11 +28,10 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/diff"
|
"k8s.io/apimachinery/pkg/util/diff"
|
||||||
apiserverconfig "k8s.io/apiserver/pkg/apis/config"
|
|
||||||
apiserveroptions "k8s.io/apiserver/pkg/server/options"
|
apiserveroptions "k8s.io/apiserver/pkg/server/options"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config"
|
kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -209,7 +208,7 @@ users:
|
||||||
MetricsBindAddress: "0.0.0.0:10251",
|
MetricsBindAddress: "0.0.0.0:10251",
|
||||||
FailureDomains: "kubernetes.io/hostname,failure-domain.beta.kubernetes.io/zone,failure-domain.beta.kubernetes.io/region",
|
FailureDomains: "kubernetes.io/hostname,failure-domain.beta.kubernetes.io/zone,failure-domain.beta.kubernetes.io/region",
|
||||||
LeaderElection: kubeschedulerconfig.KubeSchedulerLeaderElectionConfiguration{
|
LeaderElection: kubeschedulerconfig.KubeSchedulerLeaderElectionConfiguration{
|
||||||
LeaderElectionConfiguration: apiserverconfig.LeaderElectionConfiguration{
|
LeaderElectionConfiguration: componentbaseconfig.LeaderElectionConfiguration{
|
||||||
LeaderElect: true,
|
LeaderElect: true,
|
||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
|
@ -219,7 +218,7 @@ users:
|
||||||
LockObjectNamespace: "kube-system",
|
LockObjectNamespace: "kube-system",
|
||||||
LockObjectName: "kube-scheduler",
|
LockObjectName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
ClientConnection: apimachineryconfig.ClientConnectionConfiguration{
|
ClientConnection: componentbaseconfig.ClientConnectionConfiguration{
|
||||||
Kubeconfig: configKubeconfig,
|
Kubeconfig: configKubeconfig,
|
||||||
QPS: 50,
|
QPS: 50,
|
||||||
Burst: 100,
|
Burst: 100,
|
||||||
|
@ -289,7 +288,7 @@ users:
|
||||||
MetricsBindAddress: "", // defaults empty when not running from config file
|
MetricsBindAddress: "", // defaults empty when not running from config file
|
||||||
FailureDomains: "kubernetes.io/hostname,failure-domain.beta.kubernetes.io/zone,failure-domain.beta.kubernetes.io/region",
|
FailureDomains: "kubernetes.io/hostname,failure-domain.beta.kubernetes.io/zone,failure-domain.beta.kubernetes.io/region",
|
||||||
LeaderElection: kubeschedulerconfig.KubeSchedulerLeaderElectionConfiguration{
|
LeaderElection: kubeschedulerconfig.KubeSchedulerLeaderElectionConfiguration{
|
||||||
LeaderElectionConfiguration: apiserverconfig.LeaderElectionConfiguration{
|
LeaderElectionConfiguration: componentbaseconfig.LeaderElectionConfiguration{
|
||||||
LeaderElect: true,
|
LeaderElect: true,
|
||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
|
@ -299,7 +298,7 @@ users:
|
||||||
LockObjectNamespace: "kube-system",
|
LockObjectNamespace: "kube-system",
|
||||||
LockObjectName: "kube-scheduler",
|
LockObjectName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
ClientConnection: apimachineryconfig.ClientConnectionConfiguration{
|
ClientConnection: componentbaseconfig.ClientConnectionConfiguration{
|
||||||
Kubeconfig: flagKubeconfig,
|
Kubeconfig: flagKubeconfig,
|
||||||
QPS: 50,
|
QPS: 50,
|
||||||
Burst: 100,
|
Burst: 100,
|
||||||
|
|
|
@ -475,7 +475,6 @@ staging/src/k8s.io/apimachinery/pkg/api/meta
|
||||||
staging/src/k8s.io/apimachinery/pkg/api/resource
|
staging/src/k8s.io/apimachinery/pkg/api/resource
|
||||||
staging/src/k8s.io/apimachinery/pkg/api/validation
|
staging/src/k8s.io/apimachinery/pkg/api/validation
|
||||||
staging/src/k8s.io/apimachinery/pkg/api/validation/path
|
staging/src/k8s.io/apimachinery/pkg/api/validation/path
|
||||||
staging/src/k8s.io/apimachinery/pkg/apis/config/v1alpha1
|
|
||||||
staging/src/k8s.io/apimachinery/pkg/apis/meta/fuzzer
|
staging/src/k8s.io/apimachinery/pkg/apis/meta/fuzzer
|
||||||
staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion
|
staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion
|
||||||
staging/src/k8s.io/apimachinery/pkg/apis/meta/v1
|
staging/src/k8s.io/apimachinery/pkg/apis/meta/v1
|
||||||
|
@ -532,7 +531,6 @@ staging/src/k8s.io/apiserver/pkg/apis/audit
|
||||||
staging/src/k8s.io/apiserver/pkg/apis/audit/v1
|
staging/src/k8s.io/apiserver/pkg/apis/audit/v1
|
||||||
staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1
|
staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1
|
||||||
staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1
|
staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1
|
||||||
staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1
|
|
||||||
staging/src/k8s.io/apiserver/pkg/apis/example
|
staging/src/k8s.io/apiserver/pkg/apis/example
|
||||||
staging/src/k8s.io/apiserver/pkg/apis/example/v1
|
staging/src/k8s.io/apiserver/pkg/apis/example/v1
|
||||||
staging/src/k8s.io/apiserver/pkg/apis/example2
|
staging/src/k8s.io/apiserver/pkg/apis/example2
|
||||||
|
@ -662,6 +660,7 @@ staging/src/k8s.io/code-generator/cmd/client-gen/types
|
||||||
staging/src/k8s.io/code-generator/cmd/conversion-gen/generators
|
staging/src/k8s.io/code-generator/cmd/conversion-gen/generators
|
||||||
staging/src/k8s.io/code-generator/cmd/go-to-protobuf/protobuf
|
staging/src/k8s.io/code-generator/cmd/go-to-protobuf/protobuf
|
||||||
staging/src/k8s.io/code-generator/cmd/lister-gen/generators
|
staging/src/k8s.io/code-generator/cmd/lister-gen/generators
|
||||||
|
staging/src/k8s.io/component-base/config/v1alpha1
|
||||||
staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration
|
staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration
|
||||||
staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
|
staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
|
||||||
staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1
|
staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1
|
||||||
|
|
|
@ -50,6 +50,13 @@
|
||||||
- k8s.io/kube-openapi
|
- k8s.io/kube-openapi
|
||||||
- k8s.io/klog
|
- k8s.io/klog
|
||||||
|
|
||||||
|
- baseImportPath: "./vendor/k8s.io/component-base/"
|
||||||
|
allowedImports:
|
||||||
|
- k8s.io/apimachinery
|
||||||
|
- k8s.io/component-base
|
||||||
|
- k8s.io/klog
|
||||||
|
- k8s.io/utils
|
||||||
|
|
||||||
- baseImportPath: "./vendor/k8s.io/client-go/"
|
- baseImportPath: "./vendor/k8s.io/client-go/"
|
||||||
allowedImports:
|
allowedImports:
|
||||||
- k8s.io/api
|
- k8s.io/api
|
||||||
|
@ -142,23 +149,29 @@
|
||||||
- baseImportPath: "./vendor/k8s.io/kube-controller-manager/"
|
- baseImportPath: "./vendor/k8s.io/kube-controller-manager/"
|
||||||
allowedImports:
|
allowedImports:
|
||||||
- k8s.io/apimachinery
|
- k8s.io/apimachinery
|
||||||
- k8s.io/apiserver
|
- k8s.io/component-base
|
||||||
|
- k8s.io/klog
|
||||||
- k8s.io/utils
|
- k8s.io/utils
|
||||||
|
|
||||||
- baseImportPath: "./vendor/k8s.io/kube-proxy/"
|
- baseImportPath: "./vendor/k8s.io/kube-proxy/"
|
||||||
allowedImports:
|
allowedImports:
|
||||||
- k8s.io/apimachinery
|
- k8s.io/apimachinery
|
||||||
|
- k8s.io/component-base
|
||||||
|
- k8s.io/klog
|
||||||
|
- k8s.io/utils
|
||||||
|
|
||||||
- baseImportPath: "./vendor/k8s.io/kube-scheduler/"
|
- baseImportPath: "./vendor/k8s.io/kube-scheduler/"
|
||||||
allowedImports:
|
allowedImports:
|
||||||
- k8s.io/apimachinery
|
- k8s.io/apimachinery
|
||||||
- k8s.io/apiserver
|
- k8s.io/component-base
|
||||||
|
- k8s.io/klog
|
||||||
- k8s.io/utils
|
- k8s.io/utils
|
||||||
|
|
||||||
- baseImportPath: "./vendor/k8s.io/kubelet/"
|
- baseImportPath: "./vendor/k8s.io/kubelet/"
|
||||||
allowedImports:
|
allowedImports:
|
||||||
- k8s.io/api
|
- k8s.io/api
|
||||||
- k8s.io/apimachinery
|
- k8s.io/apimachinery
|
||||||
|
- k8s.io/klog
|
||||||
|
|
||||||
- baseImportPath: "./vendor/k8s.io/cluster-bootstrap/"
|
- baseImportPath: "./vendor/k8s.io/cluster-bootstrap/"
|
||||||
allowedImports:
|
allowedImports:
|
||||||
|
|
|
@ -10,7 +10,7 @@ go_library(
|
||||||
srcs = ["config.go"],
|
srcs = ["config.go"],
|
||||||
importpath = "k8s.io/kubernetes/pkg/client/leaderelectionconfig",
|
importpath = "k8s.io/kubernetes/pkg/client/leaderelectionconfig",
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
"//vendor/github.com/spf13/pflag:go_default_library",
|
"//vendor/github.com/spf13/pflag:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -20,16 +20,17 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
apiserverconfig "k8s.io/apiserver/pkg/apis/config"
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// DefaultLeaseDuration defines a default duration of lease.
|
// DefaultLeaseDuration defines a default duration of lease.
|
||||||
|
// TODO: This constant should move to the k8s.io/component-base/config package
|
||||||
DefaultLeaseDuration = 15 * time.Second
|
DefaultLeaseDuration = 15 * time.Second
|
||||||
)
|
)
|
||||||
|
|
||||||
// BindFlags binds the LeaderElectionConfiguration struct fields to a flagset
|
// BindFlags binds the LeaderElectionConfiguration struct fields to a flagset
|
||||||
func BindFlags(l *apiserverconfig.LeaderElectionConfiguration, fs *pflag.FlagSet) {
|
func BindFlags(l *componentbaseconfig.LeaderElectionConfiguration, fs *pflag.FlagSet) {
|
||||||
fs.BoolVar(&l.LeaderElect, "leader-elect", l.LeaderElect, ""+
|
fs.BoolVar(&l.LeaderElect, "leader-elect", l.LeaderElect, ""+
|
||||||
"Start a leader election client and gain leadership before "+
|
"Start a leader election client and gain leadership before "+
|
||||||
"executing the main loop. Enable this when running replicated "+
|
"executing the main loop. Enable this when running replicated "+
|
||||||
|
|
|
@ -39,8 +39,6 @@
|
||||||
"k8s.io/apimachinery/pkg/api/meta",
|
"k8s.io/apimachinery/pkg/api/meta",
|
||||||
"k8s.io/apimachinery/pkg/api/meta/testrestmapper",
|
"k8s.io/apimachinery/pkg/api/meta/testrestmapper",
|
||||||
"k8s.io/apimachinery/pkg/api/resource",
|
"k8s.io/apimachinery/pkg/api/resource",
|
||||||
"k8s.io/apimachinery/pkg/apis/config",
|
|
||||||
"k8s.io/apimachinery/pkg/apis/config/v1alpha1",
|
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1",
|
"k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
||||||
"k8s.io/apimachinery/pkg/conversion",
|
"k8s.io/apimachinery/pkg/conversion",
|
||||||
|
@ -63,8 +61,6 @@
|
||||||
"k8s.io/apimachinery/pkg/util/wait",
|
"k8s.io/apimachinery/pkg/util/wait",
|
||||||
"k8s.io/apimachinery/pkg/util/version",
|
"k8s.io/apimachinery/pkg/util/version",
|
||||||
"k8s.io/apimachinery/pkg/watch",
|
"k8s.io/apimachinery/pkg/watch",
|
||||||
"k8s.io/apiserver/pkg/apis/config",
|
|
||||||
"k8s.io/apiserver/pkg/apis/config/v1alpha1",
|
|
||||||
"k8s.io/apiserver/pkg/authentication/serviceaccount",
|
"k8s.io/apiserver/pkg/authentication/serviceaccount",
|
||||||
"k8s.io/apiserver/pkg/storage/names",
|
"k8s.io/apiserver/pkg/storage/names",
|
||||||
"k8s.io/apiserver/pkg/util/feature",
|
"k8s.io/apiserver/pkg/util/feature",
|
||||||
|
@ -91,7 +87,9 @@
|
||||||
"k8s.io/api/settings/v1alpha1",
|
"k8s.io/api/settings/v1alpha1",
|
||||||
"k8s.io/api/admission/v1beta1",
|
"k8s.io/api/admission/v1beta1",
|
||||||
"k8s.io/api/networking/v1",
|
"k8s.io/api/networking/v1",
|
||||||
"k8s.io/api/admissionregistration/v1alpha1"
|
"k8s.io/api/admissionregistration/v1alpha1",
|
||||||
|
"k8s.io/component-base/config",
|
||||||
|
"k8s.io/component-base/config/v1alpha1"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,11 +11,10 @@ go_library(
|
||||||
importpath = "k8s.io/kubernetes/pkg/controller/apis/config",
|
importpath = "k8s.io/kubernetes/pkg/controller/apis/config",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/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/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,8 @@ limitations under the License.
|
||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
apiserverconfig "k8s.io/apiserver/pkg/apis/config"
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupResource describes an group resource.
|
// GroupResource describes an group resource.
|
||||||
|
@ -112,11 +111,11 @@ type GenericControllerManagerConfiguration struct {
|
||||||
MinResyncPeriod metav1.Duration
|
MinResyncPeriod metav1.Duration
|
||||||
// ClientConnection specifies the kubeconfig file and client connection
|
// ClientConnection specifies the kubeconfig file and client connection
|
||||||
// settings for the proxy server to use when communicating with the apiserver.
|
// settings for the proxy server to use when communicating with the apiserver.
|
||||||
ClientConnection apimachineryconfig.ClientConnectionConfiguration
|
ClientConnection componentbaseconfig.ClientConnectionConfiguration
|
||||||
// How long to wait between starting controller managers
|
// How long to wait between starting controller managers
|
||||||
ControllerStartInterval metav1.Duration
|
ControllerStartInterval metav1.Duration
|
||||||
// leaderElection defines the configuration of leader election client.
|
// leaderElection defines the configuration of leader election client.
|
||||||
LeaderElection apiserverconfig.LeaderElectionConfiguration
|
LeaderElection componentbaseconfig.LeaderElectionConfiguration
|
||||||
// Controllers is the list of controllers to enable or disable
|
// Controllers is the list of controllers to enable or disable
|
||||||
// '*' means "all enabled by default controllers"
|
// '*' means "all enabled by default controllers"
|
||||||
// 'foo' means "enable 'foo'"
|
// 'foo' means "enable 'foo'"
|
||||||
|
@ -124,7 +123,7 @@ type GenericControllerManagerConfiguration struct {
|
||||||
// first item for a particular name wins
|
// first item for a particular name wins
|
||||||
Controllers []string
|
Controllers []string
|
||||||
// DebuggingConfiguration holds configuration for Debugging related features.
|
// DebuggingConfiguration holds configuration for Debugging related features.
|
||||||
Debugging apiserverconfig.DebuggingConfiguration
|
Debugging componentbaseconfig.DebuggingConfiguration
|
||||||
}
|
}
|
||||||
|
|
||||||
// KubeCloudSharedConfiguration contains elements shared by both kube-controller manager
|
// KubeCloudSharedConfiguration contains elements shared by both kube-controller manager
|
||||||
|
|
|
@ -15,12 +15,11 @@ go_library(
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/controller/apis/config:go_default_library",
|
"//pkg/controller/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config/v1alpha1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1: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/conversion:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime: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/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/component-base/config/v1alpha1:go_default_library",
|
||||||
"//staging/src/k8s.io/kube-controller-manager/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/kube-controller-manager/config/v1alpha1:go_default_library",
|
||||||
"//vendor/k8s.io/utils/pointer:go_default_library",
|
"//vendor/k8s.io/utils/pointer:go_default_library",
|
||||||
],
|
],
|
||||||
|
|
|
@ -19,10 +19,9 @@ package v1alpha1
|
||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
apimachineryconfigv1alpha1 "k8s.io/apimachinery/pkg/apis/config/v1alpha1"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
kruntime "k8s.io/apimachinery/pkg/runtime"
|
kruntime "k8s.io/apimachinery/pkg/runtime"
|
||||||
apiserverconfigv1alpha1 "k8s.io/apiserver/pkg/apis/config/v1alpha1"
|
componentbaseconfigv1alpha1 "k8s.io/component-base/config/v1alpha1"
|
||||||
kubectrlmgrconfigv1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
|
kubectrlmgrconfigv1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
|
||||||
utilpointer "k8s.io/utils/pointer"
|
utilpointer "k8s.io/utils/pointer"
|
||||||
)
|
)
|
||||||
|
@ -52,7 +51,7 @@ func SetDefaults_KubeControllerManagerConfiguration(obj *kubectrlmgrconfigv1alph
|
||||||
obj.TTLAfterFinishedController.ConcurrentTTLSyncs = 5
|
obj.TTLAfterFinishedController.ConcurrentTTLSyncs = 5
|
||||||
}
|
}
|
||||||
|
|
||||||
// These defaults override the recommended defaults from the apimachineryconfigv1alpha1 package that are applied automatically
|
// These defaults override the recommended defaults from the componentbaseconfigv1alpha1 package that are applied automatically
|
||||||
// These client-connection defaults are specific to the kube-controller-manager
|
// These client-connection defaults are specific to the kube-controller-manager
|
||||||
if obj.Generic.ClientConnection.QPS == 0.0 {
|
if obj.Generic.ClientConnection.QPS == 0.0 {
|
||||||
obj.Generic.ClientConnection.QPS = 20.0
|
obj.Generic.ClientConnection.QPS = 20.0
|
||||||
|
@ -81,8 +80,8 @@ func RecommendedDefaultGenericControllerManagerConfiguration(obj *kubectrlmgrcon
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use the default ClientConnectionConfiguration and LeaderElectionConfiguration options
|
// Use the default ClientConnectionConfiguration and LeaderElectionConfiguration options
|
||||||
apimachineryconfigv1alpha1.RecommendedDefaultClientConnectionConfiguration(&obj.ClientConnection)
|
componentbaseconfigv1alpha1.RecommendedDefaultClientConnectionConfiguration(&obj.ClientConnection)
|
||||||
apiserverconfigv1alpha1.RecommendedDefaultLeaderElectionConfiguration(&obj.LeaderElection)
|
componentbaseconfigv1alpha1.RecommendedDefaultLeaderElectionConfiguration(&obj.LeaderElection)
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetDefaults_KubeCloudSharedConfiguration(obj *kubectrlmgrconfigv1alpha1.KubeCloudSharedConfiguration) {
|
func SetDefaults_KubeCloudSharedConfiguration(obj *kubectrlmgrconfigv1alpha1.KubeCloudSharedConfiguration) {
|
||||||
|
|
|
@ -23,11 +23,10 @@ package v1alpha1
|
||||||
import (
|
import (
|
||||||
unsafe "unsafe"
|
unsafe "unsafe"
|
||||||
|
|
||||||
apisconfigv1alpha1 "k8s.io/apimachinery/pkg/apis/config/v1alpha1"
|
|
||||||
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
conversion "k8s.io/apimachinery/pkg/conversion"
|
conversion "k8s.io/apimachinery/pkg/conversion"
|
||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
pkgapisconfigv1alpha1 "k8s.io/apiserver/pkg/apis/config/v1alpha1"
|
componentbaseconfigv1alpha1 "k8s.io/component-base/config/v1alpha1"
|
||||||
v1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
|
v1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
|
||||||
config "k8s.io/kubernetes/pkg/controller/apis/config"
|
config "k8s.io/kubernetes/pkg/controller/apis/config"
|
||||||
)
|
)
|
||||||
|
@ -528,15 +527,15 @@ func autoConvert_v1alpha1_GenericControllerManagerConfiguration_To_config_Generi
|
||||||
out.Port = in.Port
|
out.Port = in.Port
|
||||||
out.Address = in.Address
|
out.Address = in.Address
|
||||||
out.MinResyncPeriod = in.MinResyncPeriod
|
out.MinResyncPeriod = in.MinResyncPeriod
|
||||||
if err := apisconfigv1alpha1.Convert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(&in.ClientConnection, &out.ClientConnection, s); err != nil {
|
if err := componentbaseconfigv1alpha1.Convert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(&in.ClientConnection, &out.ClientConnection, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
out.ControllerStartInterval = in.ControllerStartInterval
|
out.ControllerStartInterval = in.ControllerStartInterval
|
||||||
if err := pkgapisconfigv1alpha1.Convert_v1alpha1_LeaderElectionConfiguration_To_config_LeaderElectionConfiguration(&in.LeaderElection, &out.LeaderElection, s); err != nil {
|
if err := componentbaseconfigv1alpha1.Convert_v1alpha1_LeaderElectionConfiguration_To_config_LeaderElectionConfiguration(&in.LeaderElection, &out.LeaderElection, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
out.Controllers = *(*[]string)(unsafe.Pointer(&in.Controllers))
|
out.Controllers = *(*[]string)(unsafe.Pointer(&in.Controllers))
|
||||||
if err := pkgapisconfigv1alpha1.Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(&in.Debugging, &out.Debugging, s); err != nil {
|
if err := componentbaseconfigv1alpha1.Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(&in.Debugging, &out.Debugging, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -546,15 +545,15 @@ func autoConvert_config_GenericControllerManagerConfiguration_To_v1alpha1_Generi
|
||||||
out.Port = in.Port
|
out.Port = in.Port
|
||||||
out.Address = in.Address
|
out.Address = in.Address
|
||||||
out.MinResyncPeriod = in.MinResyncPeriod
|
out.MinResyncPeriod = in.MinResyncPeriod
|
||||||
if err := apisconfigv1alpha1.Convert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(&in.ClientConnection, &out.ClientConnection, s); err != nil {
|
if err := componentbaseconfigv1alpha1.Convert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(&in.ClientConnection, &out.ClientConnection, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
out.ControllerStartInterval = in.ControllerStartInterval
|
out.ControllerStartInterval = in.ControllerStartInterval
|
||||||
if err := pkgapisconfigv1alpha1.Convert_config_LeaderElectionConfiguration_To_v1alpha1_LeaderElectionConfiguration(&in.LeaderElection, &out.LeaderElection, s); err != nil {
|
if err := componentbaseconfigv1alpha1.Convert_config_LeaderElectionConfiguration_To_v1alpha1_LeaderElectionConfiguration(&in.LeaderElection, &out.LeaderElection, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
out.Controllers = *(*[]string)(unsafe.Pointer(&in.Controllers))
|
out.Controllers = *(*[]string)(unsafe.Pointer(&in.Controllers))
|
||||||
if err := pkgapisconfigv1alpha1.Convert_config_DebuggingConfiguration_To_v1alpha1_DebuggingConfiguration(&in.Debugging, &out.Debugging, s); err != nil {
|
if err := componentbaseconfigv1alpha1.Convert_config_DebuggingConfiguration_To_v1alpha1_DebuggingConfiguration(&in.Debugging, &out.Debugging, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -15,10 +15,10 @@ go_library(
|
||||||
],
|
],
|
||||||
importpath = "k8s.io/kubernetes/pkg/proxy/apis/config",
|
importpath = "k8s.io/kubernetes/pkg/proxy/apis/config",
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/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/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,8 @@ import (
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
// KubeProxyIPTablesConfiguration contains iptables-related configuration
|
// KubeProxyIPTablesConfiguration contains iptables-related configuration
|
||||||
|
@ -108,7 +108,7 @@ type KubeProxyConfiguration struct {
|
||||||
HostnameOverride string
|
HostnameOverride string
|
||||||
// clientConnection specifies the kubeconfig file and client connection settings for the proxy
|
// clientConnection specifies the kubeconfig file and client connection settings for the proxy
|
||||||
// server to use when communicating with the apiserver.
|
// server to use when communicating with the apiserver.
|
||||||
ClientConnection apimachineryconfig.ClientConnectionConfiguration
|
ClientConnection componentbaseconfig.ClientConnectionConfiguration
|
||||||
// iptables contains iptables-related configuration options.
|
// iptables contains iptables-related configuration options.
|
||||||
IPTables KubeProxyIPTablesConfiguration
|
IPTables KubeProxyIPTablesConfiguration
|
||||||
// ipvs contains ipvs-related configuration options.
|
// ipvs contains ipvs-related configuration options.
|
||||||
|
|
|
@ -20,11 +20,11 @@ go_library(
|
||||||
"//pkg/kubelet/qos:go_default_library",
|
"//pkg/kubelet/qos:go_default_library",
|
||||||
"//pkg/master/ports:go_default_library",
|
"//pkg/master/ports:go_default_library",
|
||||||
"//pkg/proxy/apis/config:go_default_library",
|
"//pkg/proxy/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config/v1alpha1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1: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/conversion:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime: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/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config/v1alpha1:go_default_library",
|
||||||
"//staging/src/k8s.io/kube-proxy/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/kube-proxy/config/v1alpha1:go_default_library",
|
||||||
"//vendor/k8s.io/utils/pointer:go_default_library",
|
"//vendor/k8s.io/utils/pointer:go_default_library",
|
||||||
],
|
],
|
||||||
|
|
|
@ -23,10 +23,10 @@ package v1alpha1
|
||||||
import (
|
import (
|
||||||
unsafe "unsafe"
|
unsafe "unsafe"
|
||||||
|
|
||||||
configv1alpha1 "k8s.io/apimachinery/pkg/apis/config/v1alpha1"
|
|
||||||
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
conversion "k8s.io/apimachinery/pkg/conversion"
|
conversion "k8s.io/apimachinery/pkg/conversion"
|
||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
configv1alpha1 "k8s.io/component-base/config/v1alpha1"
|
||||||
v1alpha1 "k8s.io/kube-proxy/config/v1alpha1"
|
v1alpha1 "k8s.io/kube-proxy/config/v1alpha1"
|
||||||
config "k8s.io/kubernetes/pkg/proxy/apis/config"
|
config "k8s.io/kubernetes/pkg/proxy/apis/config"
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,10 +13,10 @@ go_library(
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/apis/core/validation:go_default_library",
|
"//pkg/apis/core/validation:go_default_library",
|
||||||
"//pkg/proxy/apis/config:go_default_library",
|
"//pkg/proxy/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/net:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/net:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -39,9 +39,9 @@ go_test(
|
||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/proxy/apis/config:go_default_library",
|
"//pkg/proxy/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
"//vendor/k8s.io/utils/pointer:go_default_library",
|
"//vendor/k8s.io/utils/pointer:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -23,10 +23,10 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
utilnet "k8s.io/apimachinery/pkg/util/net"
|
utilnet "k8s.io/apimachinery/pkg/util/net"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
apivalidation "k8s.io/kubernetes/pkg/apis/core/validation"
|
apivalidation "k8s.io/kubernetes/pkg/apis/core/validation"
|
||||||
kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config"
|
kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config"
|
||||||
)
|
)
|
||||||
|
@ -187,7 +187,7 @@ func validateProxyModeWindows(mode kubeproxyconfig.ProxyMode, fldPath *field.Pat
|
||||||
return field.ErrorList{field.Invalid(fldPath.Child("ProxyMode"), string(mode), errMsg)}
|
return field.ErrorList{field.Invalid(fldPath.Child("ProxyMode"), string(mode), errMsg)}
|
||||||
}
|
}
|
||||||
|
|
||||||
func validateClientConnectionConfiguration(config apimachineryconfig.ClientConnectionConfiguration, fldPath *field.Path) field.ErrorList {
|
func validateClientConnectionConfiguration(config componentbaseconfig.ClientConnectionConfiguration, fldPath *field.Path) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(config.Burst), fldPath.Child("Burst"))...)
|
allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(config.Burst), fldPath.Child("Burst"))...)
|
||||||
return allErrs
|
return allErrs
|
||||||
|
|
|
@ -23,9 +23,9 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config"
|
kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config"
|
||||||
"k8s.io/utils/pointer"
|
"k8s.io/utils/pointer"
|
||||||
)
|
)
|
||||||
|
@ -575,7 +575,7 @@ func TestValidateProxyMode(t *testing.T) {
|
||||||
func TestValidateClientConnectionConfiguration(t *testing.T) {
|
func TestValidateClientConnectionConfiguration(t *testing.T) {
|
||||||
newPath := field.NewPath("KubeProxyConfiguration")
|
newPath := field.NewPath("KubeProxyConfiguration")
|
||||||
|
|
||||||
successCases := []apimachineryconfig.ClientConnectionConfiguration{
|
successCases := []componentbaseconfig.ClientConnectionConfiguration{
|
||||||
{
|
{
|
||||||
Burst: 0,
|
Burst: 0,
|
||||||
},
|
},
|
||||||
|
@ -591,11 +591,11 @@ func TestValidateClientConnectionConfiguration(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
errorCases := []struct {
|
errorCases := []struct {
|
||||||
ccc apimachineryconfig.ClientConnectionConfiguration
|
ccc componentbaseconfig.ClientConnectionConfiguration
|
||||||
msg string
|
msg string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
ccc: apimachineryconfig.ClientConnectionConfiguration{Burst: -5},
|
ccc: componentbaseconfig.ClientConnectionConfiguration{Burst: -5},
|
||||||
msg: "must be greater than or equal to 0",
|
msg: "must be greater than or equal to 0",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,11 +11,10 @@ go_library(
|
||||||
importpath = "k8s.io/kubernetes/pkg/scheduler/apis/config",
|
importpath = "k8s.io/kubernetes/pkg/scheduler/apis/config",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/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/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,8 @@ limitations under the License.
|
||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
apiserverconfig "k8s.io/apiserver/pkg/apis/config"
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -58,7 +57,7 @@ type KubeSchedulerConfiguration struct {
|
||||||
|
|
||||||
// ClientConnection specifies the kubeconfig file and client connection
|
// ClientConnection specifies the kubeconfig file and client connection
|
||||||
// settings for the proxy server to use when communicating with the apiserver.
|
// settings for the proxy server to use when communicating with the apiserver.
|
||||||
ClientConnection apimachineryconfig.ClientConnectionConfiguration
|
ClientConnection componentbaseconfig.ClientConnectionConfiguration
|
||||||
// HealthzBindAddress is the IP address and port for the health check server to serve on,
|
// HealthzBindAddress is the IP address and port for the health check server to serve on,
|
||||||
// defaulting to 0.0.0.0:10251
|
// defaulting to 0.0.0.0:10251
|
||||||
HealthzBindAddress string
|
HealthzBindAddress string
|
||||||
|
@ -67,8 +66,8 @@ type KubeSchedulerConfiguration struct {
|
||||||
MetricsBindAddress string
|
MetricsBindAddress string
|
||||||
|
|
||||||
// DebuggingConfiguration holds configuration for Debugging related features
|
// DebuggingConfiguration holds configuration for Debugging related features
|
||||||
// TODO: We might wanna make this a substruct like Debugging apiserverconfig.DebuggingConfiguration
|
// TODO: We might wanna make this a substruct like Debugging componentbaseconfig.DebuggingConfiguration
|
||||||
apiserverconfig.DebuggingConfiguration
|
componentbaseconfig.DebuggingConfiguration
|
||||||
|
|
||||||
// DisablePreemption disables the pod preemption feature.
|
// DisablePreemption disables the pod preemption feature.
|
||||||
DisablePreemption bool
|
DisablePreemption bool
|
||||||
|
@ -130,7 +129,7 @@ type SchedulerPolicyConfigMapSource struct {
|
||||||
// KubeSchedulerLeaderElectionConfiguration expands LeaderElectionConfiguration
|
// KubeSchedulerLeaderElectionConfiguration expands LeaderElectionConfiguration
|
||||||
// to include scheduler specific configuration.
|
// to include scheduler specific configuration.
|
||||||
type KubeSchedulerLeaderElectionConfiguration struct {
|
type KubeSchedulerLeaderElectionConfiguration struct {
|
||||||
apiserverconfig.LeaderElectionConfiguration
|
componentbaseconfig.LeaderElectionConfiguration
|
||||||
// LockObjectNamespace defines the namespace of the lock object
|
// LockObjectNamespace defines the namespace of the lock object
|
||||||
LockObjectNamespace string
|
LockObjectNamespace string
|
||||||
// LockObjectName defines the lock object name
|
// LockObjectName defines the lock object name
|
||||||
|
|
|
@ -17,11 +17,10 @@ go_library(
|
||||||
"//pkg/kubelet/apis:go_default_library",
|
"//pkg/kubelet/apis:go_default_library",
|
||||||
"//pkg/master/ports:go_default_library",
|
"//pkg/master/ports:go_default_library",
|
||||||
"//pkg/scheduler/apis/config:go_default_library",
|
"//pkg/scheduler/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config/v1alpha1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/conversion: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:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/component-base/config/v1alpha1:go_default_library",
|
||||||
"//staging/src/k8s.io/kube-scheduler/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/kube-scheduler/config/v1alpha1:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -21,7 +21,7 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
apiserverconfigv1alpha1 "k8s.io/apiserver/pkg/apis/config/v1alpha1"
|
componentbaseconfigv1alpha1 "k8s.io/component-base/config/v1alpha1"
|
||||||
kubescedulerconfigv1alpha1 "k8s.io/kube-scheduler/config/v1alpha1"
|
kubescedulerconfigv1alpha1 "k8s.io/kube-scheduler/config/v1alpha1"
|
||||||
|
|
||||||
// this package shouldn't really depend on other k8s.io/kubernetes code
|
// this package shouldn't really depend on other k8s.io/kubernetes code
|
||||||
|
@ -97,7 +97,7 @@ func SetDefaults_KubeSchedulerConfiguration(obj *kubescedulerconfigv1alpha1.Kube
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use the default LeaderElectionConfiguration options
|
// Use the default LeaderElectionConfiguration options
|
||||||
apiserverconfigv1alpha1.RecommendedDefaultLeaderElectionConfiguration(&obj.LeaderElection.LeaderElectionConfiguration)
|
componentbaseconfigv1alpha1.RecommendedDefaultLeaderElectionConfiguration(&obj.LeaderElection.LeaderElectionConfiguration)
|
||||||
|
|
||||||
if obj.BindTimeoutSeconds == nil {
|
if obj.BindTimeoutSeconds == nil {
|
||||||
defaultBindTimeoutSeconds := int64(600)
|
defaultBindTimeoutSeconds := int64(600)
|
||||||
|
|
|
@ -23,10 +23,9 @@ package v1alpha1
|
||||||
import (
|
import (
|
||||||
unsafe "unsafe"
|
unsafe "unsafe"
|
||||||
|
|
||||||
configv1alpha1 "k8s.io/apimachinery/pkg/apis/config/v1alpha1"
|
|
||||||
conversion "k8s.io/apimachinery/pkg/conversion"
|
conversion "k8s.io/apimachinery/pkg/conversion"
|
||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
apisconfigv1alpha1 "k8s.io/apiserver/pkg/apis/config/v1alpha1"
|
configv1alpha1 "k8s.io/component-base/config/v1alpha1"
|
||||||
v1alpha1 "k8s.io/kube-scheduler/config/v1alpha1"
|
v1alpha1 "k8s.io/kube-scheduler/config/v1alpha1"
|
||||||
config "k8s.io/kubernetes/pkg/scheduler/apis/config"
|
config "k8s.io/kubernetes/pkg/scheduler/apis/config"
|
||||||
)
|
)
|
||||||
|
@ -115,7 +114,7 @@ func autoConvert_v1alpha1_KubeSchedulerConfiguration_To_config_KubeSchedulerConf
|
||||||
}
|
}
|
||||||
out.HealthzBindAddress = in.HealthzBindAddress
|
out.HealthzBindAddress = in.HealthzBindAddress
|
||||||
out.MetricsBindAddress = in.MetricsBindAddress
|
out.MetricsBindAddress = in.MetricsBindAddress
|
||||||
if err := apisconfigv1alpha1.Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(&in.DebuggingConfiguration, &out.DebuggingConfiguration, s); err != nil {
|
if err := configv1alpha1.Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(&in.DebuggingConfiguration, &out.DebuggingConfiguration, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
out.DisablePreemption = in.DisablePreemption
|
out.DisablePreemption = in.DisablePreemption
|
||||||
|
@ -144,7 +143,7 @@ func autoConvert_config_KubeSchedulerConfiguration_To_v1alpha1_KubeSchedulerConf
|
||||||
}
|
}
|
||||||
out.HealthzBindAddress = in.HealthzBindAddress
|
out.HealthzBindAddress = in.HealthzBindAddress
|
||||||
out.MetricsBindAddress = in.MetricsBindAddress
|
out.MetricsBindAddress = in.MetricsBindAddress
|
||||||
if err := apisconfigv1alpha1.Convert_config_DebuggingConfiguration_To_v1alpha1_DebuggingConfiguration(&in.DebuggingConfiguration, &out.DebuggingConfiguration, s); err != nil {
|
if err := configv1alpha1.Convert_config_DebuggingConfiguration_To_v1alpha1_DebuggingConfiguration(&in.DebuggingConfiguration, &out.DebuggingConfiguration, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
out.DisablePreemption = in.DisablePreemption
|
out.DisablePreemption = in.DisablePreemption
|
||||||
|
@ -160,7 +159,7 @@ func Convert_config_KubeSchedulerConfiguration_To_v1alpha1_KubeSchedulerConfigur
|
||||||
}
|
}
|
||||||
|
|
||||||
func autoConvert_v1alpha1_KubeSchedulerLeaderElectionConfiguration_To_config_KubeSchedulerLeaderElectionConfiguration(in *v1alpha1.KubeSchedulerLeaderElectionConfiguration, out *config.KubeSchedulerLeaderElectionConfiguration, s conversion.Scope) error {
|
func autoConvert_v1alpha1_KubeSchedulerLeaderElectionConfiguration_To_config_KubeSchedulerLeaderElectionConfiguration(in *v1alpha1.KubeSchedulerLeaderElectionConfiguration, out *config.KubeSchedulerLeaderElectionConfiguration, s conversion.Scope) error {
|
||||||
if err := apisconfigv1alpha1.Convert_v1alpha1_LeaderElectionConfiguration_To_config_LeaderElectionConfiguration(&in.LeaderElectionConfiguration, &out.LeaderElectionConfiguration, s); err != nil {
|
if err := configv1alpha1.Convert_v1alpha1_LeaderElectionConfiguration_To_config_LeaderElectionConfiguration(&in.LeaderElectionConfiguration, &out.LeaderElectionConfiguration, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
out.LockObjectNamespace = in.LockObjectNamespace
|
out.LockObjectNamespace = in.LockObjectNamespace
|
||||||
|
@ -174,7 +173,7 @@ func Convert_v1alpha1_KubeSchedulerLeaderElectionConfiguration_To_config_KubeSch
|
||||||
}
|
}
|
||||||
|
|
||||||
func autoConvert_config_KubeSchedulerLeaderElectionConfiguration_To_v1alpha1_KubeSchedulerLeaderElectionConfiguration(in *config.KubeSchedulerLeaderElectionConfiguration, out *v1alpha1.KubeSchedulerLeaderElectionConfiguration, s conversion.Scope) error {
|
func autoConvert_config_KubeSchedulerLeaderElectionConfiguration_To_v1alpha1_KubeSchedulerLeaderElectionConfiguration(in *config.KubeSchedulerLeaderElectionConfiguration, out *v1alpha1.KubeSchedulerLeaderElectionConfiguration, s conversion.Scope) error {
|
||||||
if err := apisconfigv1alpha1.Convert_config_LeaderElectionConfiguration_To_v1alpha1_LeaderElectionConfiguration(&in.LeaderElectionConfiguration, &out.LeaderElectionConfiguration, s); err != nil {
|
if err := configv1alpha1.Convert_config_LeaderElectionConfiguration_To_v1alpha1_LeaderElectionConfiguration(&in.LeaderElectionConfiguration, &out.LeaderElectionConfiguration, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
out.LockObjectNamespace = in.LockObjectNamespace
|
out.LockObjectNamespace = in.LockObjectNamespace
|
||||||
|
|
|
@ -7,10 +7,9 @@ go_library(
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/scheduler/apis/config:go_default_library",
|
"//pkg/scheduler/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config/validation:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config/validation:go_default_library",
|
"//staging/src/k8s.io/component-base/config/validation:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -20,9 +19,8 @@ go_test(
|
||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/scheduler/apis/config:go_default_library",
|
"//pkg/scheduler/apis/config:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -17,17 +17,16 @@ limitations under the License.
|
||||||
package validation
|
package validation
|
||||||
|
|
||||||
import (
|
import (
|
||||||
apimachinery "k8s.io/apimachinery/pkg/apis/config/validation"
|
|
||||||
"k8s.io/apimachinery/pkg/util/validation"
|
"k8s.io/apimachinery/pkg/util/validation"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
apiserver "k8s.io/apiserver/pkg/apis/config/validation"
|
componentbasevalidation "k8s.io/component-base/config/validation"
|
||||||
"k8s.io/kubernetes/pkg/scheduler/apis/config"
|
"k8s.io/kubernetes/pkg/scheduler/apis/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ValidateKubeSchedulerConfiguration ensures validation of the KubeSchedulerConfiguration struct
|
// ValidateKubeSchedulerConfiguration ensures validation of the KubeSchedulerConfiguration struct
|
||||||
func ValidateKubeSchedulerConfiguration(cc *config.KubeSchedulerConfiguration) field.ErrorList {
|
func ValidateKubeSchedulerConfiguration(cc *config.KubeSchedulerConfiguration) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
allErrs = append(allErrs, apimachinery.ValidateClientConnectionConfiguration(&cc.ClientConnection, field.NewPath("clientConnection"))...)
|
allErrs = append(allErrs, componentbasevalidation.ValidateClientConnectionConfiguration(&cc.ClientConnection, field.NewPath("clientConnection"))...)
|
||||||
allErrs = append(allErrs, ValidateKubeSchedulerLeaderElectionConfiguration(&cc.LeaderElection, field.NewPath("leaderElection"))...)
|
allErrs = append(allErrs, ValidateKubeSchedulerLeaderElectionConfiguration(&cc.LeaderElection, field.NewPath("leaderElection"))...)
|
||||||
if len(cc.SchedulerName) == 0 {
|
if len(cc.SchedulerName) == 0 {
|
||||||
allErrs = append(allErrs, field.Required(field.NewPath("schedulerName"), ""))
|
allErrs = append(allErrs, field.Required(field.NewPath("schedulerName"), ""))
|
||||||
|
@ -57,7 +56,7 @@ func ValidateKubeSchedulerLeaderElectionConfiguration(cc *config.KubeSchedulerLe
|
||||||
if !cc.LeaderElectionConfiguration.LeaderElect {
|
if !cc.LeaderElectionConfiguration.LeaderElect {
|
||||||
return allErrs
|
return allErrs
|
||||||
}
|
}
|
||||||
allErrs = append(allErrs, apiserver.ValidateLeaderElectionConfiguration(&cc.LeaderElectionConfiguration, field.NewPath("leaderElectionConfiguration"))...)
|
allErrs = append(allErrs, componentbasevalidation.ValidateLeaderElectionConfiguration(&cc.LeaderElectionConfiguration, field.NewPath("leaderElectionConfiguration"))...)
|
||||||
if len(cc.LockObjectNamespace) == 0 {
|
if len(cc.LockObjectNamespace) == 0 {
|
||||||
allErrs = append(allErrs, field.Required(fldPath.Child("lockObjectNamespace"), ""))
|
allErrs = append(allErrs, field.Required(fldPath.Child("lockObjectNamespace"), ""))
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,9 +20,8 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
apimachinery "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
apiserver "k8s.io/apiserver/pkg/apis/config"
|
componentbaseconfig "k8s.io/component-base/config"
|
||||||
"k8s.io/kubernetes/pkg/scheduler/apis/config"
|
"k8s.io/kubernetes/pkg/scheduler/apis/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -33,7 +32,7 @@ func TestValidateKubeSchedulerConfiguration(t *testing.T) {
|
||||||
HealthzBindAddress: "0.0.0.0:10254",
|
HealthzBindAddress: "0.0.0.0:10254",
|
||||||
MetricsBindAddress: "0.0.0.0:10254",
|
MetricsBindAddress: "0.0.0.0:10254",
|
||||||
HardPodAffinitySymmetricWeight: 80,
|
HardPodAffinitySymmetricWeight: 80,
|
||||||
ClientConnection: apimachinery.ClientConnectionConfiguration{
|
ClientConnection: componentbaseconfig.ClientConnectionConfiguration{
|
||||||
AcceptContentTypes: "application/json",
|
AcceptContentTypes: "application/json",
|
||||||
ContentType: "application/json",
|
ContentType: "application/json",
|
||||||
QPS: 10,
|
QPS: 10,
|
||||||
|
@ -50,7 +49,7 @@ func TestValidateKubeSchedulerConfiguration(t *testing.T) {
|
||||||
LeaderElection: config.KubeSchedulerLeaderElectionConfiguration{
|
LeaderElection: config.KubeSchedulerLeaderElectionConfiguration{
|
||||||
LockObjectNamespace: "name",
|
LockObjectNamespace: "name",
|
||||||
LockObjectName: "name",
|
LockObjectName: "name",
|
||||||
LeaderElectionConfiguration: apiserver.LeaderElectionConfiguration{
|
LeaderElectionConfiguration: componentbaseconfig.LeaderElectionConfiguration{
|
||||||
ResourceLock: "configmap",
|
ResourceLock: "configmap",
|
||||||
LeaderElect: true,
|
LeaderElect: true,
|
||||||
LeaseDuration: metav1.Duration{Duration: 30 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 30 * time.Second},
|
||||||
|
|
|
@ -15,6 +15,7 @@ Repositories currently staged here:
|
||||||
- [`k8s.io/cloud-provider`](https://github.com/kubernetes/cloud-provider)
|
- [`k8s.io/cloud-provider`](https://github.com/kubernetes/cloud-provider)
|
||||||
- [`k8s.io/cluster-bootstrap`](https://github.com/kubernetes/cluster-bootstrap)
|
- [`k8s.io/cluster-bootstrap`](https://github.com/kubernetes/cluster-bootstrap)
|
||||||
- [`k8s.io/code-generator`](https://github.com/kubernetes/code-generator)
|
- [`k8s.io/code-generator`](https://github.com/kubernetes/code-generator)
|
||||||
|
- [`k8s.io/component-base`](https://github.com/kubernetes/component-base)
|
||||||
- [`k8s.io/csi-api`](https://github.com/kubernetes/csi-api)
|
- [`k8s.io/csi-api`](https://github.com/kubernetes/csi-api)
|
||||||
- [`k8s.io/kube-aggregator`](https://github.com/kubernetes/kube-aggregator)
|
- [`k8s.io/kube-aggregator`](https://github.com/kubernetes/kube-aggregator)
|
||||||
- [`k8s.io/kube-controller-manager`](https://github.com/kubernetes/kube-controller-manager)
|
- [`k8s.io/kube-controller-manager`](https://github.com/kubernetes/kube-controller-manager)
|
||||||
|
|
|
@ -23,7 +23,6 @@ filegroup(
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/meta:all-srcs",
|
"//staging/src/k8s.io/apimachinery/pkg/api/meta:all-srcs",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/resource:all-srcs",
|
"//staging/src/k8s.io/apimachinery/pkg/api/resource:all-srcs",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/validation:all-srcs",
|
"//staging/src/k8s.io/apimachinery/pkg/api/validation:all-srcs",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:all-srcs",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/fuzzer:all-srcs",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/fuzzer:all-srcs",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:all-srcs",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:all-srcs",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:all-srcs",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:all-srcs",
|
||||||
|
@ -209,6 +208,7 @@ filegroup(
|
||||||
"//staging/src/k8s.io/code-generator/pkg/namer:all-srcs",
|
"//staging/src/k8s.io/code-generator/pkg/namer:all-srcs",
|
||||||
"//staging/src/k8s.io/code-generator/pkg/util:all-srcs",
|
"//staging/src/k8s.io/code-generator/pkg/util:all-srcs",
|
||||||
"//staging/src/k8s.io/code-generator/third_party/forked/golang/reflect:all-srcs",
|
"//staging/src/k8s.io/code-generator/third_party/forked/golang/reflect:all-srcs",
|
||||||
|
"//staging/src/k8s.io/component-base/config:all-srcs",
|
||||||
"//staging/src/k8s.io/csi-api/pkg/apis/csi/v1alpha1:all-srcs",
|
"//staging/src/k8s.io/csi-api/pkg/apis/csi/v1alpha1:all-srcs",
|
||||||
"//staging/src/k8s.io/csi-api/pkg/client/clientset/versioned:all-srcs",
|
"//staging/src/k8s.io/csi-api/pkg/client/clientset/versioned:all-srcs",
|
||||||
"//staging/src/k8s.io/csi-api/pkg/client/informers/externalversions:all-srcs",
|
"//staging/src/k8s.io/csi-api/pkg/client/informers/externalversions:all-srcs",
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
approvers:
|
|
||||||
- api-approvers
|
|
||||||
- sttts
|
|
||||||
- luxas
|
|
||||||
reviewers:
|
|
||||||
- api-reviewers
|
|
||||||
- hanxiaoshuai
|
|
|
@ -1,33 +0,0 @@
|
||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
// ClientConnectionConfiguration contains details for constructing a client.
|
|
||||||
type ClientConnectionConfiguration struct {
|
|
||||||
// kubeconfig is the path to a KubeConfig file.
|
|
||||||
Kubeconfig string
|
|
||||||
// acceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the
|
|
||||||
// default value of 'application/json'. This field will control all connections to the server used by a particular
|
|
||||||
// client.
|
|
||||||
AcceptContentTypes string
|
|
||||||
// contentType is the content type used when sending data to the server from this client.
|
|
||||||
ContentType string
|
|
||||||
// qps controls the number of queries per second allowed for this connection.
|
|
||||||
QPS float32
|
|
||||||
// burst allows extra queries to accumulate when a client is exceeding its rate.
|
|
||||||
Burst int32
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
|
||||||
|
|
||||||
go_library(
|
|
||||||
name = "go_default_library",
|
|
||||||
srcs = [
|
|
||||||
"conversion.go",
|
|
||||||
"defaults.go",
|
|
||||||
"doc.go",
|
|
||||||
"register.go",
|
|
||||||
"types.go",
|
|
||||||
"zz_generated.conversion.go",
|
|
||||||
"zz_generated.deepcopy.go",
|
|
||||||
],
|
|
||||||
importmap = "k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/config/v1alpha1",
|
|
||||||
importpath = "k8s.io/apimachinery/pkg/apis/config/v1alpha1",
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
deps = [
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/conversion: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"],
|
|
||||||
)
|
|
|
@ -1,37 +0,0 @@
|
||||||
/*
|
|
||||||
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/apis/config"
|
|
||||||
"k8s.io/apimachinery/pkg/conversion"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Important! The public back-and-forth conversion functions for the types in this generic
|
|
||||||
// package with ComponentConfig types need to be manually exposed like this in order for
|
|
||||||
// other packages that reference this package to be able to call these conversion functions
|
|
||||||
// in an autogenerated manner.
|
|
||||||
// TODO: Fix the bug in conversion-gen so it automatically discovers these Convert_* functions
|
|
||||||
// in autogenerated code as well.
|
|
||||||
|
|
||||||
func Convert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(in *ClientConnectionConfiguration, out *config.ClientConnectionConfiguration, s conversion.Scope) error {
|
|
||||||
return autoConvert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(in, out, s)
|
|
||||||
}
|
|
||||||
|
|
||||||
func Convert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(in *config.ClientConnectionConfiguration, out *ClientConnectionConfiguration, s conversion.Scope) error {
|
|
||||||
return autoConvert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(in, out, s)
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
// RecommendedDefaultClientConnectionConfiguration defaults a pointer to a
|
|
||||||
// ClientConnectionConfiguration struct. This will set the recommended default
|
|
||||||
// values, but they may be subject to change between API versions. This function
|
|
||||||
// is intentionally not registered in the scheme as a "normal" `SetDefaults_Foo`
|
|
||||||
// function to allow consumers of this type to set whatever defaults for their
|
|
||||||
// embedded configs. Forcing consumers to use these defaults would be problematic
|
|
||||||
// as defaulting in the scheme is done as part of the conversion, and there would
|
|
||||||
// be no easy way to opt-out. Instead, if you want to use this defaulting method
|
|
||||||
// run it in your wrapper struct of this type in its `SetDefaults_` method.
|
|
||||||
func RecommendedDefaultClientConnectionConfiguration(obj *ClientConnectionConfiguration) {
|
|
||||||
if len(obj.ContentType) == 0 {
|
|
||||||
obj.ContentType = "application/vnd.kubernetes.protobuf"
|
|
||||||
}
|
|
||||||
if obj.QPS == 0.0 {
|
|
||||||
obj.QPS = 50.0
|
|
||||||
}
|
|
||||||
if obj.Burst == 0 {
|
|
||||||
obj.Burst = 100
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
/*
|
|
||||||
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
|
|
||||||
// +k8s:conversion-gen=k8s.io/apimachinery/pkg/apis/config
|
|
||||||
|
|
||||||
package v1alpha1 // import "k8s.io/apimachinery/pkg/apis/config/v1alpha1"
|
|
|
@ -1,33 +0,0 @@
|
||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
// ClientConnectionConfiguration contains details for constructing a client.
|
|
||||||
type ClientConnectionConfiguration struct {
|
|
||||||
// kubeconfig is the path to a KubeConfig file.
|
|
||||||
Kubeconfig string `json:"kubeconfig"`
|
|
||||||
// acceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the
|
|
||||||
// default value of 'application/json'. This field will control all connections to the server used by a particular
|
|
||||||
// client.
|
|
||||||
AcceptContentTypes string `json:"acceptContentTypes"`
|
|
||||||
// contentType is the content type used when sending data to the server from this client.
|
|
||||||
ContentType string `json:"contentType"`
|
|
||||||
// qps controls the number of queries per second allowed for this connection.
|
|
||||||
QPS float32 `json:"qps"`
|
|
||||||
// burst allows extra queries to accumulate when a client is exceeding its rate.
|
|
||||||
Burst int32 `json:"burst"`
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
// +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 (
|
|
||||||
config "k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
conversion "k8s.io/apimachinery/pkg/conversion"
|
|
||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
|
||||||
)
|
|
||||||
|
|
||||||
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((*ClientConnectionConfiguration)(nil), (*config.ClientConnectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(a.(*ClientConnectionConfiguration), b.(*config.ClientConnectionConfiguration), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddGeneratedConversionFunc((*config.ClientConnectionConfiguration)(nil), (*ClientConnectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(a.(*config.ClientConnectionConfiguration), b.(*ClientConnectionConfiguration), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddConversionFunc((*config.ClientConnectionConfiguration)(nil), (*ClientConnectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(a.(*config.ClientConnectionConfiguration), b.(*ClientConnectionConfiguration), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := s.AddConversionFunc((*ClientConnectionConfiguration)(nil), (*config.ClientConnectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
|
||||||
return Convert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(a.(*ClientConnectionConfiguration), b.(*config.ClientConnectionConfiguration), scope)
|
|
||||||
}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(in *ClientConnectionConfiguration, out *config.ClientConnectionConfiguration, s conversion.Scope) error {
|
|
||||||
out.Kubeconfig = in.Kubeconfig
|
|
||||||
out.AcceptContentTypes = in.AcceptContentTypes
|
|
||||||
out.ContentType = in.ContentType
|
|
||||||
out.QPS = in.QPS
|
|
||||||
out.Burst = in.Burst
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func autoConvert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(in *config.ClientConnectionConfiguration, out *ClientConnectionConfiguration, s conversion.Scope) error {
|
|
||||||
out.Kubeconfig = in.Kubeconfig
|
|
||||||
out.AcceptContentTypes = in.AcceptContentTypes
|
|
||||||
out.ContentType = in.ContentType
|
|
||||||
out.QPS = in.QPS
|
|
||||||
out.Burst = in.Burst
|
|
||||||
return nil
|
|
||||||
}
|
|
|
@ -1,37 +0,0 @@
|
||||||
// +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
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *ClientConnectionConfiguration) DeepCopyInto(out *ClientConnectionConfiguration) {
|
|
||||||
*out = *in
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientConnectionConfiguration.
|
|
||||||
func (in *ClientConnectionConfiguration) DeepCopy() *ClientConnectionConfiguration {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(ClientConnectionConfiguration)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
|
@ -1,37 +0,0 @@
|
||||||
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
|
|
||||||
|
|
||||||
go_library(
|
|
||||||
name = "go_default_library",
|
|
||||||
srcs = ["validation.go"],
|
|
||||||
importmap = "k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/config/validation",
|
|
||||||
importpath = "k8s.io/apimachinery/pkg/apis/config/validation",
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
deps = [
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
go_test(
|
|
||||||
name = "go_default_test",
|
|
||||||
srcs = ["validation_test.go"],
|
|
||||||
embed = [":go_default_library"],
|
|
||||||
deps = [
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field: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"],
|
|
||||||
)
|
|
|
@ -1,31 +0,0 @@
|
||||||
/*
|
|
||||||
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 validation
|
|
||||||
|
|
||||||
import (
|
|
||||||
"k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ValidateClientConnectionConfiguration ensures validation of the ClientConnectionConfiguration struct
|
|
||||||
func ValidateClientConnectionConfiguration(cc *config.ClientConnectionConfiguration, fldPath *field.Path) field.ErrorList {
|
|
||||||
allErrs := field.ErrorList{}
|
|
||||||
if cc.Burst < 0 {
|
|
||||||
allErrs = append(allErrs, field.Invalid(fldPath.Child("burst"), cc.Burst, "must be non-negative"))
|
|
||||||
}
|
|
||||||
return allErrs
|
|
||||||
}
|
|
|
@ -1,66 +0,0 @@
|
||||||
/*
|
|
||||||
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 validation
|
|
||||||
|
|
||||||
import (
|
|
||||||
"k8s.io/apimachinery/pkg/apis/config"
|
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestValidateClientConnectionConfiguration(t *testing.T) {
|
|
||||||
validConfig := &config.ClientConnectionConfiguration{
|
|
||||||
AcceptContentTypes: "application/json",
|
|
||||||
ContentType: "application/json",
|
|
||||||
QPS: 10,
|
|
||||||
Burst: 10,
|
|
||||||
}
|
|
||||||
|
|
||||||
qpsLessThanZero := validConfig.DeepCopy()
|
|
||||||
qpsLessThanZero.QPS = -1
|
|
||||||
|
|
||||||
burstLessThanZero := validConfig.DeepCopy()
|
|
||||||
burstLessThanZero.Burst = -1
|
|
||||||
|
|
||||||
scenarios := map[string]struct {
|
|
||||||
expectedToFail bool
|
|
||||||
config *config.ClientConnectionConfiguration
|
|
||||||
}{
|
|
||||||
"good": {
|
|
||||||
expectedToFail: false,
|
|
||||||
config: validConfig,
|
|
||||||
},
|
|
||||||
"good-qps-less-than-zero": {
|
|
||||||
expectedToFail: false,
|
|
||||||
config: qpsLessThanZero,
|
|
||||||
},
|
|
||||||
"bad-burst-less-then-zero": {
|
|
||||||
expectedToFail: true,
|
|
||||||
config: burstLessThanZero,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for name, scenario := range scenarios {
|
|
||||||
errs := ValidateClientConnectionConfiguration(scenario.config, field.NewPath("clientConnectionConfiguration"))
|
|
||||||
if len(errs) == 0 && scenario.expectedToFail {
|
|
||||||
t.Errorf("Unexpected success for scenario: %s", name)
|
|
||||||
}
|
|
||||||
if len(errs) > 0 && !scenario.expectedToFail {
|
|
||||||
t.Errorf("Unexpected failure for scenario: %s - %+v", name, errs)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -30,8 +30,6 @@ filegroup(
|
||||||
srcs = [
|
srcs = [
|
||||||
":package-srcs",
|
":package-srcs",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config/v1:all-srcs",
|
"//staging/src/k8s.io/apiserver/pkg/apis/config/v1:all-srcs",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1:all-srcs",
|
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config/validation:all-srcs",
|
|
||||||
],
|
],
|
||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
|
|
|
@ -20,43 +20,6 @@ import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// LeaderElectionConfiguration defines the configuration of leader election
|
|
||||||
// clients for components that can run with leader election enabled.
|
|
||||||
type LeaderElectionConfiguration struct {
|
|
||||||
// leaderElect enables a leader election client to gain leadership
|
|
||||||
// before executing the main loop. Enable this when running replicated
|
|
||||||
// components for high availability.
|
|
||||||
LeaderElect bool
|
|
||||||
// leaseDuration is the duration that non-leader candidates will wait
|
|
||||||
// after observing a leadership renewal until attempting to acquire
|
|
||||||
// leadership of a led but unrenewed leader slot. This is effectively the
|
|
||||||
// maximum duration that a leader can be stopped before it is replaced
|
|
||||||
// by another candidate. This is only applicable if leader election is
|
|
||||||
// enabled.
|
|
||||||
LeaseDuration metav1.Duration
|
|
||||||
// renewDeadline is the interval between attempts by the acting master to
|
|
||||||
// renew a leadership slot before it stops leading. This must be less
|
|
||||||
// than or equal to the lease duration. This is only applicable if leader
|
|
||||||
// election is enabled.
|
|
||||||
RenewDeadline metav1.Duration
|
|
||||||
// retryPeriod is the duration the clients should wait between attempting
|
|
||||||
// acquisition and renewal of a leadership. This is only applicable if
|
|
||||||
// leader election is enabled.
|
|
||||||
RetryPeriod metav1.Duration
|
|
||||||
// resourceLock indicates the resource object type that will be used to lock
|
|
||||||
// during leader election cycles.
|
|
||||||
ResourceLock string
|
|
||||||
}
|
|
||||||
|
|
||||||
// DebuggingConfiguration holds configuration for Debugging related features.
|
|
||||||
type DebuggingConfiguration struct {
|
|
||||||
// enableProfiling enables profiling via web interface host:port/debug/pprof/
|
|
||||||
EnableProfiling bool
|
|
||||||
// enableContentionProfiling enables lock contention profiling, if
|
|
||||||
// enableProfiling is true.
|
|
||||||
EnableContentionProfiling bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
// EncryptionConfiguration stores the complete configuration for encryption providers.
|
// EncryptionConfiguration stores the complete configuration for encryption providers.
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
/*
|
|
||||||
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"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
|
|
||||||
SchemeBuilder runtime.SchemeBuilder
|
|
||||||
// localSchemeBuilder extends the SchemeBuilder instance with the external types. In this package,
|
|
||||||
// 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
|
|
||||||
)
|
|
|
@ -45,22 +45,6 @@ func (in *AESConfiguration) DeepCopy() *AESConfiguration {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *DebuggingConfiguration) DeepCopyInto(out *DebuggingConfiguration) {
|
|
||||||
*out = *in
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DebuggingConfiguration.
|
|
||||||
func (in *DebuggingConfiguration) DeepCopy() *DebuggingConfiguration {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(DebuggingConfiguration)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *EncryptionConfiguration) DeepCopyInto(out *EncryptionConfiguration) {
|
func (in *EncryptionConfiguration) DeepCopyInto(out *EncryptionConfiguration) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
@ -141,25 +125,6 @@ func (in *Key) DeepCopy() *Key {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *LeaderElectionConfiguration) DeepCopyInto(out *LeaderElectionConfiguration) {
|
|
||||||
*out = *in
|
|
||||||
out.LeaseDuration = in.LeaseDuration
|
|
||||||
out.RenewDeadline = in.RenewDeadline
|
|
||||||
out.RetryPeriod = in.RetryPeriod
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaderElectionConfiguration.
|
|
||||||
func (in *LeaderElectionConfiguration) DeepCopy() *LeaderElectionConfiguration {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(LeaderElectionConfiguration)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *ProviderConfiguration) DeepCopyInto(out *ProviderConfiguration) {
|
func (in *ProviderConfiguration) DeepCopyInto(out *ProviderConfiguration) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Sorry, we do not accept changes directly against this repository. Please see
|
||||||
|
CONTRIBUTING.md for information on where and how to contribute instead.
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Contributing guidelines
|
||||||
|
|
||||||
|
Do not open pull requests directly against this repository, they will be ignored. Instead, please open pull requests against [kubernetes/kubernetes](https://git.k8s.io/kubernetes/). Please follow the same [contributing guide](https://git.k8s.io/kubernetes/CONTRIBUTING.md) you would follow for any other pull request made to kubernetes/kubernetes.
|
||||||
|
|
||||||
|
This repository is published from [kubernetes/kubernetes/staging/src/k8s.io/component-base](https://git.k8s.io/kubernetes/staging/src/k8s.io/component-base) by the [kubernetes publishing-bot](https://git.k8s.io/publishing-bot).
|
||||||
|
|
||||||
|
Please see [Staging Directory and Publishing](https://git.k8s.io/community/contributors/devel/staging.md) for more information
|
|
@ -0,0 +1,150 @@
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/component-base",
|
||||||
|
"GoVersion": "go1.11",
|
||||||
|
"GodepVersion": "v80-k8s-r1",
|
||||||
|
"Packages": [
|
||||||
|
"./..."
|
||||||
|
],
|
||||||
|
"Deps": [
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/gogo/protobuf/proto",
|
||||||
|
"Rev": "342cbe0a04158f6dcb03ca0079991a51a4248c02"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/gogo/protobuf/sortkeys",
|
||||||
|
"Rev": "342cbe0a04158f6dcb03ca0079991a51a4248c02"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/google/gofuzz",
|
||||||
|
"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "golang.org/x/net/http2",
|
||||||
|
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "golang.org/x/net/http2/hpack",
|
||||||
|
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "golang.org/x/net/idna",
|
||||||
|
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "golang.org/x/net/lex/httplex",
|
||||||
|
"Rev": "0ed95abb35c445290478a5348a7b38bb154135fd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "golang.org/x/text/secure/bidirule",
|
||||||
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "golang.org/x/text/transform",
|
||||||
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "golang.org/x/text/unicode/bidi",
|
||||||
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "golang.org/x/text/unicode/norm",
|
||||||
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "gopkg.in/inf.v0",
|
||||||
|
"Rev": "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/util/naming",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/klog",
|
||||||
|
"Rev": "8139d8cb77af419532b33dfa7dd09fbc5f1d344f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/utils/pointer",
|
||||||
|
"Rev": "8e7ff06bf0e2d3289061230af203e430a15b6dcc"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
approvers:
|
||||||
|
- dep-approvers
|
|
@ -0,0 +1,5 @@
|
||||||
|
This directory tree is generated automatically by godep.
|
||||||
|
|
||||||
|
Please do not edit.
|
||||||
|
|
||||||
|
See https://github.com/tools/godep for more information.
|
|
@ -0,0 +1,202 @@
|
||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
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.
|
|
@ -0,0 +1,15 @@
|
||||||
|
approvers:
|
||||||
|
- luxas
|
||||||
|
- sttts
|
||||||
|
- jbeda
|
||||||
|
- lavalamp
|
||||||
|
reviewers:
|
||||||
|
- luxas
|
||||||
|
- sttts
|
||||||
|
- stewart-yu
|
||||||
|
- dims
|
||||||
|
- dixudx
|
||||||
|
- rosti
|
||||||
|
labels:
|
||||||
|
- sig/cluster-lifecycle
|
||||||
|
- sig/api-machinery
|
|
@ -0,0 +1,34 @@
|
||||||
|
## component-base
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
Implement KEP 32: https://github.com/kubernetes/enhancements/blob/master/keps/sig-cluster-lifecycle/0032-create-a-k8s-io-component-repo.md
|
||||||
|
|
||||||
|
The proposal is essentially about refactoring the Kubernetes core package structure in a way that all core components may share common code around:
|
||||||
|
- ComponentConfig implementation
|
||||||
|
- flag and command handling
|
||||||
|
- HTTPS serving
|
||||||
|
- delegated authn/z
|
||||||
|
- logging.
|
||||||
|
|
||||||
|
## Compatibility
|
||||||
|
|
||||||
|
There are *NO compatibility guarantees* for this repository, yet. It is in direct support of Kubernetes, so branches
|
||||||
|
will track Kubernetes and be compatible with that repo. As we more cleanly separate the layers, we will review the
|
||||||
|
compatibility guarantee. We have a goal to make this easier to use in the future.
|
||||||
|
|
||||||
|
|
||||||
|
## Where does it come from?
|
||||||
|
|
||||||
|
This repository is synced from https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/component-base.
|
||||||
|
Code changes are made in that location, merged into `k8s.io/kubernetes` and later synced here.
|
||||||
|
|
||||||
|
## Things you should *NOT* do
|
||||||
|
|
||||||
|
1. Directly modify any files in this repo. Those are driven from `k8s.io/kubernetes/staging/src/k8s.io/component-base`.
|
||||||
|
2. Expect compatibility. This repo is changing quickly in direct support of Kubernetes.
|
||||||
|
|
||||||
|
### OWNERS
|
||||||
|
|
||||||
|
WG Component Standard is working on this refactoring process, which is happening incrementally, starting in the v1.14 cycle.
|
||||||
|
SIG API Machinery and SIG Cluster Lifecycle owns the code.
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Defined below are the security contacts for this repo.
|
||||||
|
#
|
||||||
|
# They are the contact point for the Product Security Team to reach out
|
||||||
|
# to for triaging and handling of incoming issues.
|
||||||
|
#
|
||||||
|
# The below names agree to abide by the
|
||||||
|
# [Embargo Policy](https://github.com/kubernetes/sig-release/blob/master/security-release-process-documentation/security-release-process.md#embargo-policy)
|
||||||
|
# and will be removed and replaced if they violate that agreement.
|
||||||
|
#
|
||||||
|
# DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE
|
||||||
|
# INSTRUCTIONS AT https://kubernetes.io/security/
|
||||||
|
|
||||||
|
cjcullen
|
||||||
|
liggitt
|
||||||
|
luxas
|
||||||
|
sttts
|
||||||
|
tallclair
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Kubernetes Community Code of Conduct
|
||||||
|
|
||||||
|
Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md)
|
|
@ -7,9 +7,10 @@ go_library(
|
||||||
"types.go",
|
"types.go",
|
||||||
"zz_generated.deepcopy.go",
|
"zz_generated.deepcopy.go",
|
||||||
],
|
],
|
||||||
importmap = "k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/config",
|
importmap = "k8s.io/kubernetes/vendor/k8s.io/component-base/config",
|
||||||
importpath = "k8s.io/apimachinery/pkg/apis/config",
|
importpath = "k8s.io/component-base/config",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
|
deps = ["//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library"],
|
||||||
)
|
)
|
||||||
|
|
||||||
filegroup(
|
filegroup(
|
||||||
|
@ -23,8 +24,8 @@ filegroup(
|
||||||
name = "all-srcs",
|
name = "all-srcs",
|
||||||
srcs = [
|
srcs = [
|
||||||
":package-srcs",
|
":package-srcs",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config/v1alpha1:all-srcs",
|
"//staging/src/k8s.io/component-base/config/v1alpha1:all-srcs",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config/validation:all-srcs",
|
"//staging/src/k8s.io/component-base/config/validation:all-srcs",
|
||||||
],
|
],
|
||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Disable inheritance as this is an api owners file
|
||||||
|
options:
|
||||||
|
no_parent_owners: true
|
||||||
|
approvers:
|
||||||
|
- api-approvers
|
||||||
|
reviewers:
|
||||||
|
- api-reviewers
|
||||||
|
- luxas
|
||||||
|
- mtaufen
|
||||||
|
- sttts
|
||||||
|
labels:
|
||||||
|
- kind/api-change
|
|
@ -16,4 +16,4 @@ limitations under the License.
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
|
|
||||||
package config // import "k8s.io/apimachinery/pkg/apis/config"
|
package config // import "k8s.io/component-base/config"
|
|
@ -0,0 +1,74 @@
|
||||||
|
/*
|
||||||
|
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"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ClientConnectionConfiguration contains details for constructing a client.
|
||||||
|
type ClientConnectionConfiguration struct {
|
||||||
|
// kubeconfig is the path to a KubeConfig file.
|
||||||
|
Kubeconfig string
|
||||||
|
// acceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the
|
||||||
|
// default value of 'application/json'. This field will control all connections to the server used by a particular
|
||||||
|
// client.
|
||||||
|
AcceptContentTypes string
|
||||||
|
// contentType is the content type used when sending data to the server from this client.
|
||||||
|
ContentType string
|
||||||
|
// qps controls the number of queries per second allowed for this connection.
|
||||||
|
QPS float32
|
||||||
|
// burst allows extra queries to accumulate when a client is exceeding its rate.
|
||||||
|
Burst int32
|
||||||
|
}
|
||||||
|
|
||||||
|
// LeaderElectionConfiguration defines the configuration of leader election
|
||||||
|
// clients for components that can run with leader election enabled.
|
||||||
|
type LeaderElectionConfiguration struct {
|
||||||
|
// leaderElect enables a leader election client to gain leadership
|
||||||
|
// before executing the main loop. Enable this when running replicated
|
||||||
|
// components for high availability.
|
||||||
|
LeaderElect bool
|
||||||
|
// leaseDuration is the duration that non-leader candidates will wait
|
||||||
|
// after observing a leadership renewal until attempting to acquire
|
||||||
|
// leadership of a led but unrenewed leader slot. This is effectively the
|
||||||
|
// maximum duration that a leader can be stopped before it is replaced
|
||||||
|
// by another candidate. This is only applicable if leader election is
|
||||||
|
// enabled.
|
||||||
|
LeaseDuration metav1.Duration
|
||||||
|
// renewDeadline is the interval between attempts by the acting master to
|
||||||
|
// renew a leadership slot before it stops leading. This must be less
|
||||||
|
// than or equal to the lease duration. This is only applicable if leader
|
||||||
|
// election is enabled.
|
||||||
|
RenewDeadline metav1.Duration
|
||||||
|
// retryPeriod is the duration the clients should wait between attempting
|
||||||
|
// acquisition and renewal of a leadership. This is only applicable if
|
||||||
|
// leader election is enabled.
|
||||||
|
RetryPeriod metav1.Duration
|
||||||
|
// resourceLock indicates the resource object type that will be used to lock
|
||||||
|
// during leader election cycles.
|
||||||
|
ResourceLock string
|
||||||
|
}
|
||||||
|
|
||||||
|
// DebuggingConfiguration holds configuration for Debugging related features.
|
||||||
|
type DebuggingConfiguration struct {
|
||||||
|
// enableProfiling enables profiling via web interface host:port/debug/pprof/
|
||||||
|
EnableProfiling bool
|
||||||
|
// enableContentionProfiling enables lock contention profiling, if
|
||||||
|
// enableProfiling is true.
|
||||||
|
EnableContentionProfiling bool
|
||||||
|
}
|
|
@ -11,14 +11,14 @@ go_library(
|
||||||
"zz_generated.conversion.go",
|
"zz_generated.conversion.go",
|
||||||
"zz_generated.deepcopy.go",
|
"zz_generated.deepcopy.go",
|
||||||
],
|
],
|
||||||
importmap = "k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/apis/config/v1alpha1",
|
importmap = "k8s.io/kubernetes/vendor/k8s.io/component-base/config/v1alpha1",
|
||||||
importpath = "k8s.io/apiserver/pkg/apis/config/v1alpha1",
|
importpath = "k8s.io/component-base/config/v1alpha1",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1: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/conversion:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
"//vendor/k8s.io/utils/pointer:go_default_library",
|
"//vendor/k8s.io/utils/pointer:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
|
@ -18,7 +18,7 @@ package v1alpha1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/apimachinery/pkg/conversion"
|
"k8s.io/apimachinery/pkg/conversion"
|
||||||
"k8s.io/apiserver/pkg/apis/config"
|
"k8s.io/component-base/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Important! The public back-and-forth conversion functions for the types in this generic
|
// Important! The public back-and-forth conversion functions for the types in this generic
|
||||||
|
@ -28,6 +28,14 @@ import (
|
||||||
// TODO: Fix the bug in conversion-gen so it automatically discovers these Convert_* functions
|
// TODO: Fix the bug in conversion-gen so it automatically discovers these Convert_* functions
|
||||||
// in autogenerated code as well.
|
// in autogenerated code as well.
|
||||||
|
|
||||||
|
func Convert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(in *ClientConnectionConfiguration, out *config.ClientConnectionConfiguration, s conversion.Scope) error {
|
||||||
|
return autoConvert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Convert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(in *config.ClientConnectionConfiguration, out *ClientConnectionConfiguration, s conversion.Scope) error {
|
||||||
|
return autoConvert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
func Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(in *DebuggingConfiguration, out *config.DebuggingConfiguration, s conversion.Scope) error {
|
func Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(in *DebuggingConfiguration, out *config.DebuggingConfiguration, s conversion.Scope) error {
|
||||||
return autoConvert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(in, out, s)
|
return autoConvert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(in, out, s)
|
||||||
}
|
}
|
|
@ -50,3 +50,24 @@ func RecommendedDefaultLeaderElectionConfiguration(obj *LeaderElectionConfigurat
|
||||||
obj.LeaderElect = utilpointer.BoolPtr(true)
|
obj.LeaderElect = utilpointer.BoolPtr(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RecommendedDefaultClientConnectionConfiguration defaults a pointer to a
|
||||||
|
// ClientConnectionConfiguration struct. This will set the recommended default
|
||||||
|
// values, but they may be subject to change between API versions. This function
|
||||||
|
// is intentionally not registered in the scheme as a "normal" `SetDefaults_Foo`
|
||||||
|
// function to allow consumers of this type to set whatever defaults for their
|
||||||
|
// embedded configs. Forcing consumers to use these defaults would be problematic
|
||||||
|
// as defaulting in the scheme is done as part of the conversion, and there would
|
||||||
|
// be no easy way to opt-out. Instead, if you want to use this defaulting method
|
||||||
|
// run it in your wrapper struct of this type in its `SetDefaults_` method.
|
||||||
|
func RecommendedDefaultClientConnectionConfiguration(obj *ClientConnectionConfiguration) {
|
||||||
|
if len(obj.ContentType) == 0 {
|
||||||
|
obj.ContentType = "application/vnd.kubernetes.protobuf"
|
||||||
|
}
|
||||||
|
if obj.QPS == 0.0 {
|
||||||
|
obj.QPS = 50.0
|
||||||
|
}
|
||||||
|
if obj.Burst == 0 {
|
||||||
|
obj.Burst = 100
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,6 +15,6 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=package
|
// +k8s:deepcopy-gen=package
|
||||||
// +k8s:conversion-gen=k8s.io/apiserver/pkg/apis/config
|
// +k8s:conversion-gen=k8s.io/component-base/config
|
||||||
|
|
||||||
package v1alpha1 // import "k8s.io/apiserver/pkg/apis/config/v1alpha1"
|
package v1alpha1 // import "k8s.io/component-base/config/v1alpha1"
|
|
@ -58,3 +58,19 @@ type DebuggingConfiguration struct {
|
||||||
// enableProfiling is true.
|
// enableProfiling is true.
|
||||||
EnableContentionProfiling bool `json:"enableContentionProfiling"`
|
EnableContentionProfiling bool `json:"enableContentionProfiling"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ClientConnectionConfiguration contains details for constructing a client.
|
||||||
|
type ClientConnectionConfiguration struct {
|
||||||
|
// kubeconfig is the path to a KubeConfig file.
|
||||||
|
Kubeconfig string `json:"kubeconfig"`
|
||||||
|
// acceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the
|
||||||
|
// default value of 'application/json'. This field will control all connections to the server used by a particular
|
||||||
|
// client.
|
||||||
|
AcceptContentTypes string `json:"acceptContentTypes"`
|
||||||
|
// contentType is the content type used when sending data to the server from this client.
|
||||||
|
ContentType string `json:"contentType"`
|
||||||
|
// qps controls the number of queries per second allowed for this connection.
|
||||||
|
QPS float32 `json:"qps"`
|
||||||
|
// burst allows extra queries to accumulate when a client is exceeding its rate.
|
||||||
|
Burst int32 `json:"burst"`
|
||||||
|
}
|
|
@ -24,7 +24,7 @@ import (
|
||||||
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
conversion "k8s.io/apimachinery/pkg/conversion"
|
conversion "k8s.io/apimachinery/pkg/conversion"
|
||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
config "k8s.io/apiserver/pkg/apis/config"
|
config "k8s.io/component-base/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -34,6 +34,16 @@ func init() {
|
||||||
// RegisterConversions adds conversion functions to the given scheme.
|
// RegisterConversions adds conversion functions to the given scheme.
|
||||||
// Public to allow building arbitrary schemes.
|
// Public to allow building arbitrary schemes.
|
||||||
func RegisterConversions(s *runtime.Scheme) error {
|
func RegisterConversions(s *runtime.Scheme) error {
|
||||||
|
if err := s.AddGeneratedConversionFunc((*ClientConnectionConfiguration)(nil), (*config.ClientConnectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(a.(*ClientConnectionConfiguration), b.(*config.ClientConnectionConfiguration), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*config.ClientConnectionConfiguration)(nil), (*ClientConnectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(a.(*config.ClientConnectionConfiguration), b.(*ClientConnectionConfiguration), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := s.AddGeneratedConversionFunc((*DebuggingConfiguration)(nil), (*config.DebuggingConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddGeneratedConversionFunc((*DebuggingConfiguration)(nil), (*config.DebuggingConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(a.(*DebuggingConfiguration), b.(*config.DebuggingConfiguration), scope)
|
return Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(a.(*DebuggingConfiguration), b.(*config.DebuggingConfiguration), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -54,6 +64,11 @@ func RegisterConversions(s *runtime.Scheme) error {
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := s.AddConversionFunc((*config.ClientConnectionConfiguration)(nil), (*ClientConnectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(a.(*config.ClientConnectionConfiguration), b.(*ClientConnectionConfiguration), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := s.AddConversionFunc((*config.DebuggingConfiguration)(nil), (*DebuggingConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddConversionFunc((*config.DebuggingConfiguration)(nil), (*DebuggingConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_config_DebuggingConfiguration_To_v1alpha1_DebuggingConfiguration(a.(*config.DebuggingConfiguration), b.(*DebuggingConfiguration), scope)
|
return Convert_config_DebuggingConfiguration_To_v1alpha1_DebuggingConfiguration(a.(*config.DebuggingConfiguration), b.(*DebuggingConfiguration), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -64,6 +79,11 @@ func RegisterConversions(s *runtime.Scheme) error {
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := s.AddConversionFunc((*ClientConnectionConfiguration)(nil), (*config.ClientConnectionConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(a.(*ClientConnectionConfiguration), b.(*config.ClientConnectionConfiguration), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := s.AddConversionFunc((*DebuggingConfiguration)(nil), (*config.DebuggingConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddConversionFunc((*DebuggingConfiguration)(nil), (*config.DebuggingConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(a.(*DebuggingConfiguration), b.(*config.DebuggingConfiguration), scope)
|
return Convert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(a.(*DebuggingConfiguration), b.(*config.DebuggingConfiguration), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -77,6 +97,24 @@ func RegisterConversions(s *runtime.Scheme) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func autoConvert_v1alpha1_ClientConnectionConfiguration_To_config_ClientConnectionConfiguration(in *ClientConnectionConfiguration, out *config.ClientConnectionConfiguration, s conversion.Scope) error {
|
||||||
|
out.Kubeconfig = in.Kubeconfig
|
||||||
|
out.AcceptContentTypes = in.AcceptContentTypes
|
||||||
|
out.ContentType = in.ContentType
|
||||||
|
out.QPS = in.QPS
|
||||||
|
out.Burst = in.Burst
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_config_ClientConnectionConfiguration_To_v1alpha1_ClientConnectionConfiguration(in *config.ClientConnectionConfiguration, out *ClientConnectionConfiguration, s conversion.Scope) error {
|
||||||
|
out.Kubeconfig = in.Kubeconfig
|
||||||
|
out.AcceptContentTypes = in.AcceptContentTypes
|
||||||
|
out.ContentType = in.ContentType
|
||||||
|
out.QPS = in.QPS
|
||||||
|
out.Burst = in.Burst
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func autoConvert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(in *DebuggingConfiguration, out *config.DebuggingConfiguration, s conversion.Scope) error {
|
func autoConvert_v1alpha1_DebuggingConfiguration_To_config_DebuggingConfiguration(in *DebuggingConfiguration, out *config.DebuggingConfiguration, s conversion.Scope) error {
|
||||||
out.EnableProfiling = in.EnableProfiling
|
out.EnableProfiling = in.EnableProfiling
|
||||||
out.EnableContentionProfiling = in.EnableContentionProfiling
|
out.EnableContentionProfiling = in.EnableContentionProfiling
|
|
@ -20,6 +20,22 @@ limitations under the License.
|
||||||
|
|
||||||
package v1alpha1
|
package v1alpha1
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *ClientConnectionConfiguration) DeepCopyInto(out *ClientConnectionConfiguration) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientConnectionConfiguration.
|
||||||
|
func (in *ClientConnectionConfiguration) DeepCopy() *ClientConnectionConfiguration {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(ClientConnectionConfiguration)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *DebuggingConfiguration) DeepCopyInto(out *DebuggingConfiguration) {
|
func (in *DebuggingConfiguration) DeepCopyInto(out *DebuggingConfiguration) {
|
||||||
*out = *in
|
*out = *in
|
|
@ -3,12 +3,12 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
|
||||||
go_library(
|
go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["validation.go"],
|
srcs = ["validation.go"],
|
||||||
importmap = "k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/apis/config/validation",
|
importmap = "k8s.io/kubernetes/vendor/k8s.io/component-base/config/validation",
|
||||||
importpath = "k8s.io/apiserver/pkg/apis/config/validation",
|
importpath = "k8s.io/component-base/config/validation",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ go_test(
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config:go_default_library",
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -18,9 +18,18 @@ package validation
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
"k8s.io/apiserver/pkg/apis/config"
|
"k8s.io/component-base/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// ValidateClientConnectionConfiguration ensures validation of the ClientConnectionConfiguration struct
|
||||||
|
func ValidateClientConnectionConfiguration(cc *config.ClientConnectionConfiguration, fldPath *field.Path) field.ErrorList {
|
||||||
|
allErrs := field.ErrorList{}
|
||||||
|
if cc.Burst < 0 {
|
||||||
|
allErrs = append(allErrs, field.Invalid(fldPath.Child("burst"), cc.Burst, "must be non-negative"))
|
||||||
|
}
|
||||||
|
return allErrs
|
||||||
|
}
|
||||||
|
|
||||||
// ValidateLeaderElectionConfiguration ensures validation of the LeaderElectionConfiguration struct
|
// ValidateLeaderElectionConfiguration ensures validation of the LeaderElectionConfiguration struct
|
||||||
func ValidateLeaderElectionConfiguration(cc *config.LeaderElectionConfiguration, fldPath *field.Path) field.ErrorList {
|
func ValidateLeaderElectionConfiguration(cc *config.LeaderElectionConfiguration, fldPath *field.Path) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
|
@ -17,13 +17,57 @@ limitations under the License.
|
||||||
package validation
|
package validation
|
||||||
|
|
||||||
import (
|
import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
|
||||||
"k8s.io/apiserver/pkg/apis/config"
|
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
|
"k8s.io/component-base/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func TestValidateClientConnectionConfiguration(t *testing.T) {
|
||||||
|
validConfig := &config.ClientConnectionConfiguration{
|
||||||
|
AcceptContentTypes: "application/json",
|
||||||
|
ContentType: "application/json",
|
||||||
|
QPS: 10,
|
||||||
|
Burst: 10,
|
||||||
|
}
|
||||||
|
|
||||||
|
qpsLessThanZero := validConfig.DeepCopy()
|
||||||
|
qpsLessThanZero.QPS = -1
|
||||||
|
|
||||||
|
burstLessThanZero := validConfig.DeepCopy()
|
||||||
|
burstLessThanZero.Burst = -1
|
||||||
|
|
||||||
|
scenarios := map[string]struct {
|
||||||
|
expectedToFail bool
|
||||||
|
config *config.ClientConnectionConfiguration
|
||||||
|
}{
|
||||||
|
"good": {
|
||||||
|
expectedToFail: false,
|
||||||
|
config: validConfig,
|
||||||
|
},
|
||||||
|
"good-qps-less-than-zero": {
|
||||||
|
expectedToFail: false,
|
||||||
|
config: qpsLessThanZero,
|
||||||
|
},
|
||||||
|
"bad-burst-less-then-zero": {
|
||||||
|
expectedToFail: true,
|
||||||
|
config: burstLessThanZero,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for name, scenario := range scenarios {
|
||||||
|
errs := ValidateClientConnectionConfiguration(scenario.config, field.NewPath("clientConnectionConfiguration"))
|
||||||
|
if len(errs) == 0 && scenario.expectedToFail {
|
||||||
|
t.Errorf("Unexpected success for scenario: %s", name)
|
||||||
|
}
|
||||||
|
if len(errs) > 0 && !scenario.expectedToFail {
|
||||||
|
t.Errorf("Unexpected failure for scenario: %s - %+v", name, errs)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestValidateLeaderElectionConfiguration(t *testing.T) {
|
func TestValidateLeaderElectionConfiguration(t *testing.T) {
|
||||||
validConfig := &config.LeaderElectionConfiguration{
|
validConfig := &config.LeaderElectionConfiguration{
|
||||||
ResourceLock: "configmap",
|
ResourceLock: "configmap",
|
|
@ -35,3 +35,38 @@ func (in *ClientConnectionConfiguration) DeepCopy() *ClientConnectionConfigurati
|
||||||
in.DeepCopyInto(out)
|
in.DeepCopyInto(out)
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *DebuggingConfiguration) DeepCopyInto(out *DebuggingConfiguration) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DebuggingConfiguration.
|
||||||
|
func (in *DebuggingConfiguration) DeepCopy() *DebuggingConfiguration {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(DebuggingConfiguration)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *LeaderElectionConfiguration) DeepCopyInto(out *LeaderElectionConfiguration) {
|
||||||
|
*out = *in
|
||||||
|
out.LeaseDuration = in.LeaseDuration
|
||||||
|
out.RenewDeadline = in.RenewDeadline
|
||||||
|
out.RetryPeriod = in.RetryPeriod
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaderElectionConfiguration.
|
||||||
|
func (in *LeaderElectionConfiguration) DeepCopy() *LeaderElectionConfiguration {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(LeaderElectionConfiguration)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
|
@ -58,14 +58,6 @@
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/config",
|
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/config/v1alpha1",
|
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
@ -147,11 +139,11 @@
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apiserver/pkg/apis/config",
|
"ImportPath": "k8s.io/component-base/config",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apiserver/pkg/apis/config/v1alpha1",
|
"ImportPath": "k8s.io/component-base/config/v1alpha1",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,11 +12,10 @@ go_library(
|
||||||
importpath = "k8s.io/kube-controller-manager/config/v1alpha1",
|
importpath = "k8s.io/kube-controller-manager/config/v1alpha1",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config/v1alpha1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/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/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/component-base/config/v1alpha1:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,8 @@ limitations under the License.
|
||||||
package v1alpha1
|
package v1alpha1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
apimachineryconfigv1alpha1 "k8s.io/apimachinery/pkg/apis/config/v1alpha1"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
apiserverconfigv1alpha1 "k8s.io/apiserver/pkg/apis/config/v1alpha1"
|
componentbaseconfigv1alpha1 "k8s.io/component-base/config/v1alpha1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// PersistentVolumeRecyclerConfiguration contains elements describing persistent volume plugins.
|
// PersistentVolumeRecyclerConfiguration contains elements describing persistent volume plugins.
|
||||||
|
@ -161,11 +160,11 @@ type GenericControllerManagerConfiguration struct {
|
||||||
MinResyncPeriod metav1.Duration
|
MinResyncPeriod metav1.Duration
|
||||||
// ClientConnection specifies the kubeconfig file and client connection
|
// ClientConnection specifies the kubeconfig file and client connection
|
||||||
// settings for the proxy server to use when communicating with the apiserver.
|
// settings for the proxy server to use when communicating with the apiserver.
|
||||||
ClientConnection apimachineryconfigv1alpha1.ClientConnectionConfiguration
|
ClientConnection componentbaseconfigv1alpha1.ClientConnectionConfiguration
|
||||||
// How long to wait between starting controller managers
|
// How long to wait between starting controller managers
|
||||||
ControllerStartInterval metav1.Duration
|
ControllerStartInterval metav1.Duration
|
||||||
// leaderElection defines the configuration of leader election client.
|
// leaderElection defines the configuration of leader election client.
|
||||||
LeaderElection apiserverconfigv1alpha1.LeaderElectionConfiguration
|
LeaderElection componentbaseconfigv1alpha1.LeaderElectionConfiguration
|
||||||
// Controllers is the list of controllers to enable or disable
|
// Controllers is the list of controllers to enable or disable
|
||||||
// '*' means "all enabled by default controllers"
|
// '*' means "all enabled by default controllers"
|
||||||
// 'foo' means "enable 'foo'"
|
// 'foo' means "enable 'foo'"
|
||||||
|
@ -173,7 +172,7 @@ type GenericControllerManagerConfiguration struct {
|
||||||
// first item for a particular name wins
|
// first item for a particular name wins
|
||||||
Controllers []string
|
Controllers []string
|
||||||
// DebuggingConfiguration holds configuration for Debugging related features.
|
// DebuggingConfiguration holds configuration for Debugging related features.
|
||||||
Debugging apiserverconfigv1alpha1.DebuggingConfiguration
|
Debugging componentbaseconfigv1alpha1.DebuggingConfiguration
|
||||||
}
|
}
|
||||||
|
|
||||||
// KubeCloudSharedConfiguration contains elements shared by both kube-controller manager
|
// KubeCloudSharedConfiguration contains elements shared by both kube-controller manager
|
||||||
|
|
|
@ -58,14 +58,6 @@
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/config",
|
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/config/v1alpha1",
|
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
@ -146,9 +138,21 @@
|
||||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/component-base/config",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/component-base/config/v1alpha1",
|
||||||
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/klog",
|
"ImportPath": "k8s.io/klog",
|
||||||
"Rev": "8139d8cb77af419532b33dfa7dd09fbc5f1d344f"
|
"Rev": "8139d8cb77af419532b33dfa7dd09fbc5f1d344f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "k8s.io/utils/pointer",
|
||||||
|
"Rev": "8e7ff06bf0e2d3289061230af203e430a15b6dcc"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,10 +12,10 @@ go_library(
|
||||||
importpath = "k8s.io/kube-proxy/config/v1alpha1",
|
importpath = "k8s.io/kube-proxy/config/v1alpha1",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config/v1alpha1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/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/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config/v1alpha1:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,8 @@ limitations under the License.
|
||||||
package v1alpha1
|
package v1alpha1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
apimachineryconfigv1alpha1 "k8s.io/apimachinery/pkg/apis/config/v1alpha1"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
componentbaseconfigv1alpha1 "k8s.io/component-base/config/v1alpha1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// KubeProxyIPTablesConfiguration contains iptables-related configuration
|
// KubeProxyIPTablesConfiguration contains iptables-related configuration
|
||||||
|
@ -104,7 +104,7 @@ type KubeProxyConfiguration struct {
|
||||||
HostnameOverride string `json:"hostnameOverride"`
|
HostnameOverride string `json:"hostnameOverride"`
|
||||||
// clientConnection specifies the kubeconfig file and client connection settings for the proxy
|
// clientConnection specifies the kubeconfig file and client connection settings for the proxy
|
||||||
// server to use when communicating with the apiserver.
|
// server to use when communicating with the apiserver.
|
||||||
ClientConnection apimachineryconfigv1alpha1.ClientConnectionConfiguration `json:"clientConnection"`
|
ClientConnection componentbaseconfigv1alpha1.ClientConnectionConfiguration `json:"clientConnection"`
|
||||||
// iptables contains iptables-related configuration options.
|
// iptables contains iptables-related configuration options.
|
||||||
IPTables KubeProxyIPTablesConfiguration `json:"iptables"`
|
IPTables KubeProxyIPTablesConfiguration `json:"iptables"`
|
||||||
// ipvs contains ipvs-related configuration options.
|
// ipvs contains ipvs-related configuration options.
|
||||||
|
|
|
@ -58,14 +58,6 @@
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/config",
|
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/config/v1alpha1",
|
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
@ -147,11 +139,11 @@
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apiserver/pkg/apis/config",
|
"ImportPath": "k8s.io/component-base/config",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apiserver/pkg/apis/config/v1alpha1",
|
"ImportPath": "k8s.io/component-base/config/v1alpha1",
|
||||||
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,11 +12,10 @@ go_library(
|
||||||
importpath = "k8s.io/kube-scheduler/config/v1alpha1",
|
importpath = "k8s.io/kube-scheduler/config/v1alpha1",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/config/v1alpha1:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/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/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/apis/config/v1alpha1:go_default_library",
|
"//staging/src/k8s.io/component-base/config/v1alpha1:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,8 @@ limitations under the License.
|
||||||
package v1alpha1
|
package v1alpha1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
apimachineryconfigv1alpha1 "k8s.io/apimachinery/pkg/apis/config/v1alpha1"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
apiserverconfigv1alpha1 "k8s.io/apiserver/pkg/apis/config/v1alpha1"
|
componentbaseconfigv1alpha1 "k8s.io/component-base/config/v1alpha1"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -54,7 +53,7 @@ type KubeSchedulerConfiguration struct {
|
||||||
|
|
||||||
// ClientConnection specifies the kubeconfig file and client connection
|
// ClientConnection specifies the kubeconfig file and client connection
|
||||||
// settings for the proxy server to use when communicating with the apiserver.
|
// settings for the proxy server to use when communicating with the apiserver.
|
||||||
ClientConnection apimachineryconfigv1alpha1.ClientConnectionConfiguration `json:"clientConnection"`
|
ClientConnection componentbaseconfigv1alpha1.ClientConnectionConfiguration `json:"clientConnection"`
|
||||||
// HealthzBindAddress is the IP address and port for the health check server to serve on,
|
// HealthzBindAddress is the IP address and port for the health check server to serve on,
|
||||||
// defaulting to 0.0.0.0:10251
|
// defaulting to 0.0.0.0:10251
|
||||||
HealthzBindAddress string `json:"healthzBindAddress"`
|
HealthzBindAddress string `json:"healthzBindAddress"`
|
||||||
|
@ -63,8 +62,8 @@ type KubeSchedulerConfiguration struct {
|
||||||
MetricsBindAddress string `json:"metricsBindAddress"`
|
MetricsBindAddress string `json:"metricsBindAddress"`
|
||||||
|
|
||||||
// DebuggingConfiguration holds configuration for Debugging related features
|
// DebuggingConfiguration holds configuration for Debugging related features
|
||||||
// TODO: We might wanna make this a substruct like Debugging apiserverconfig.DebuggingConfiguration
|
// TODO: We might wanna make this a substruct like Debugging componentbaseconfigv1alpha1.DebuggingConfiguration
|
||||||
apiserverconfigv1alpha1.DebuggingConfiguration `json:",inline"`
|
componentbaseconfigv1alpha1.DebuggingConfiguration `json:",inline"`
|
||||||
|
|
||||||
// DisablePreemption disables the pod preemption feature.
|
// DisablePreemption disables the pod preemption feature.
|
||||||
DisablePreemption bool `json:"disablePreemption"`
|
DisablePreemption bool `json:"disablePreemption"`
|
||||||
|
@ -126,7 +125,7 @@ type SchedulerPolicyConfigMapSource struct {
|
||||||
// KubeSchedulerLeaderElectionConfiguration expands LeaderElectionConfiguration
|
// KubeSchedulerLeaderElectionConfiguration expands LeaderElectionConfiguration
|
||||||
// to include scheduler specific configuration.
|
// to include scheduler specific configuration.
|
||||||
type KubeSchedulerLeaderElectionConfiguration struct {
|
type KubeSchedulerLeaderElectionConfiguration struct {
|
||||||
apiserverconfigv1alpha1.LeaderElectionConfiguration `json:",inline"`
|
componentbaseconfigv1alpha1.LeaderElectionConfiguration `json:",inline"`
|
||||||
// LockObjectNamespace defines the namespace of the lock object
|
// LockObjectNamespace defines the namespace of the lock object
|
||||||
LockObjectNamespace string `json:"lockObjectNamespace"`
|
LockObjectNamespace string `json:"lockObjectNamespace"`
|
||||||
// LockObjectName defines the lock object name
|
// LockObjectName defines the lock object name
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../staging/src/k8s.io/component-base
|
Loading…
Reference in New Issue