2018-04-09 11:54:08 +08:00
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/code-generator",
|
|
|
|
"GoVersion": "go1.9",
|
2018-04-20 21:22:31 +08:00
|
|
|
"GodepVersion": "v80",
|
2018-04-09 11:54:08 +08:00
|
|
|
"Packages": [
|
|
|
|
"./..."
|
|
|
|
],
|
|
|
|
"Deps": [
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/PuerkitoBio/purell",
|
|
|
|
"Rev": "8a290539e2e8629dbc4e6bad948158f790ec31f4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/PuerkitoBio/urlesc",
|
|
|
|
"Rev": "5bd2802263f21d8788851d5305584c82a5c75d7e"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/emicklei/go-restful",
|
|
|
|
"Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/emicklei/go-restful/log",
|
|
|
|
"Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/go-openapi/jsonpointer",
|
|
|
|
"Rev": "46af16f9f7b149af66e5d1bd010e3574dc06de98"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/go-openapi/jsonreference",
|
|
|
|
"Rev": "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/go-openapi/spec",
|
|
|
|
"Rev": "1de3e0542de65ad8d75452a595886fdd0befb363"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/go-openapi/swag",
|
|
|
|
"Rev": "f3f9494671f93fcff853e3c6e9e948b3eb71e590"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/gogoproto",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/compare",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/description",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/embedcheck",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/enumstringer",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/equal",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/face",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/gostring",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/marshalto",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/populate",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/size",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/stringer",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/testgen",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/union",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/plugin/unmarshal",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/proto",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/sortkeys",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/vanity",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/gogo/protobuf/vanity/command",
|
|
|
|
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/golang/glog",
|
|
|
|
"Rev": "44145f04b68cf362d9c4df2182967c2275eaefed"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/mailru/easyjson/buffer",
|
|
|
|
"Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/mailru/easyjson/jlexer",
|
|
|
|
"Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/mailru/easyjson/jwriter",
|
|
|
|
"Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "github.com/spf13/pflag",
|
2018-04-15 03:21:01 +08:00
|
|
|
"Rev": "583c0c0531f06d5278b7d917446061adc344b5cd"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/net/idna",
|
|
|
|
"Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/text/cases",
|
|
|
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/text/internal",
|
|
|
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/text/internal/tag",
|
|
|
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/text/language",
|
|
|
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/text/runes",
|
|
|
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/text/secure/bidirule",
|
|
|
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/text/secure/precis",
|
|
|
|
"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": "golang.org/x/text/width",
|
|
|
|
"Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/tools/go/ast/astutil",
|
|
|
|
"Rev": "2382e3994d48b1d22acc2c86bcad0a2aff028e32"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "golang.org/x/tools/imports",
|
|
|
|
"Rev": "2382e3994d48b1d22acc2c86bcad0a2aff028e32"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "gopkg.in/yaml.v2",
|
|
|
|
"Rev": "670d4cfef0544295bc27a114dbac37980d83185a"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/args",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/examples/deepcopy-gen/generators",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/examples/defaulter-gen/generators",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/examples/import-boss/generators",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/examples/set-gen/generators",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/examples/set-gen/sets",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/generator",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/namer",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/parser",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/gengo/types",
|
2018-07-08 07:25:08 +08:00
|
|
|
"Rev": "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/kube-openapi/pkg/common",
|
Merge pull request #65256 from liggitt/crd-schema-openapi
Automatic merge from submit-queue (batch tested with PRs 65256, 64236, 64919, 64879, 57932). 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>.
Fix CRD OpenAPI schema
fixes #65243
depends on https://github.com/kubernetes/kube-openapi/pull/84
without this PR, kubectl complains about creating this CRD with a validation schema (which worked in 1.10):
```yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: resources.mygroup.example.com
spec:
group: mygroup.example.com
version: v1alpha1
scope: Namespaced
names:
plural: resources
singular: resource
kind: Kind
listKind: KindList
validation:
openAPIV3Schema:
properties:
spec:
type: array
items:
type: number
```
> error: error validating "/Users/jliggitt/projects/snippets/crd/crd.yaml": error validating data: [ValidationError(CustomResourceDefinition.spec.validation.openAPIV3Schema.properties.spec.items): unknown field "type" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray, ValidationError(CustomResourceDefinition.spec.validation.openAPIV3Schema.properties.spec.items): missing required field "Schema" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray, ValidationError(CustomResourceDefinition.spec.validation.openAPIV3Schema.properties.spec.items): missing required field "JSONSchemas" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray]; if you choose to ignore these errors, turn validation off with --validate=false
that is because the types used to serialize JSONSchema require custom marshaling/unmarshaling, and the OpenAPI generator was not informed of that, so it produced this:
```json
{
"io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray": {
"description": "JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization purposes.",
"required": [
"Schema",
"JSONSchemas"
],
"properties": {
"JSONSchemas": {
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"
}
},
"Schema": {
"$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"
}
}
}
}
```
OpenAPI isn't able to represent oneOf/anyOf types correctly currently. Until it can, we definitely shouldn't publish a schema containing required fields which aren't even part of the JSON serialization. This PR implements custom openapi type functions, which omit the properties/required/schema attributes for four specific JSONSchema types. This allows kubectl to continue creating these objects without complaining.
/sig api-machinery
/assign @sttts
```release-note
fixed incorrect OpenAPI schema for CustomResourceDefinition objects
```
Kubernetes-commit: ed6c8b7326bd1a1b845719f4bfb302073a18f03f
2018-06-21 08:22:08 +08:00
|
|
|
"Rev": "91cfa479c814065e420cee7ed227db0f63a5854e"
|
2018-04-09 11:54:08 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"ImportPath": "k8s.io/kube-openapi/pkg/generators",
|
Merge pull request #65256 from liggitt/crd-schema-openapi
Automatic merge from submit-queue (batch tested with PRs 65256, 64236, 64919, 64879, 57932). 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>.
Fix CRD OpenAPI schema
fixes #65243
depends on https://github.com/kubernetes/kube-openapi/pull/84
without this PR, kubectl complains about creating this CRD with a validation schema (which worked in 1.10):
```yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: resources.mygroup.example.com
spec:
group: mygroup.example.com
version: v1alpha1
scope: Namespaced
names:
plural: resources
singular: resource
kind: Kind
listKind: KindList
validation:
openAPIV3Schema:
properties:
spec:
type: array
items:
type: number
```
> error: error validating "/Users/jliggitt/projects/snippets/crd/crd.yaml": error validating data: [ValidationError(CustomResourceDefinition.spec.validation.openAPIV3Schema.properties.spec.items): unknown field "type" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray, ValidationError(CustomResourceDefinition.spec.validation.openAPIV3Schema.properties.spec.items): missing required field "Schema" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray, ValidationError(CustomResourceDefinition.spec.validation.openAPIV3Schema.properties.spec.items): missing required field "JSONSchemas" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray]; if you choose to ignore these errors, turn validation off with --validate=false
that is because the types used to serialize JSONSchema require custom marshaling/unmarshaling, and the OpenAPI generator was not informed of that, so it produced this:
```json
{
"io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray": {
"description": "JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization purposes.",
"required": [
"Schema",
"JSONSchemas"
],
"properties": {
"JSONSchemas": {
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"
}
},
"Schema": {
"$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps"
}
}
}
}
```
OpenAPI isn't able to represent oneOf/anyOf types correctly currently. Until it can, we definitely shouldn't publish a schema containing required fields which aren't even part of the JSON serialization. This PR implements custom openapi type functions, which omit the properties/required/schema attributes for four specific JSONSchema types. This allows kubectl to continue creating these objects without complaining.
/sig api-machinery
/assign @sttts
```release-note
fixed incorrect OpenAPI schema for CustomResourceDefinition objects
```
Kubernetes-commit: ed6c8b7326bd1a1b845719f4bfb302073a18f03f
2018-06-21 08:22:08 +08:00
|
|
|
"Rev": "91cfa479c814065e420cee7ed227db0f63a5854e"
|
2018-04-09 11:54:08 +08:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|