zlhgo commented on pull request #208:
URL: 
https://github.com/apache/apisix-helm-chart/pull/208#issuecomment-1005853524


   I'm very sorry, there are some errors yet.
   ```
   kubectl apply --validate=false -f 
https://raw.githubusercontent.com/tao12345666333/apisix-helm-chart/ingress-v1.4/charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml
   ```
   output
   ```
   
customresourcedefinition.apiextensions.k8s.io/apisixpluginconfigs.apisix.apache.org
 configured
   Warning: resource customresourcedefinitions/apisixroutes.apisix.apache.org 
is missing the kubectl.kubernetes.io/last-applied-configuration annotation 
which is required by kubectl apply. kubectl apply should only be used on 
resources created declaratively by either kubectl create --save-config or 
kubectl apply. The missing annotation will be patched automatically.
   customresourcedefinition.apiextensions.k8s.io/apisixroutes.apisix.apache.org 
configured
   Warning: resource customresourcedefinitions/apisixtlses.apisix.apache.org is 
missing the kubectl.kubernetes.io/last-applied-configuration annotation which 
is required by kubectl apply. kubectl apply should only be used on resources 
created declaratively by either kubectl create --save-config or kubectl apply. 
The missing annotation will be patched automatically.
   Warning: resource 
customresourcedefinitions/apisixupstreams.apisix.apache.org is missing the 
kubectl.kubernetes.io/last-applied-configuration annotation which is required 
by kubectl apply. kubectl apply should only be used on resources created 
declaratively by either kubectl create --save-config or kubectl apply. The 
missing annotation will be patched automatically.
   Error from server (Invalid): error when applying patch:
   
{"metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"apiextensions.k8s.io/v1\",\"kind\":\"CustomResourceDefinition\",\"metadata\":{\"annotations\":{},\"labels\":{\"apisix.apache.org/app\":\"ingress-apisix\"},\"name\":\"apisixclusterconfigs.apisix.apache.org\"},\"spec\":{\"group\":\"apisix.apache.org\",\"names\":{\"kind\":\"ApisixClusterConfig\",\"plural\":\"apisixclusterconfigs\",\"shortNames\":[\"acc\"],\"singular\":\"apisixclusterconfig\"},\"preserveUnknownFields\":false,\"scope\":\"Cluster\",\"versions\":[{\"name\":\"v2beta3\",\"schema\":{\"openAPIV3Schema\":{\"properties\":{\"spec\":{\"properties\":{\"admin\":{\"properties\":{\"adminKey\":{\"type\":\"string\"},\"baseURL\":{\"pattern\":\"https?://[^:]+:(\\\\d+)\",\"type\":\"string\"}},\"required\":[\"baseURL\"],\"type\":\"object\"},\"monitoring\":{\"properties\":{\"prometheus\":{\"properties\":{\"enable\":{\"type\":\"boolean\"}},\"type\":\"object\"},\"skywalking\":{\"properties\":{\"
 
enable\":{\"type\":\"boolean\"},\"sampleRatio\":{\"maximum\":1,\"minimum\":0.00001,\"type\":\"number\"}},\"type\":\"object\"}},\"type\":\"object\"}},\"type\":\"object\"}},\"type\":\"object\"}},\"served\":true,\"storage\":true,\"subresources\":{\"status\":{}}}]}}\n"},"labels":{"apisix.apache.org/app":"ingress-apisix"}},"spec":{"preserveUnknownFields":false,"versions":[{"name":"v2beta3","schema":{"openAPIV3Schema":{"properties":{"spec":{"properties":{"admin":{"properties":{"adminKey":{"type":"string"},"baseURL":{"pattern":"https?://[^:]+:(\\d+)","type":"string"}},"required":["baseURL"],"type":"object"},"monitoring":{"properties":{"prometheus":{"properties":{"enable":{"type":"boolean"}},"type":"object"},"skywalking":{"properties":{"enable":{"type":"boolean"},"sampleRatio":{"maximum":1,"minimum":0.00001,"type":"number"}},"type":"object"}},"type":"object"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]}}
   to:
   Resource: "apiextensions.k8s.io/v1, Resource=customresourcedefinitions", 
GroupVersionKind: "apiextensions.k8s.io/v1, Kind=CustomResourceDefinition"
   Name: "apisixclusterconfigs.apisix.apache.org", Namespace: ""
   for: "crd.yaml": CustomResourceDefinition.apiextensions.k8s.io 
"apisixclusterconfigs.apisix.apache.org" is invalid: status.storedVersions[0]: 
Invalid value: "v2alpha1": must appear in spec.versions
   Error from server (Invalid): error when applying patch:
   
{"metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"apiextensions.k8s.io/v1\",\"kind\":\"CustomResourceDefinition\",\"metadata\":{\"annotations\":{},\"labels\":{\"apisix.apache.org/app\":\"ingress-apisix\"},\"name\":\"apisixconsumers.apisix.apache.org\"},\"spec\":{\"group\":\"apisix.apache.org\",\"names\":{\"kind\":\"ApisixConsumer\",\"plural\":\"apisixconsumers\",\"shortNames\":[\"ac\"],\"singular\":\"apisixconsumer\"},\"preserveUnknownFields\":false,\"scope\":\"Namespaced\",\"versions\":[{\"name\":\"v2beta3\",\"schema\":{\"openAPIV3Schema\":{\"properties\":{\"spec\":{\"properties\":{\"authParameter\":{\"oneOf\":[{\"required\":[\"basicAuth\"]},{\"required\":[\"keyAuth\"]}],\"properties\":{\"basicAuth\":{\"oneOf\":[{\"required\":[\"value\"]},{\"required\":[\"secretRef\"]}],\"properties\":{\"secretRef\":{\"properties\":{\"name\":{\"minLength\":1,\"type\":\"string\"}},\"required\":[\"name\"],\"type\":\"object\"},\"value\":{\"properties\"
 
:{\"password\":{\"minLength\":1,\"type\":\"string\"},\"username\":{\"minLength\":1,\"type\":\"string\"}},\"required\":[\"username\",\"password\"],\"type\":\"object\"}},\"type\":\"object\"},\"keyAuth\":{\"oneOf\":[{\"required\":[\"value\"]},{\"required\":[\"secretRef\"]}],\"properties\":{\"secretRef\":{\"properties\":{\"name\":{\"minLength\":1,\"type\":\"string\"}},\"required\":[\"name\"],\"type\":\"object\"},\"value\":{\"properties\":{\"key\":{\"minLength\":1,\"type\":\"string\"}},\"required\":[\"key\"],\"type\":\"object\"}},\"type\":\"object\"}},\"type\":\"object\"}},\"required\":[\"authParameter\"],\"type\":\"object\"}},\"type\":\"object\"}},\"served\":true,\"storage\":true,\"subresources\":{\"status\":{}}}]}}\n"},"labels":{"apisix.apache.org/app":"ingress-apisix"}},"spec":{"preserveUnknownFields":false,"versions":[{"name":"v2beta3","schema":{"openAPIV3Schema":{"properties":{"spec":{"properties":{"authParameter":{"oneOf":[{"required":["basicAuth"]},{"required":["keyAuth"]}],"prope
 
rties":{"basicAuth":{"oneOf":[{"required":["value"]},{"required":["secretRef"]}],"properties":{"secretRef":{"properties":{"name":{"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"value":{"properties":{"password":{"minLength":1,"type":"string"},"username":{"minLength":1,"type":"string"}},"required":["username","password"],"type":"object"}},"type":"object"},"keyAuth":{"oneOf":[{"required":["value"]},{"required":["secretRef"]}],"properties":{"secretRef":{"properties":{"name":{"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"value":{"properties":{"key":{"minLength":1,"type":"string"}},"required":["key"],"type":"object"}},"type":"object"}},"type":"object"}},"required":["authParameter"],"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]}}
   to:
   Resource: "apiextensions.k8s.io/v1, Resource=customresourcedefinitions", 
GroupVersionKind: "apiextensions.k8s.io/v1, Kind=CustomResourceDefinition"
   Name: "apisixconsumers.apisix.apache.org", Namespace: ""
   for: "crd.yaml": CustomResourceDefinition.apiextensions.k8s.io 
"apisixconsumers.apisix.apache.org" is invalid: status.storedVersions[0]: 
Invalid value: "v2alpha1": must appear in spec.versions
   Error from server (Invalid): error when applying patch:
   
{"metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"apiextensions.k8s.io/v1\",\"kind\":\"CustomResourceDefinition\",\"metadata\":{\"annotations\":{},\"labels\":{\"apisix.apache.org/app\":\"ingress-apisix\"},\"name\":\"apisixtlses.apisix.apache.org\"},\"spec\":{\"group\":\"apisix.apache.org\",\"names\":{\"kind\":\"ApisixTls\",\"plural\":\"apisixtlses\",\"shortNames\":[\"atls\"],\"singular\":\"apisixtls\"},\"preserveUnknownFields\":false,\"scope\":\"Namespaced\",\"versions\":[{\"additionalPrinterColumns\":[{\"jsonPath\":\".spec.hosts\",\"name\":\"SNIs\",\"type\":\"string\"},{\"jsonPath\":\".spec.secret.name\",\"name\":\"Secret
 
Name\",\"type\":\"string\"},{\"jsonPath\":\".spec.secret.namespace\",\"name\":\"Secret
 
Namespace\",\"type\":\"string\"},{\"jsonPath\":\".metadata.creationTimestamp\",\"name\":\"Age\",\"type\":\"date\"}],\"name\":\"v2beta3\",\"schema\":{\"openAPIV3Schema\":{\"description\":\"ApisixTls
 defines SSL resource in APISIX.
 \",\"properties\":{\"apiVersion\":{\"description\":\"APIVersion defines the 
versioned schema of this representation of an object. Servers should convert 
recognized schemas to the latest internal value, and may reject unrecognized 
values. More info: 
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources\",\"type\":\"string\"},\"kind\":{\"description\":\"Kind
 is a string value representing the REST resource this object represents. 
Servers may infer this from the endpoint the client submits requests to. Cannot 
be updated. In CamelCase. More info: 
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds\",\"type\":\"string\"},\"metadata\":{\"type\":\"object\"},\"spec\":{\"description\":\"ApisixTlsSpec
 is the specification of 
ApisixSSL.\",\"properties\":{\"client\":{\"description\":\"ApisixMutualTlsClientConfig
 describes the mutual TLS CA and verify 
depth\",\"properties\":{\"caSecret\":{\"description\":\"Apisix
 Secret describes the Kubernetes Secret name and 
namespace.\",\"properties\":{\"name\":{\"minLength\":1,\"type\":\"string\"},\"namespace\":{\"minLength\":1,\"type\":\"string\"}},\"required\":[\"name\",\"namespace\"],\"type\":\"object\"},\"depth\":{\"type\":\"integer\"}},\"type\":\"object\"},\"hosts\":{\"items\":{\"pattern\":\"^\\\\*?[0-9a-zA-Z-.]+$\",\"type\":\"string\"},\"minItems\":1,\"type\":\"array\"},\"secret\":{\"description\":\"ApisixSecret
 describes the Kubernetes Secret name and 
namespace.\",\"properties\":{\"name\":{\"minLength\":1,\"type\":\"string\"},\"namespace\":{\"minLength\":1,\"type\":\"string\"}},\"required\":[\"name\",\"namespace\"],\"type\":\"object\"}},\"required\":[\"hosts\",\"secret\"],\"type\":\"object\"},\"status\":{\"description\":\"ApisixStatus
 is the status report for Apisix ingress 
Resources\",\"properties\":{\"conditions\":{\"items\":{\"description\":\"Condition
 contains details for one aspect of the current state of this API Resource. --- 
This struct is
  intended for direct use as an array at the field path .status.conditions.  
For example, type FooStatus struct{     // Represents the observations of a 
foo's current state.     // Known .status.conditions.type are: 
\\\"Available\\\", \\\"Progressing\\\", and \\\"Degraded\\\"     // 
+patchMergeKey=type     // +patchStrategy=merge     // +listType=map     // 
+listMapKey=type     Conditions []metav1.Condition 
`json:\\\"conditions,omitempty\\\" patchStrategy:\\\"merge\\\" 
patchMergeKey:\\\"type\\\" protobuf:\\\"bytes,1,rep,name=conditions\\\"` \\n    
 // other fields 
}\",\"properties\":{\"lastTransitionTime\":{\"description\":\"lastTransitionTime
 is the last time the condition transitioned from one status to another. This 
