mirror of https://github.com/kubernetes/kops.git
Update apiserver for 1.10
This commit is contained in:
parent
88023a3186
commit
f06fbd0c5a
|
|
@ -74,6 +74,12 @@
|
|||
revision = "3391d3790d23d03408670993e957e8f408993c34"
|
||||
version = "v1.0.1"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/asaskevich/govalidator"
|
||||
packages = ["."]
|
||||
revision = "ccb8e960c48f04d6935e72476ae4a51028f9e22f"
|
||||
version = "v9"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/aws/aws-sdk-go"
|
||||
packages = [
|
||||
|
|
@ -328,6 +334,18 @@
|
|||
revision = "300e940a926eb277d3901b20bdfcc54928ad3642"
|
||||
version = "v1.25.4"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
name = "github.com/go-openapi/analysis"
|
||||
packages = ["."]
|
||||
revision = "863ac7f90e00e88e507095639a8457bbbf3c2ec9"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
name = "github.com/go-openapi/errors"
|
||||
packages = ["."]
|
||||
revision = "7bcb96a367bac6b76e6e42fa84155bb5581dcff8"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/go-openapi/jsonpointer"
|
||||
packages = ["."]
|
||||
|
|
@ -338,16 +356,34 @@
|
|||
packages = ["."]
|
||||
revision = "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
name = "github.com/go-openapi/loads"
|
||||
packages = ["."]
|
||||
revision = "2a2b323bab96e6b1fdee110e57d959322446e9c9"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/go-openapi/spec"
|
||||
packages = ["."]
|
||||
revision = "1de3e0542de65ad8d75452a595886fdd0befb363"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
name = "github.com/go-openapi/strfmt"
|
||||
packages = ["."]
|
||||
revision = "481808443b00a14745fada967cb5eeff0f9b1df2"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/go-openapi/swag"
|
||||
packages = ["."]
|
||||
revision = "f3f9494671f93fcff853e3c6e9e948b3eb71e590"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/gobuffalo/envy"
|
||||
packages = ["."]
|
||||
revision = "ef60bfc50c8f92d1ee64674d8ce7a48f1f67625e"
|
||||
version = "v1.6.2"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/gogo/protobuf"
|
||||
packages = [
|
||||
|
|
@ -490,6 +526,12 @@
|
|||
packages = ["."]
|
||||
revision = "0b12d6b521d83fc7f755e7cfc1b1fbdd35a01a74"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/joho/godotenv"
|
||||
packages = ["."]
|
||||
revision = "a79fa1e548e2c689c241d10173efd51e5d689d5b"
|
||||
version = "v1.2.0"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/jonboulle/clockwork"
|
||||
packages = ["."]
|
||||
|
|
@ -514,6 +556,29 @@
|
|||
packages = ["."]
|
||||
revision = "2788f0dbd16903de03cb8186e5c7d97b69ad387b"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/kubernetes-incubator/apiserver-builder"
|
||||
packages = [
|
||||
"cmd/apiserver-boot",
|
||||
"cmd/apiserver-boot/boot/build",
|
||||
"cmd/apiserver-boot/boot/create",
|
||||
"cmd/apiserver-boot/boot/init_repo",
|
||||
"cmd/apiserver-boot/boot/run",
|
||||
"cmd/apiserver-boot/boot/update",
|
||||
"cmd/apiserver-boot/boot/util",
|
||||
"cmd/apiserver-boot/boot/version"
|
||||
]
|
||||
revision = "e809ac2f9f0c238f08d08a876f8b3f499604f941"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/kubernetes-incubator/reference-docs"
|
||||
packages = [
|
||||
"gen-apidocs",
|
||||
"gen-apidocs/generators",
|
||||
"gen-apidocs/generators/api"
|
||||
]
|
||||
revision = "8fadf91876ccbcfec367b434706a3c449073b0b4"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/magiconair/properties"
|
||||
packages = ["."]
|
||||
|
|
@ -528,6 +593,12 @@
|
|||
]
|
||||
revision = "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
name = "github.com/markbates/inflect"
|
||||
packages = ["."]
|
||||
revision = "fbc6b23ce49e2578f572d2e72bb72fa03c7145de"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/matttproud/golang_protobuf_extensions"
|
||||
packages = ["pbutil"]
|
||||
|
|
@ -920,6 +991,15 @@
|
|||
packages = ["."]
|
||||
revision = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"
|
||||
|
||||
[[projects]]
|
||||
branch = "v2"
|
||||
name = "gopkg.in/mgo.v2"
|
||||
packages = [
|
||||
"bson",
|
||||
"internal/json"
|
||||
]
|
||||
revision = "3f83fa5005286a7fe593b055f0d7771a7dce4655"
|
||||
|
||||
[[projects]]
|
||||
name = "gopkg.in/natefinch/lumberjack.v2"
|
||||
packages = ["."]
|
||||
|
|
@ -1599,6 +1679,6 @@
|
|||
[solve-meta]
|
||||
analyzer-name = "dep"
|
||||
analyzer-version = 1
|
||||
inputs-digest = "a07cf721a3e7e0b73b9fcd398919c3d29dce5b2bc67bb11ddef7193d39df2e12"
|
||||
inputs-digest = "2e3d6ddfd1017a940526237cadd8a968d6e8170af9dac833b2a94bd8ffc4646f"
|
||||
solver-name = "gps-cdcl"
|
||||
solver-version = 1
|
||||
|
|
|
|||
10
Gopkg.toml
10
Gopkg.toml
|
|
@ -11,6 +11,8 @@ required = [
|
|||
|
||||
# Needed for docs generation
|
||||
"k8s.io/code-generator/cmd/openapi-gen",
|
||||
"github.com/kubernetes-incubator/apiserver-builder/cmd/apiserver-boot",
|
||||
"github.com/kubernetes-incubator/reference-docs/gen-apidocs",
|
||||
]
|
||||
|
||||
[prune]
|
||||
|
|
@ -66,6 +68,14 @@ required = [
|
|||
name = "k8s.io/kubernetes"
|
||||
version = "v1.10.1"
|
||||
|
||||
# Needed for docs generation
|
||||
[[override]]
|
||||
name = "github.com/kubernetes-incubator/apiserver-builder"
|
||||
revision = "e809ac2f9f0c238f08d08a876f8b3f499604f941"
|
||||
[[override]]
|
||||
name = "github.com/kubernetes-incubator/reference-docs"
|
||||
revision = "8fadf91876ccbcfec367b434706a3c449073b0b4"
|
||||
|
||||
|
||||
# These come from godeps.json in kubernetes
|
||||
[[override]]
|
||||
|
|
|
|||
|
|
@ -114,17 +114,34 @@ func (c completedConfig) New() (*KopsServer, error) {
|
|||
apiGroupInfo := server.NewDefaultAPIGroupInfo(kops.GroupName, registry, Scheme, metav1.ParameterCodec, Codecs)
|
||||
|
||||
apiGroupInfo.GroupMeta.GroupVersion = v1alpha2.SchemeGroupVersion
|
||||
v1alpha2storage := map[string]rest.Storage{}
|
||||
v1alpha2storage["clusters"], err = registrycluster.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error initializing clusters: %v", err)
|
||||
|
||||
// {
|
||||
// v1alpha1storage := map[string]rest.Storage{}
|
||||
// v1alpha1storage["clusters"], err = registrycluster.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter)
|
||||
// if err != nil {
|
||||
// return nil, fmt.Errorf("error initializing clusters: %v", err)
|
||||
// }
|
||||
// //v1alpha2stv1alpha1storageorage["clusters/full"] = registrycluster.NewREST(c.RESTOptionsGetter)
|
||||
// v1alpha1storage["instancegroups"], err = registryinstancegroup.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter)
|
||||
// if err != nil {
|
||||
// return nil, fmt.Errorf("error initializing instancegroups: %v", err)
|
||||
// }
|
||||
// apiGroupInfo.VersionedResourcesStorageMap["v1alpha1"] = v1alpha1storage
|
||||
// }
|
||||
|
||||
{
|
||||
v1alpha2storage := map[string]rest.Storage{}
|
||||
v1alpha2storage["clusters"], err = registrycluster.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error initializing clusters: %v", err)
|
||||
}
|
||||
//v1alpha2storage["clusters/full"] = registrycluster.NewREST(c.RESTOptionsGetter)
|
||||
v1alpha2storage["instancegroups"], err = registryinstancegroup.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error initializing instancegroups: %v", err)
|
||||
}
|
||||
apiGroupInfo.VersionedResourcesStorageMap["v1alpha2"] = v1alpha2storage
|
||||
}
|
||||
//v1alpha2storage["clusters/full"] = registrycluster.NewREST(c.RESTOptionsGetter)
|
||||
v1alpha2storage["instancegroups"], err = registryinstancegroup.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error initializing instancegroups: %v", err)
|
||||
}
|
||||
apiGroupInfo.VersionedResourcesStorageMap["v1alpha2"] = v1alpha2storage
|
||||
|
||||
if err := s.GenericAPIServer.InstallAPIGroup(&apiGroupInfo); err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
|
|
@ -41,11 +41,7 @@ import (
|
|||
const defaultEtcdPathPrefix = "/registry/kops.kubernetes.io"
|
||||
|
||||
type KopsServerOptions struct {
|
||||
Etcd *genericoptions.EtcdOptions
|
||||
SecureServing *genericoptions.SecureServingOptions
|
||||
//InsecureServing *genericoptions.ServingOptions
|
||||
Authentication *genericoptions.DelegatingAuthenticationOptions
|
||||
Authorization *genericoptions.DelegatingAuthorizationOptions
|
||||
RecommendedOptions *genericoptions.RecommendedOptions
|
||||
|
||||
StdOut io.Writer
|
||||
StdErr io.Writer
|
||||
|
|
@ -56,20 +52,14 @@ type KopsServerOptions struct {
|
|||
// NewCommandStartKopsServer provides a CLI handler for 'start master' command
|
||||
func NewCommandStartKopsServer(out, err io.Writer) *cobra.Command {
|
||||
o := &KopsServerOptions{
|
||||
Etcd: genericoptions.NewEtcdOptions(&storagebackend.Config{
|
||||
Prefix: defaultEtcdPathPrefix,
|
||||
Codec: nil,
|
||||
}),
|
||||
SecureServing: genericoptions.NewSecureServingOptions(),
|
||||
//InsecureServing: genericoptions.NewInsecureServingOptions(),
|
||||
Authentication: genericoptions.NewDelegatingAuthenticationOptions(),
|
||||
Authorization: genericoptions.NewDelegatingAuthorizationOptions(),
|
||||
RecommendedOptions: genericoptions.NewRecommendedOptions(defaultEtcdPathPrefix,
|
||||
apiserver.Codecs.LegacyCodec(v1alpha2.SchemeGroupVersion)),
|
||||
|
||||
StdOut: out,
|
||||
StdErr: err,
|
||||
}
|
||||
o.Etcd.StorageConfig.Type = storagebackend.StorageTypeETCD2
|
||||
o.Etcd.StorageConfig.Codec = apiserver.Codecs.LegacyCodec(v1alpha2.SchemeGroupVersion)
|
||||
o.RecommendedOptions.Etcd.StorageConfig.Type = storagebackend.StorageTypeETCD2
|
||||
o.RecommendedOptions.Etcd.StorageConfig.Codec = apiserver.Codecs.LegacyCodec(v1alpha2.SchemeGroupVersion)
|
||||
//o.SecureServing.ServingOptions.BindPort = 443
|
||||
|
||||
cmd := &cobra.Command{
|
||||
|
|
@ -90,11 +80,7 @@ func NewCommandStartKopsServer(out, err io.Writer) *cobra.Command {
|
|||
}
|
||||
|
||||
flags := cmd.Flags()
|
||||
o.Etcd.AddFlags(flags)
|
||||
o.SecureServing.AddFlags(flags)
|
||||
//o.InsecureServing.AddFlags(flags)
|
||||
o.Authentication.AddFlags(flags)
|
||||
o.Authorization.AddFlags(flags)
|
||||
o.RecommendedOptions.AddFlags(flags)
|
||||
|
||||
flags.BoolVar(&o.PrintOpenapi, "print-openapi", false,
|
||||
"Print the openapi json and exit")
|
||||
|
|
@ -104,8 +90,7 @@ func NewCommandStartKopsServer(out, err io.Writer) *cobra.Command {
|
|||
|
||||
func (o KopsServerOptions) Validate(args []string) error {
|
||||
errors := []error{}
|
||||
//errors = append(errors, o.RecommendedOptions.Validate()...)
|
||||
//errors = append(errors, o.Admission.Validate()...)
|
||||
errors = append(errors, o.RecommendedOptions.Validate()...)
|
||||
return utilerrors.NewAggregate(errors)
|
||||
}
|
||||
|
||||
|
|
@ -114,70 +99,62 @@ func (o *KopsServerOptions) Complete() error {
|
|||
}
|
||||
|
||||
func (o KopsServerOptions) Config() (*apiserver.Config, error) {
|
||||
// // register admission plugins
|
||||
//banflunder.Register(o.Admission.Plugins)
|
||||
//
|
||||
//// TODO have a "real" external address
|
||||
//if err := o.RecommendedOptions.SecureServing.MaybeDefaultWithSelfSignedCerts("localhost", nil, []net.IP{net.ParseIP("127.0.0.1")}); err != nil {
|
||||
// return nil, fmt.Errorf("error creating self-signed certificates: %v", err)
|
||||
//}
|
||||
//
|
||||
//serverConfig := genericapiserver.NewRecommendedConfig(apiserver.Codecs)
|
||||
//if err := o.RecommendedOptions.ApplyTo(serverConfig); err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
//
|
||||
//client, err := clientset.NewForConfig(serverConfig.LoopbackClientConfig)
|
||||
//if err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
//informerFactory := informers.NewSharedInformerFactory(client, serverConfig.LoopbackClientConfig.Timeout)
|
||||
//admissionInitializer, err := wardleinitializer.New(informerFactory)
|
||||
//if err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
//
|
||||
//if err := o.Admission.ApplyTo(&serverConfig.Config, serverConfig.SharedInformerFactory, admissionInitializer); err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
|
||||
// TODO have a "real" external address
|
||||
if err := o.SecureServing.MaybeDefaultWithSelfSignedCerts("localhost", nil, []net.IP{net.ParseIP("127.0.0.1")}); err != nil {
|
||||
if err := o.RecommendedOptions.SecureServing.MaybeDefaultWithSelfSignedCerts("localhost", nil, []net.IP{net.ParseIP("127.0.0.1")}); err != nil {
|
||||
return nil, fmt.Errorf("error creating self-signed certificates: %v", err)
|
||||
}
|
||||
|
||||
serverConfig := genericapiserver.NewRecommendedConfig(apiserver.Codecs)
|
||||
// 1.6: serverConfig := genericapiserver.NewConfig().WithSerializer(kops.Codecs)
|
||||
//if err := o.RecommendedOptions.ApplyTo(serverConfig); err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
scheme := apiserver.Scheme
|
||||
config := genericapiserver.NewRecommendedConfig(apiserver.Codecs)
|
||||
|
||||
serverConfig.CorsAllowedOriginList = []string{".*"}
|
||||
// We have to skip some of these to get docs to work...
|
||||
// if err := o.RecommendedOptions.ApplyTo(config, scheme); err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
|
||||
if err := o.Etcd.ApplyTo(&serverConfig.Config); err != nil {
|
||||
if err := o.RecommendedOptions.Etcd.ApplyTo(&config.Config); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := o.RecommendedOptions.SecureServing.ApplyTo(&config.Config); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := o.SecureServing.ApplyTo(&serverConfig.Config); err != nil {
|
||||
if !o.PrintOpenapi {
|
||||
if err := o.RecommendedOptions.Authentication.ApplyTo(&config.Config.Authentication, config.SecureServing, config.OpenAPIConfig); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := o.RecommendedOptions.Authorization.ApplyTo(&config.Config.Authorization); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
glog.Warningf("Authentication/Authorization disabled")
|
||||
}
|
||||
|
||||
if err := o.RecommendedOptions.Audit.ApplyTo(&config.Config); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := o.RecommendedOptions.Features.ApplyTo(&config.Config); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
//if err := o.InsecureServing.ApplyTo(serverConfig); err != nil {
|
||||
// return err
|
||||
//}
|
||||
|
||||
glog.Warningf("Authentication/Authorization disabled")
|
||||
if !o.PrintOpenapi {
|
||||
if err := o.RecommendedOptions.CoreAPI.ApplyTo(config); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
//var err error
|
||||
//privilegedLoopbackToken := uuid.NewRandom().String()
|
||||
//if genericAPIServerConfig.LoopbackClientConfig, err = genericAPIServerConfig.SecureServingInfo.NewSelfClientConfig(privilegedLoopbackToken); err != nil {
|
||||
// return err
|
||||
// }
|
||||
if initializers, err := o.RecommendedOptions.ExtraAdmissionInitializers(config); err != nil {
|
||||
return nil, err
|
||||
} else if err := o.RecommendedOptions.Admission.ApplyTo(&config.Config, config.SharedInformerFactory, config.ClientConfig, scheme, initializers...); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
config := &apiserver.Config{
|
||||
GenericConfig: serverConfig,
|
||||
// serverConfig.CorsAllowedOriginList = []string{".*"}
|
||||
|
||||
return &apiserver.Config{
|
||||
GenericConfig: config,
|
||||
ExtraConfig: apiserver.ExtraConfig{},
|
||||
}
|
||||
return config, nil
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (o KopsServerOptions) RunKopsServer() error {
|
||||
|
|
@ -186,11 +163,6 @@ func (o KopsServerOptions) RunKopsServer() error {
|
|||
return err
|
||||
}
|
||||
|
||||
//config := apiserver.Config{
|
||||
// GenericConfig: serverConfig,
|
||||
// RESTOptionsGetter: &restOptionsFactory{storageConfig: &o.Etcd.StorageConfig},
|
||||
//}
|
||||
|
||||
// Configure the openapi spec provided on /swagger.json
|
||||
// TODO: Come up with a better title and a meaningful version
|
||||
config.GenericConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(
|
||||
|
|
@ -203,8 +175,6 @@ func (o KopsServerOptions) RunKopsServer() error {
|
|||
return err
|
||||
}
|
||||
|
||||
srv := server.GenericAPIServer.PrepareRun()
|
||||
|
||||
//server.GenericAPIServer.AddPostStartHook("start-sample-server-informers", func(context genericapiserver.PostStartHookContext) error {
|
||||
// config.GenericConfig.SharedInformerFactory.Start(context.StopCh)
|
||||
// return nil
|
||||
|
|
@ -217,6 +187,7 @@ func (o KopsServerOptions) RunKopsServer() error {
|
|||
os.Exit(0)
|
||||
}
|
||||
|
||||
srv := server.GenericAPIServer.PrepareRun()
|
||||
return srv.Run(wait.NeverStop)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue