mirror of
https://github.com/kubernetes/sample-controller.git
synced 2025-02-20 23:56:23 +08:00
Merge pull request #57958 from nikhita/sample-controller-crd-validation
Automatic merge from submit-queue (batch tested with PRs 57902, 57958). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Add CustomResourceValidation example in sample-controller Add `CustomResourceValidation` example in sample-controller. Addresses the following part of https://github.com/kubernetes/sample-controller/issues/2: > CRDs support json-schema schemas. These CRDs don't have them. It would be nice to show how to add them **Release note**: ```release-note NONE ``` /assign sttts munnerz Kubernetes-commit: 51acead08489644d30b3f1a978e0b36f228d12a7
This commit is contained in:
commit
258eead087
316
Godeps/Godeps.json
generated
316
Godeps/Godeps.json
generated
@ -352,635 +352,635 @@
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1alpha1",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/version",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
||||
"Rev": "a463f34d125a31787d2be8b47bcf6370b0cf1bde"
|
||||
"Rev": "91d8586aac31d9086939d077ba556d2c7fb157b4"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/discovery",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/discovery/fake",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/apps",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/apps/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/apps/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/apps/v1beta2",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/autoscaling",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/autoscaling/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/batch",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/batch/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/batch/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/batch/v2alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/certificates",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/certificates/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/core",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/core/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/events",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/events/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/extensions",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/extensions/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/internalinterfaces",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/networking",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/networking/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/policy",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/policy/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/rbac",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/rbac/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/rbac/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/scheduling",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/settings",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/settings/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/storage",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/storage/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/storage/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/storage/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/apps/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/apps/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/apps/v1beta2",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/autoscaling/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/batch/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/batch/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/batch/v2alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/certificates/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/core/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/events/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/extensions/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/networking/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/policy/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/rbac/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/rbac/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/settings/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/storage/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/storage/v1alpha1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/storage/v1beta1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/pkg/version",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/rest",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/rest/watch",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/testing",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/auth",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/cache",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/metrics",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/pager",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/record",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/reference",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/transport",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/buffer",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/cert",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/flowcontrol",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/homedir",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/integer",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/workqueue",
|
||||
"Rev": "18ec62fe90328a54f7ab513d5fedf3e8650c98b5"
|
||||
"Rev": "21ab0aa61a13eb1ea583b24c69943f9fea5929bd"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/kube-openapi/pkg/common",
|
||||
|
16
README.md
16
README.md
@ -73,6 +73,22 @@ type User struct {
|
||||
}
|
||||
```
|
||||
|
||||
## Validation
|
||||
|
||||
To validate custom resources, use the [`CustomResourceValidation`](https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation) feature.
|
||||
|
||||
This feature is beta and enabled by default in v1.9. If you are using v1.8, enable the feature using
|
||||
the `CustomResourceValidation` feature gate on the [kube-apiserver](https://kubernetes.io/docs/admin/kube-apiserver):
|
||||
|
||||
```sh
|
||||
--feature-gates=CustomResourceValidation=true
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
The schema in the [example CRD](./artifacts/examples/crd.yaml) applies the following validation on the custom resource:
|
||||
`spec.replicas` must be an integer and must have a minimum value of 1 and a maximum value of 10.
|
||||
|
||||
## Cleanup
|
||||
|
||||
You can clean up the created CustomResourceDefinition with:
|
||||
|
@ -9,3 +9,12 @@ spec:
|
||||
kind: Foo
|
||||
plural: foos
|
||||
scope: Namespaced
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
spec:
|
||||
properties:
|
||||
replicas:
|
||||
type: integer
|
||||
minimum: 1
|
||||
maximum: 10
|
||||
|
1
vendor/k8s.io/apimachinery/pkg/api/meta/BUILD
generated
vendored
1
vendor/k8s.io/apimachinery/pkg/api/meta/BUILD
generated
vendored
@ -52,6 +52,7 @@ go_library(
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
|
20
vendor/k8s.io/apimachinery/pkg/api/meta/errors.go
generated
vendored
20
vendor/k8s.io/apimachinery/pkg/api/meta/errors.go
generated
vendored
@ -20,6 +20,7 @@ import (
|
||||
"fmt"
|
||||
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
)
|
||||
|
||||
// AmbiguousResourceError is returned if the RESTMapper finds multiple matches for a resource
|
||||
@ -85,11 +86,26 @@ func (e *NoResourceMatchError) Error() string {
|
||||
|
||||
// NoKindMatchError is returned if the RESTMapper can't find any match for a kind
|
||||
type NoKindMatchError struct {
|
||||
PartialKind schema.GroupVersionKind
|
||||
// GroupKind is the API group and kind that was searched
|
||||
GroupKind schema.GroupKind
|
||||
// SearchedVersions is the optional list of versions the search was restricted to
|
||||
SearchedVersions []string
|
||||
}
|
||||
|
||||
func (e *NoKindMatchError) Error() string {
|
||||
return fmt.Sprintf("no matches for %v", e.PartialKind)
|
||||
searchedVersions := sets.NewString()
|
||||
for _, v := range e.SearchedVersions {
|
||||
searchedVersions.Insert(schema.GroupVersion{Group: e.GroupKind.Group, Version: v}.String())
|
||||
}
|
||||
|
||||
switch len(searchedVersions) {
|
||||
case 0:
|
||||
return fmt.Sprintf("no matches for kind %q in group %q", e.GroupKind.Kind, e.GroupKind.Group)
|
||||
case 1:
|
||||
return fmt.Sprintf("no matches for kind %q in version %q", e.GroupKind.Kind, searchedVersions.List()[0])
|
||||
default:
|
||||
return fmt.Sprintf("no matches for kind %q in versions %q", e.GroupKind.Kind, searchedVersions.List())
|
||||
}
|
||||
}
|
||||
|
||||
func IsNoMatchError(err error) bool {
|
||||
|
4
vendor/k8s.io/apimachinery/pkg/api/meta/multirestmapper.go
generated
vendored
4
vendor/k8s.io/apimachinery/pkg/api/meta/multirestmapper.go
generated
vendored
@ -179,7 +179,7 @@ func (m MultiRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*
|
||||
if len(errors) > 0 {
|
||||
return nil, utilerrors.NewAggregate(errors)
|
||||
}
|
||||
return nil, &NoKindMatchError{PartialKind: gk.WithVersion("")}
|
||||
return nil, &NoKindMatchError{GroupKind: gk, SearchedVersions: versions}
|
||||
}
|
||||
|
||||
// RESTMappings returns all possible RESTMappings for the provided group kind, or an error
|
||||
@ -204,7 +204,7 @@ func (m MultiRESTMapper) RESTMappings(gk schema.GroupKind, versions ...string) (
|
||||
return nil, utilerrors.NewAggregate(errors)
|
||||
}
|
||||
if len(allMappings) == 0 {
|
||||
return nil, &NoKindMatchError{PartialKind: gk.WithVersion("")}
|
||||
return nil, &NoKindMatchError{GroupKind: gk, SearchedVersions: versions}
|
||||
}
|
||||
return allMappings, nil
|
||||
}
|
||||
|
2
vendor/k8s.io/apimachinery/pkg/api/meta/priority.go
generated
vendored
2
vendor/k8s.io/apimachinery/pkg/api/meta/priority.go
generated
vendored
@ -153,7 +153,7 @@ func kindMatches(pattern schema.GroupVersionKind, kind schema.GroupVersionKind)
|
||||
}
|
||||
|
||||
func (m PriorityRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (mapping *RESTMapping, err error) {
|
||||
mappings, err := m.Delegate.RESTMappings(gk)
|
||||
mappings, err := m.Delegate.RESTMappings(gk, versions...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
4
vendor/k8s.io/apimachinery/pkg/api/meta/restmapper.go
generated
vendored
4
vendor/k8s.io/apimachinery/pkg/api/meta/restmapper.go
generated
vendored
@ -472,7 +472,7 @@ func (m *DefaultRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string)
|
||||
return nil, err
|
||||
}
|
||||
if len(mappings) == 0 {
|
||||
return nil, &NoKindMatchError{PartialKind: gk.WithVersion("")}
|
||||
return nil, &NoKindMatchError{GroupKind: gk, SearchedVersions: versions}
|
||||
}
|
||||
// since we rely on RESTMappings method
|
||||
// take the first match and return to the caller
|
||||
@ -510,7 +510,7 @@ func (m *DefaultRESTMapper) RESTMappings(gk schema.GroupKind, versions ...string
|
||||
}
|
||||
|
||||
if len(potentialGVK) == 0 {
|
||||
return nil, &NoKindMatchError{PartialKind: gk.WithVersion("")}
|
||||
return nil, &NoKindMatchError{GroupKind: gk, SearchedVersions: versions}
|
||||
}
|
||||
|
||||
for _, gvk := range potentialGVK {
|
||||
|
24
vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch.go
generated
vendored
24
vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch.go
generated
vendored
@ -1322,23 +1322,23 @@ func mergeMap(original, patch map[string]interface{}, schema LookupPatchMeta, me
|
||||
// If they're both maps or lists, recurse into the value.
|
||||
switch originalType.Kind() {
|
||||
case reflect.Map:
|
||||
subschema, patchMeta, err := schema.LookupPatchMetadataForStruct(k)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
subschema, patchMeta, err2 := schema.LookupPatchMetadataForStruct(k)
|
||||
if err2 != nil {
|
||||
return nil, err2
|
||||
}
|
||||
_, patchStrategy, err := extractRetainKeysPatchStrategy(patchMeta.GetPatchStrategies())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
_, patchStrategy, err2 := extractRetainKeysPatchStrategy(patchMeta.GetPatchStrategies())
|
||||
if err2 != nil {
|
||||
return nil, err2
|
||||
}
|
||||
original[k], err = mergeMapHandler(original[k], patchV, subschema, patchStrategy, mergeOptions)
|
||||
case reflect.Slice:
|
||||
subschema, patchMeta, err := schema.LookupPatchMetadataForSlice(k)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
subschema, patchMeta, err2 := schema.LookupPatchMetadataForSlice(k)
|
||||
if err2 != nil {
|
||||
return nil, err2
|
||||
}
|
||||
_, patchStrategy, err := extractRetainKeysPatchStrategy(patchMeta.GetPatchStrategies())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
_, patchStrategy, err2 := extractRetainKeysPatchStrategy(patchMeta.GetPatchStrategies())
|
||||
if err2 != nil {
|
||||
return nil, err2
|
||||
}
|
||||
original[k], err = mergeSliceHandler(original[k], patchV, subschema, patchStrategy, patchMeta.GetPatchMergeKey(), isDeleteList, mergeOptions)
|
||||
default:
|
||||
|
14
vendor/k8s.io/client-go/tools/cache/listwatch.go
generated
vendored
14
vendor/k8s.io/client-go/tools/cache/listwatch.go
generated
vendored
@ -63,8 +63,18 @@ type Getter interface {
|
||||
|
||||
// NewListWatchFromClient creates a new ListWatch from the specified client, resource, namespace and field selector.
|
||||
func NewListWatchFromClient(c Getter, resource string, namespace string, fieldSelector fields.Selector) *ListWatch {
|
||||
listFunc := func(options metav1.ListOptions) (runtime.Object, error) {
|
||||
optionsModifier := func(options *metav1.ListOptions) {
|
||||
options.FieldSelector = fieldSelector.String()
|
||||
}
|
||||
return NewFilteredListWatchFromClient(c, resource, namespace, optionsModifier)
|
||||
}
|
||||
|
||||
// NewFilteredListWatchFromClient creates a new ListWatch from the specified client, resource, namespace, and option modifier.
|
||||
// Option modifier is a function takes a ListOptions and modifies the consumed ListOptions. Provide customized modifier function
|
||||
// to apply modification to ListOptions with a field selector, a label selector, or any other desired options.
|
||||
func NewFilteredListWatchFromClient(c Getter, resource string, namespace string, optionsModifier func(options *metav1.ListOptions)) *ListWatch {
|
||||
listFunc := func(options metav1.ListOptions) (runtime.Object, error) {
|
||||
optionsModifier(&options)
|
||||
return c.Get().
|
||||
Namespace(namespace).
|
||||
Resource(resource).
|
||||
@ -74,7 +84,7 @@ func NewListWatchFromClient(c Getter, resource string, namespace string, fieldSe
|
||||
}
|
||||
watchFunc := func(options metav1.ListOptions) (watch.Interface, error) {
|
||||
options.Watch = true
|
||||
options.FieldSelector = fieldSelector.String()
|
||||
optionsModifier(&options)
|
||||
return c.Get().
|
||||
Namespace(namespace).
|
||||
Resource(resource).
|
||||
|
4
vendor/k8s.io/client-go/tools/clientcmd/validation.go
generated
vendored
4
vendor/k8s.io/client-go/tools/clientcmd/validation.go
generated
vendored
@ -253,6 +253,10 @@ func validateAuthInfo(authInfoName string, authInfo clientcmdapi.AuthInfo) []err
|
||||
func validateContext(contextName string, context clientcmdapi.Context, config clientcmdapi.Config) []error {
|
||||
validationErrors := make([]error, 0)
|
||||
|
||||
if len(contextName) == 0 {
|
||||
validationErrors = append(validationErrors, fmt.Errorf("empty context name for %#v is not allowed", context))
|
||||
}
|
||||
|
||||
if len(context.AuthInfo) == 0 {
|
||||
validationErrors = append(validationErrors, fmt.Errorf("user was not specified for context %q", contextName))
|
||||
} else if _, exists := config.AuthInfos[context.AuthInfo]; !exists {
|
||||
|
Loading…
Reference in New Issue
Block a user