should be when the underlying condition changed.  If that is not known, then 
using the time when the API field changed is 
acceptable.\",\"format\":\"date-time\",\"type\":\"string\"},\"message\":{\"description\":\"message
 is a human readable message indicating details a
 bout the transition. This may be an empty 
string.\",\"maxLength\":32768,\"type\":\"string\"},\"observedGeneration\":{\"description\":\"observedGeneration
 represents the .metadata.generation that the condition was set based upon. For 
instance, if .metadata.generation is currently 12, but the 
.status.conditions[x].observedGeneration is 9, the condition is out of date 
with respect to the current state of the 
instance.\",\"format\":\"int64\",\"minimum\":0,\"type\":\"integer\"},\"reason\":{\"description\":\"reason
 contains a programmatic identifier indicating the reason for the condition's 
last transition. Producers of specific condition types may define expected 
values and meanings for this field, and whether the values are considered a 
guaranteed API. The value should be a CamelCase string. This field may not be 
empty.\",\"maxLength\":1024,\"minLength\":1,\"pattern\":\"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$\",\"type\":\"string\"},\"status\":{\"description\":\"status
 of the condition,
  one of True, False, 
Unknown.\",\"enum\":[\"True\",\"False\",\"Unknown\"],\"type\":\"string\"},\"type\":{\"description\":\"type
 of condition in CamelCase or in foo.example.com/CamelCase. --- Many 
