git subrepo clone (merge) https://github.com/kubernetes-incubator/metrics-server.git metrics-server

subrepo:
  subdir:   "metrics-server"
  merged:   "92d8412"
upstream:
  origin:   "https://github.com/kubernetes-incubator/metrics-server.git"
  branch:   "master"
  commit:   "92d8412"
git-subrepo:
  version:  "0.4.0"
  origin:   "???"
  commit:   "???"
diff --git a/metrics-server/vendor/k8s.io/kube-openapi/cmd/openapi-gen/args/args.go b/metrics-server/vendor/k8s.io/kube-openapi/cmd/openapi-gen/args/args.go
new file mode 100644
index 0000000..f555bdd
--- /dev/null
+++ b/metrics-server/vendor/k8s.io/kube-openapi/cmd/openapi-gen/args/args.go
@@ -0,0 +1,73 @@
+/*
+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 args
+
+import (
+	"fmt"
+
+	"github.com/spf13/pflag"
+	"k8s.io/gengo/args"
+)
+
+// CustomArgs is used by the gengo framework to pass args specific to this generator.
+type CustomArgs struct {
+	// ReportFilename is added to CustomArgs for specifying name of report file used
+	// by API linter. If specified, API rule violations will be printed to report file.
+	// Otherwise default value "-" will be used which indicates stdout.
+	ReportFilename string
+}
+
+// NewDefaults returns default arguments for the generator. Returning the arguments instead
+// of using default flag parsing allows registering custom arguments afterwards
+func NewDefaults() (*args.GeneratorArgs, *CustomArgs) {
+	// Default() sets a couple of flag default values for example the boilerplate.
+	// WithoutDefaultFlagParsing() disables implicit addition of command line flags and parsing,
+	// which allows registering custom arguments afterwards
+	genericArgs := args.Default().WithoutDefaultFlagParsing()
+	customArgs := &CustomArgs{}
+	genericArgs.CustomArgs = customArgs
+
+	// Default value for report filename is "-", which stands for stdout
+	customArgs.ReportFilename = "-"
+	// Default value for output file base name
+	genericArgs.OutputFileBaseName = "openapi_generated"
+
+	return genericArgs, customArgs
+}
+
+// AddFlags add the generator flags to the flag set.
+func (c *CustomArgs) AddFlags(fs *pflag.FlagSet) {
+	fs.StringVarP(&c.ReportFilename, "report-filename", "r", c.ReportFilename, "Name of report file used by API linter to print API violations. Default \"-\" stands for standard output. NOTE that if valid filename other than \"-\" is specified, API linter won't return error on detected API violations. This allows further check of existing API violations without stopping the OpenAPI generation toolchain.")
+}
+
+// Validate checks the given arguments.
+func Validate(genericArgs *args.GeneratorArgs) error {
+	c, ok := genericArgs.CustomArgs.(*CustomArgs)
+	if !ok {
+		return fmt.Errorf("input arguments don't contain valid custom arguments")
+	}
+	if len(c.ReportFilename) == 0 {
+		return fmt.Errorf("report filename cannot be empty. specify a valid filename or use \"-\" for stdout")
+	}
+	if len(genericArgs.OutputFileBaseName) == 0 {
+		return fmt.Errorf("output file base name cannot be empty")
+	}
+	if len(genericArgs.OutputPackagePath) == 0 {
+		return fmt.Errorf("output package cannot be empty")
+	}
+	return nil
+}
diff --git a/metrics-server/vendor/k8s.io/kube-openapi/cmd/openapi-gen/openapi-gen.go b/metrics-server/vendor/k8s.io/kube-openapi/cmd/openapi-gen/openapi-gen.go
new file mode 100644
index 0000000..0f7563b
--- /dev/null
+++ b/metrics-server/vendor/k8s.io/kube-openapi/cmd/openapi-gen/openapi-gen.go
@@ -0,0 +1,55 @@
+/*
+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.
+*/
+
+// This package generates openAPI definition file to be used in open API spec generation on API servers. To generate
+// definition for a specific type or package add "+k8s:openapi-gen=true" tag to the type/package comment lines. To
+// exclude a type from a tagged package, add "+k8s:openapi-gen=false" tag to the type comment lines.
+
+package main
+
+import (
+	"flag"
+	"log"
+
+	generatorargs "k8s.io/kube-openapi/cmd/openapi-gen/args"
+	"k8s.io/kube-openapi/pkg/generators"
+
+	"github.com/spf13/pflag"
+)
+
+func main() {
+	genericArgs, customArgs := generatorargs.NewDefaults()
+
+	genericArgs.AddFlags(pflag.CommandLine)
+	customArgs.AddFlags(pflag.CommandLine)
+	flag.Set("logtostderr", "true")
+	pflag.CommandLine.AddGoFlagSet(flag.CommandLine)
+	pflag.Parse()
+
+	if err := generatorargs.Validate(genericArgs); err != nil {
+		log.Fatalf("Arguments validation error: %v", err)
+	}
+
+	// Generates the code for the OpenAPIDefinitions.
+	if err := genericArgs.Execute(
+		generators.NameSystems(),
+		generators.DefaultNameSystem(),
+		generators.Packages,
+	); err != nil {
+		log.Fatalf("OpenAPI code generation error: %v", err)
+	}
+	log.Println("Code for OpenAPI definitions generated")
+}