From e98a28e5c78e9d6bf428ecd614ddf62083b0ea9a Mon Sep 17 00:00:00 2001 From: Catherine Fang Date: Tue, 3 Jan 2023 14:08:57 -0500 Subject: [PATCH 1/2] Update doc about json tag is needed to generate informer externalverion package --- staging/src/k8s.io/sample-controller/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/staging/src/k8s.io/sample-controller/README.md b/staging/src/k8s.io/sample-controller/README.md index cbd55a51a7c..d7e7fe18194 100644 --- a/staging/src/k8s.io/sample-controller/README.md +++ b/staging/src/k8s.io/sample-controller/README.md @@ -126,6 +126,9 @@ type User struct { } ``` +Note, json tag `json:` is needed to generate informer externalversions package. +Otherwise, informer internalversion package is generated. + ## Validation To validate custom resources, use the [`CustomResourceValidation`](https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation) feature. Validation in the form of a [structured schema](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#specifying-a-structural-schema) is mandatory to be provided for `apiextensions.k8s.io/v1`. From 2d4eefe9396fc71c9900992371c35a17f3647932 Mon Sep 17 00:00:00 2001 From: CatherineF-dev Date: Wed, 4 Jan 2023 08:01:48 -0500 Subject: [PATCH 2/2] Update staging/src/k8s.io/sample-controller/README.md Co-authored-by: Joel Speed --- staging/src/k8s.io/sample-controller/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/staging/src/k8s.io/sample-controller/README.md b/staging/src/k8s.io/sample-controller/README.md index d7e7fe18194..3b73b33a8b3 100644 --- a/staging/src/k8s.io/sample-controller/README.md +++ b/staging/src/k8s.io/sample-controller/README.md @@ -126,8 +126,7 @@ type User struct { } ``` -Note, json tag `json:` is needed to generate informer externalversions package. -Otherwise, informer internalversion package is generated. +Note, the JSON tag `json:` is required on all user facing fields within your type. Typically API types contain only user facing fields. When the JSON tag is omitted from the field, Kubernetes generators consider the field to be internal and will not expose the field in their generated external output. For example, this means that the field would not be included in a generated CRD schema. ## Validation