.condition.type values are consistent across resources like Available, but 
because arbitrary conditions can be useful (see .node.status.conditions), the 
ability to deconflict is important. The regex it matches is 
(dns1123SubdomainFmt/)?(qualifiedNameFmt)\",\"maxLength\":316,\"pattern\":\"^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$\",\"type\":\"string\"}},\"required\":[\"lastTransitionTime\",\"message\",\"reason\",\"status\",\"type\"],\"type\":\"object\"},\"type\":\"array\"}},\"type\":\"object\"}},\"type\":\"object\"}},\"served\":true,\"storage\":true,\"subresources\":{\"status\":{}}}]}}\n"},"labels":{"apisix.apache.org/app":"ingress-apisix"}},"spec":{"preserveUnknownFields":false,"versions":[{"additionalPrinterColumns":[
 
{"jsonPath":".spec.hosts","name":"SNIs","type":"string"},{"jsonPath":".spec.secret.name","name":"Secret
 Name","type":"string"},{"jsonPath":".spec.secret.namespace","name":"Secret 
Namespace","type":"string"},{"jsonPath":".metadata.creationTimestamp","name":"Age","type":"date"}],"name":"v2beta3","schema":{"openAPIV3Schema":{"description":"ApisixTls
 defines SSL resource in 
APISIX.","properties":{"apiVersion":{"description":"APIVersion defines the 
versioned schema of this representation of an object. Servers should convert 
recognized schemas to the latest internal value, and may reject unrecognized 
values. More info: 
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind
 is a string value representing the REST resource this object represents. 
Servers may infer this from the endpoint the client submits requests to. Cannot 
be updated. In CamelCase. More info: 
https://git.k8s.io/community/contributors/deve
 
l/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"description":"ApisixTlsSpec
 is the specification of 
ApisixSSL.","properties":{"client":{"description":"ApisixMutualTlsClientConfig 
describes the mutual TLS CA and verify 
depth","properties":{"caSecret":{"description":"ApisixSecret describes the 
Kubernetes Secret name and 
namespace.","properties":{"name":{"minLength":1,"type":"string"},"namespace":{"minLength":1,"type":"string"}},"required":["name","namespace"],"type":"object"},"depth":{"type":"integer"}},"type":"object"},"hosts":{"items":{"pattern":"^\\*?[0-9a-zA-Z-.]+$","type":"string"},"minItems":1,"type":"array"},"secret":{"description":"ApisixSecret
 describes the Kubernetes Secret name and 
namespace.","properties":{"name":{"minLength":1,"type":"string"},"namespace":{"minLength":1,"type":"string"}},"required":["name","namespace"],"type":"object"}},"required":["hosts","secret"],"type":"object"},"status":{"description":"ApisixS
 tatus is the status report for Apisix ingress 
Resources","properties":{"conditions":{"items":{"description":"Condition 
contains details for one aspect of the current state of this API Resource. --- 
This struct is intended for direct use as an array at the field path 
.status.conditions.  For example, type FooStatus struct{     // Represents the 
observations of a foo's current state.     // Known .status.conditions.type 
are: \"Available\", \"Progressing\", and \"Degraded\"     // 
+patchMergeKey=type     // +patchStrategy=merge     // +listType=map     // 
+listMapKey=type     Conditions []metav1.Condition 
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" 
protobuf:\"bytes,1,rep,name=conditions\"` \n     // other fields 
}","properties":{"lastTransitionTime":{"description":"lastTransitionTime is the 
last time the condition transitioned from one status to another. This should be 
when the underlying condition changed.  If that is not known, then using the 
time wh
 en the API field changed is 
acceptable.","format":"date-time","type":"string"},"message":{"description":"message
 is a human readable message indicating details about the transition. This may 
be an empty 
string.","maxLength":32768,"type":"string"},"observedGeneration":{"description":"observedGeneration
 represents the .metadata.generation that the condition was set based upon. For 
instance, if .metadata.generation is currently 12, but the 
.status.conditions[x].observedGeneration is 9, the condition is out of date 
with respect to the current state of the 
instance.","format":"int64","minimum":0,"type":"integer"},"reason":{"description":"reason
 contains a programmatic identifier indicating the reason for the condition's 
last transition. Producers of specific condition types may define expected 
values and meanings for this field, and whether the values are considered a 
guaranteed API. The value should be a CamelCase string. This field may not be 
empty.","maxLength":1024,"minLength":1,"pat
 
tern":"^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$","type":"string"},"status":{"description":"status
 of the condition, one of True, False, 
Unknown.","enum":["True","False","Unknown"],"type":"string"},"type":{"description":"type
 of condition in CamelCase or in foo.example.com/CamelCase. --- Many 
.condition.type values are consistent across resources like Available, but 
because arbitrary conditions can be useful (see .node.status.conditions), the 
ability to deconflict is important. The regex it matches is 
(dns1123SubdomainFmt/)?(qualifiedNameFmt)","maxLength":316,"pattern":"^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$","type":"string"}},"required":["lastTransitionTime","message","reason","status","type"],"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]}}
   to:
   Resource: "apiextensions.k8s.io/v1, Resource=customresourcedefinitions", 
GroupVersionKind: "apiextensions.k8s.io/v1, Kind=CustomResourceDefinition"
   Name: "apisixtlses.apisix.apache.org", Namespace: ""
   for: "crd.yaml": CustomResourceDefinition.apiextensions.k8s.io 
"apisixtlses.apisix.apache.org" is invalid: status.storedVersions[0]: Invalid 
value: "v1": must appear in spec.versions
   Error from server (Invalid): error when applying patch:
   
{"metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"apiextensions.k8s.io/v1\",\"kind\":\"CustomResourceDefinition\",\"metadata\":{\"annotations\":{},\"labels\":{\"apisix.apache.org/app\":\"ingress-apisix\"},\"name\":\"apisixupstreams.apisix.apache.org\"},\"spec\":{\"group\":\"apisix.apache.org\",\"names\":{\"kind\":\"ApisixUpstream\",\"plural\":\"apisixupstreams\",\"shortNames\":[\"au\"],\"singular\":\"apisixupstream\"},\"scope\":\"Namespaced\",\"versions\":[{\"name\":\"v2beta3\",\"schema\":{\"openAPIV3Schema\":{\"properties\":{\"spec\":{\"properties\":{\"healthCheck\":{\"anyOf\":[{\"required\":[\"active\"]},{\"required\":[\"active\",\"passive\"]}],\"properties\":{\"active\":{\"properties\":{\"concurrency\":{\"minimum\":1,\"type\":\"integer\"},\"healthy\":{\"properties\":{\"httpCodes\":{\"items\":{\"maximum\":599,\"minimum\":200,\"type\":\"integer\"},\"minItems\":1,\"type\":\"array\"},\"interval\":{\"type\":\"string\"},\"successes\":{\
 
"maximum\":254,\"minimum\":1,\"type\":\"integer\"}},\"type\":\"object\"},\"host\":{\"pattern\":\"^\\\\*?[0-9a-zA-Z-._]+$\",\"type\":\"string\"},\"httpPath\":{\"minLength\":1,\"type\":\"string\"},\"port\":{\"maximum\":65535,\"minimum\":1,\"type\":\"integer\"},\"requestHeaders\":{\"items\":{\"type\":\"string\"},\"minItems\":1,\"type\":\"array\"},\"strictTLS\":{\"type\":\"boolean\"},\"timeout\":{\"minimum\":0,\"type\":\"number\"},\"type\":{\"enum\":[\"http\",\"https\",\"tcp\"],\"type\":\"string\"},\"unhealthy\":{\"properties\":{\"httpCodes\":{\"items\":{\"maximum\":599,\"minimum\":200,\"type\":\"integer\"},\"minItems\":1,\"type\":\"array\"},\"httpFailures\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"},\"interval\":{\"type\":\"string\"},\"tcpFailures\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"},\"timeouts\":{\"minimum\":0,\"type\":\"integer\"}},\"type\":\"object\"}},\"type\":\"object\"},\"passive\":{\"properties\":{\"healthy\":{\"properties\":{\"httpCodes\":{\"items\":
 
{\"maximum\":599,\"minimum\":200,\"type\":\"integer\"},\"minItems\":1,\"type\":\"array\"},\"successes\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"}},\"type\":\"object\"},\"type\":{\"enum\":[\"http\",\"https\",\"tcp\"],\"type\":\"string\"},\"unhealthy\":{\"properties\":{\"httpCodes\":{\"items\":{\"maximum\":599,\"minimum\":200,\"type\":\"integer\"},\"minItems\":1,\"type\":\"array\"},\"httpFailures\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"},\"tcpFailures\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"},\"timeouts\":{\"minimum\":0,\"type\":\"integer\"}},\"type\":\"object\"}},\"type\":\"object\"}},\"type\":\"object\"},\"loadbalancer\":{\"properties\":{\"hashOn\":{\"enum\":[\"vars\",\"vars_combinations\",\"header\",\"cookie\",\"consumer\"],\"type\":\"string\"},\"key\":{\"type\":\"string\"},\"type\":{\"enum\":[\"roundrobin\",\"chash\",\"ewma\",\"least_conn\"],\"type\":\"string\"}},\"required\":[\"type\"],\"type\":\"object\"},\"portLevelSettings\":{\"items\":{\"p
 
