This commit adds proto tags to `k8s.io/metrics/pkg/apis/metrics/v1alpha1`. The tags are more-or-less what's suggested by `go-to-protobuf`, with the exception of the use of `castvalue`. `castvalue` is used to force gogo-proto to realize that the value of `ResourceList` (which is `map[ResourceName]Quantity`) is actually a type that it should consider when recording which packages are used. Otherwise, it ignores the type, using an unnamed import for the `k8s.io/apimachinery/pkg/api/resource`, which causes compilation errors.
This directory is the staging area for packages that have been split to their own repository. The content here will be periodically published to respective top-level k8s.io repositories.
Most code in the staging/ directory is authoritative, i.e. the only copy of
the code. You can directly modify such code. However the packages in
staging/src/k8s.io/client-go/pkg are copied from pkg/. If you modify the
original code in pkg/, you need to run hack/godep-restore.sh from the k8s
root directory, followed by hack/update-staging-client-go.sh. We are working
towards making all code in staging/ authoritative.
The vendor/k8s.io directory contains symlinks pointing to this staging area,
so to use a package in the staging area, you can import it as
k8s.io/<package-name>, as if the package were vendored. Packages will be
vendored from k8s.io/<package-name> for real after the test matrix is
converted to vendor k8s components.