add maxLength constraint for CRD (#1175)
* add maxLength constraint for CRD
This commit is contained in:
parent
a8bfe4eb87
commit
22fa0875e2
|
|
@ -57,6 +57,7 @@ spec:
|
|||
required:
|
||||
- kind
|
||||
- apiVersion
|
||||
- metadata
|
||||
- spec
|
||||
properties:
|
||||
kind:
|
||||
|
|
@ -67,6 +68,14 @@ spec:
|
|||
type: string
|
||||
enum:
|
||||
- acid.zalan.do/v1
|
||||
metadata:
|
||||
type: object
|
||||
required:
|
||||
- name
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
maxLength: 53
|
||||
spec:
|
||||
type: object
|
||||
required:
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ Note, that the name of the cluster must start with the `teamId` and `-`. At
|
|||
Zalando we use team IDs (nicknames) to lower the chance of duplicate cluster
|
||||
names and colliding entities. The team ID would also be used to query an API to
|
||||
get all members of a team and create [database roles](#teams-api-roles) for
|
||||
them.
|
||||
them. Besides, the maximum cluster name length is 53 characters.
|
||||
|
||||
## Watch pods being created
|
||||
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ spec:
|
|||
required:
|
||||
- kind
|
||||
- apiVersion
|
||||
- metadata
|
||||
- spec
|
||||
properties:
|
||||
kind:
|
||||
|
|
@ -63,6 +64,14 @@ spec:
|
|||
type: string
|
||||
enum:
|
||||
- acid.zalan.do/v1
|
||||
metadata:
|
||||
type: object
|
||||
required:
|
||||
- name
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
maxLength: 53
|
||||
spec:
|
||||
type: object
|
||||
required:
|
||||
|
|
|
|||
|
|
@ -107,12 +107,13 @@ var min0 = 0.0
|
|||
var min1 = 1.0
|
||||
var min2 = 2.0
|
||||
var minDisable = -1.0
|
||||
var maxLength = int64(53)
|
||||
|
||||
// PostgresCRDResourceValidation to check applied manifest parameters
|
||||
var PostgresCRDResourceValidation = apiextv1beta1.CustomResourceValidation{
|
||||
OpenAPIV3Schema: &apiextv1beta1.JSONSchemaProps{
|
||||
Type: "object",
|
||||
Required: []string{"kind", "apiVersion", "spec"},
|
||||
Required: []string{"kind", "apiVersion", "metadata", "spec"},
|
||||
Properties: map[string]apiextv1beta1.JSONSchemaProps{
|
||||
"kind": {
|
||||
Type: "string",
|
||||
|
|
@ -130,6 +131,16 @@ var PostgresCRDResourceValidation = apiextv1beta1.CustomResourceValidation{
|
|||
},
|
||||
},
|
||||
},
|
||||
"metadata": {
|
||||
Type: "object",
|
||||
Required: []string{"name"},
|
||||
Properties: map[string]apiextv1beta1.JSONSchemaProps{
|
||||
"name": {
|
||||
Type: "string",
|
||||
MaxLength: &maxLength,
|
||||
},
|
||||
},
|
||||
},
|
||||
"spec": {
|
||||
Type: "object",
|
||||
Required: []string{"numberOfInstances", "teamId", "postgresql", "volume"},
|
||||
|
|
|
|||
Loading…
Reference in New Issue