roperties\":{\"healthCheck\":{\"anyOf\":[{\"required\":[\"active\"]},{\"required\":[\"active\",\"passive\"]}],\"properties\":{\"active\":{\"properties\":{\"concurrency\":{\"minimum\":1,\"type\":\"integer\"},\"healthy\":{\"properties\":{\"httpCodes\":{\"items\":{\"maximum\":599,\"minimum\":200,\"type\":\"integer\"},\"minItems\":1,\"type\":\"array\"},\"interval\":{\"type\":\"string\"},\"successes\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"}},\"type\":\"object\"},\"host\":{\"pattern\":\"^\\\\*?[0-9a-zA-Z-._]+$\",\"type\":\"string\"},\"httpPath\":{\"minLength\":1,\"type\":\"string\"},\"port\":{\"maximum\":65535,\"minimum\":1,\"type\":\"integer\"},\"requestHeaders\":{\"items\":{\"type\":\"string\"},\"minItems\":1,\"type\":\"array\"},\"strictTLS\":{\"type\":\"boolean\"},\"timeout\":{\"minimum\":0,\"type\":\"number\"},\"type\":{\"enum\":[\"http\",\"https\",\"tcp\"],\"type\":\"string\"},\"unhealthy\":{\"properties\":{\"httpCodes\":{\"items\":{\"maximum\":599,\"minimum\":200,\"type
 
\":\"integer\"},\"minItems\":1,\"type\":\"array\"},\"httpFailures\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"},\"interval\":{\"type\":\"string\"},\"tcpFailures\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"},\"timeout\":{\"type\":\"string\"}},\"type\":\"object\"}},\"type\":\"object\"},\"passive\":{\"properties\":{\"healthy\":{\"properties\":{\"httpCodes\":{\"items\":{\"maximum\":599,\"minimum\":200,\"type\":\"integer\"},\"minItems\":1,\"type\":\"array\"},\"successes\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"}},\"type\":\"object\"},\"type\":{\"enum\":[\"http\",\"https\",\"tcp\"],\"type\":\"string\"},\"unhealthy\":{\"properties\":{\"httpCodes\":{\"items\":{\"maximum\":599,\"minimum\":200,\"type\":\"integer\"},\"minItems\":1,\"type\":\"array\"},\"httpFailures\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"},\"tcpFailures\":{\"maximum\":254,\"minimum\":1,\"type\":\"integer\"},\"timeout\":{\"type\":\"string\"}},\"type\":\"object\"}},\"type\":\"object\"}}
 
,\"type\":\"object\"},\"loadbalancer\":{\"properties\":{\"hashOn\":{\"enum\":[\"vars\",\"vars_combinations\",\"header\",\"cookie\",\"consumer\"],\"type\":\"string\"},\"key\":{\"type\":\"string\"},\"type\":{\"enum\":[\"roundrobin\",\"chash\",\"ewma\",\"least_conn\"],\"type\":\"string\"}},\"required\":[\"type\"],\"type\":\"object\"},\"port\":{\"maximum\":65535,\"minimum\":1,\"type\":\"integer\"},\"retries\":{\"minimum\":0,\"type\":\"integer\"},\"scheme\":{\"enum\":[\"http\",\"grpc\"],\"type\":\"string\"},\"timeout\":{\"properties\":{\"connect\":{\"type\":\"string\"},\"read\":{\"type\":\"string\"},\"send\":{\"type\":\"string\"}},\"type\":\"object\"}},\"type\":\"object\"},\"type\":\"array\"},\"retries\":{\"minimum\":0,\"type\":\"integer\"},\"scheme\":{\"enum\":[\"http\",\"grpc\",\"https\",\"grpcs\"],\"type\":\"string\"},\"subsets\":{\"items\":{\"properties\":{\"labels\":{\"type\":\"object\",\"x-kubernetes-preserve-unknown-fields\":true},\"name\":{\"minLength\":1,\"type\":\"string\"}},\"
 
required\":[\"name\",\"labels\"],\"type\":\"object\"},\"type\":\"array\"},\"timeout\":{\"properties\":{\"connect\":{\"type\":\"string\"},\"read\":{\"type\":\"string\"},\"send\":{\"type\":\"string\"}},\"type\":\"object\"},\"tlsSecret\":{\"description\":\"ApisixSecret
 describes the Kubernetes Secret name and 
namespace.\",\"properties\":{\"name\":{\"minLength\":1,\"type\":\"string\"},\"namespace\":{\"minLength\":1,\"type\":\"string\"}},\"required\":[\"name\",\"namespace\"],\"type\":\"object\"}},\"type\":\"object\"}},\"type\":\"object\"}},\"served\":true,\"storage\":true,\"subresources\":{\"status\":{}}}]}}\n"},"labels":{"apisix.apache.org/app":"ingress-apisix"}},"spec":{"versions":[{"name":"v2beta3","schema":{"openAPIV3Schema":{"properties":{"spec":{"properties":{"healthCheck":{"anyOf":[{"required":["active"]},{"required":["active","passive"]}],"properties":{"active":{"properties":{"concurrency":{"minimum":1,"type":"integer"},"healthy":{"properties":{"httpCodes":{"items":{"maximum":599
 
,"minimum":200,"type":"integer"},"minItems":1,"type":"array"},"interval":{"type":"string"},"successes":{"maximum":254,"minimum":1,"type":"integer"}},"type":"object"},"host":{"pattern":"^\\*?[0-9a-zA-Z-._]+$","type":"string"},"httpPath":{"minLength":1,"type":"string"},"port":{"maximum":65535,"minimum":1,"type":"integer"},"requestHeaders":{"items":{"type":"string"},"minItems":1,"type":"array"},"strictTLS":{"type":"boolean"},"timeout":{"minimum":0,"type":"number"},"type":{"enum":["http","https","tcp"],"type":"string"},"unhealthy":{"properties":{"httpCodes":{"items":{"maximum":599,"minimum":200,"type":"integer"},"minItems":1,"type":"array"},"httpFailures":{"maximum":254,"minimum":1,"type":"integer"},"interval":{"type":"string"},"tcpFailures":{"maximum":254,"minimum":1,"type":"integer"},"timeouts":{"minimum":0,"type":"integer"}},"type":"object"}},"type":"object"},"passive":{"properties":{"healthy":{"properties":{"httpCodes":{"items":{"maximum":599,"minimum":200,"type":"integer"},"minItem
 
s":1,"type":"array"},"successes":{"maximum":254,"minimum":1,"type":"integer"}},"type":"object"},"type":{"enum":["http","https","tcp"],"type":"string"},"unhealthy":{"properties":{"httpCodes":{"items":{"maximum":599,"minimum":200,"type":"integer"},"minItems":1,"type":"array"},"httpFailures":{"maximum":254,"minimum":1,"type":"integer"},"tcpFailures":{"maximum":254,"minimum":1,"type":"integer"},"timeouts":{"minimum":0,"type":"integer"}},"type":"object"}},"type":"object"}},"type":"object"},"loadbalancer":{"properties":{"hashOn":{"enum":["vars","vars_combinations","header","cookie","consumer"],"type":"string"},"key":{"type":"string"},"type":{"enum":["roundrobin","chash","ewma","least_conn"],"type":"string"}},"required":["type"],"type":"object"},"portLevelSettings":{"items":{"properties":{"healthCheck":{"anyOf":[{"required":["active"]},{"required":["active","passive"]}],"properties":{"active":{"properties":{"concurrency":{"minimum":1,"type":"integer"},"healthy":{"properties":{"httpCodes":{
 
"items":{"maximum":599,"minimum":200,"type":"integer"},"minItems":1,"type":"array"},"interval":{"type":"string"},"successes":{"maximum":254,"minimum":1,"type":"integer"}},"type":"object"},"host":{"pattern":"^\\*?[0-9a-zA-Z-._]+$","type":"string"},"httpPath":{"minLength":1,"type":"string"},"port":{"maximum":65535,"minimum":1,"type":"integer"},"requestHeaders":{"items":{"type":"string"},"minItems":1,"type":"array"},"strictTLS":{"type":"boolean"},"timeout":{"minimum":0,"type":"number"},"type":{"enum":["http","https","tcp"],"type":"string"},"unhealthy":{"properties":{"httpCodes":{"items":{"maximum":599,"minimum":200,"type":"integer"},"minItems":1,"type":"array"},"httpFailures":{"maximum":254,"minimum":1,"type":"integer"},"interval":{"type":"string"},"tcpFailures":{"maximum":254,"minimum":1,"type":"integer"},"timeout":{"type":"string"}},"type":"object"}},"type":"object"},"passive":{"properties":{"healthy":{"properties":{"httpCodes":{"items":{"maximum":599,"minimum":200,"type":"integer"},
 
"minItems":1,"type":"array"},"successes":{"maximum":254,"minimum":1,"type":"integer"}},"type":"object"},"type":{"enum":["http","https","tcp"],"type":"string"},"unhealthy":{"properties":{"httpCodes":{"items":{"maximum":599,"minimum":200,"type":"integer"},"minItems":1,"type":"array"},"httpFailures":{"maximum":254,"minimum":1,"type":"integer"},"tcpFailures":{"maximum":254,"minimum":1,"type":"integer"},"timeout":{"type":"string"}},"type":"object"}},"type":"object"}},"type":"object"},"loadbalancer":{"properties":{"hashOn":{"enum":["vars","vars_combinations","header","cookie","consumer"],"type":"string"},"key":{"type":"string"},"type":{"enum":["roundrobin","chash","ewma","least_conn"],"type":"string"}},"required":["type"],"type":"object"},"port":{"maximum":65535,"minimum":1,"type":"integer"},"retries":{"minimum":0,"type":"integer"},"scheme":{"enum":["http","grpc"],"type":"string"},"timeout":{"properties":{"connect":{"type":"string"},"read":{"type":"string"},"send":{"type":"string"}},"type
 
":"object"}},"type":"object"},"type":"array"},"retries":{"minimum":0,"type":"integer"},"scheme":{"enum":["http","grpc","https","grpcs"],"type":"string"},"subsets":{"items":{"properties":{"labels":{"type":"object","x-kubernetes-preserve-unknown-fields":true},"name":{"minLength":1,"type":"string"}},"required":["name","labels"],"type":"object"},"type":"array"},"timeout":{"properties":{"connect":{"type":"string"},"read":{"type":"string"},"send":{"type":"string"}},"type":"object"},"tlsSecret":{"description":"ApisixSecret
 describes the Kubernetes Secret name and 
namespace.","properties":{"name":{"minLength":1,"type":"string"},"namespace":{"minLength":1,"type":"string"}},"required":["name","namespace"],"type":"object"}},"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]}}
   to:
   Resource: "apiextensions.k8s.io/v1, Resource=customresourcedefinitions", 
GroupVersionKind: "apiextensions.k8s.io/v1, Kind=CustomResourceDefinition"
   Name: "apisixupstreams.apisix.apache.org", Namespace: ""
   for: "crd.yaml": CustomResourceDefinition.apiextensions.k8s.io 
"apisixupstreams.apisix.apache.org" is invalid: status.storedVersions[0]: 
Invalid value: "v1": must appear in spec.versions
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to