diff --git a/crds/workspace.devfile.io_devworkspaces.v1beta1.yaml b/crds/workspace.devfile.io_devworkspaces.v1beta1.yaml index 5f11c587d..71f03f330 100644 --- a/crds/workspace.devfile.io_devworkspaces.v1beta1.yaml +++ b/crds/workspace.devfile.io_devworkspaces.v1beta1.yaml @@ -454,6 +454,7 @@ spec: `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -751,6 +752,7 @@ spec: `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -869,6 +871,7 @@ spec: `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -1259,6 +1262,8 @@ spec: a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be + unique. type: integer required: - name @@ -1552,6 +1557,8 @@ spec: a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be + unique. type: integer required: - name @@ -1681,6 +1688,8 @@ spec: a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be + unique. type: integer required: - name @@ -2166,6 +2175,7 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2442,6 +2452,7 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2561,6 +2572,7 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2965,6 +2977,8 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name @@ -3276,6 +3290,8 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name @@ -3412,6 +3428,8 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name diff --git a/crds/workspace.devfile.io_devworkspaces.yaml b/crds/workspace.devfile.io_devworkspaces.yaml index c6e4b0c9b..8e3c0603b 100644 --- a/crds/workspace.devfile.io_devworkspaces.yaml +++ b/crds/workspace.devfile.io_devworkspaces.yaml @@ -462,6 +462,7 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -764,6 +765,7 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -885,6 +887,7 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -1282,6 +1285,8 @@ spec: `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name @@ -1583,6 +1588,8 @@ spec: `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name @@ -1715,6 +1722,8 @@ spec: `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name @@ -2203,6 +2212,7 @@ spec: protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2484,6 +2494,7 @@ spec: protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2605,6 +2616,7 @@ spec: protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -3017,6 +3029,8 @@ spec: of `https` or `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name @@ -3332,6 +3346,8 @@ spec: of `https` or `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name @@ -3471,6 +3487,8 @@ spec: of `https` or `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name diff --git a/crds/workspace.devfile.io_devworkspacetemplates.v1beta1.yaml b/crds/workspace.devfile.io_devworkspacetemplates.v1beta1.yaml index 49cdc89b2..d3b017f0d 100644 --- a/crds/workspace.devfile.io_devworkspacetemplates.v1beta1.yaml +++ b/crds/workspace.devfile.io_devworkspacetemplates.v1beta1.yaml @@ -419,6 +419,7 @@ spec: This requires a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -710,6 +711,7 @@ spec: This requires a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -822,6 +824,7 @@ spec: This requires a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -1202,6 +1205,7 @@ spec: protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -1483,6 +1487,7 @@ spec: protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -1604,6 +1609,7 @@ spec: protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2071,6 +2077,7 @@ spec: `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2340,6 +2347,7 @@ spec: `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2457,6 +2465,7 @@ spec: `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2846,6 +2855,8 @@ spec: a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be + unique. type: integer required: - name @@ -3139,6 +3150,8 @@ spec: a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be + unique. type: integer required: - name @@ -3268,6 +3281,8 @@ spec: a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be + unique. type: integer required: - name diff --git a/crds/workspace.devfile.io_devworkspacetemplates.yaml b/crds/workspace.devfile.io_devworkspacetemplates.yaml index fecd427c2..f39e5cb1f 100644 --- a/crds/workspace.devfile.io_devworkspacetemplates.yaml +++ b/crds/workspace.devfile.io_devworkspacetemplates.yaml @@ -427,6 +427,7 @@ spec: `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -723,6 +724,7 @@ spec: `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -840,6 +842,7 @@ spec: `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -1224,6 +1227,7 @@ spec: a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -1510,6 +1514,7 @@ spec: a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -1634,6 +1639,7 @@ spec: a protocol of `https` or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2109,6 +2115,7 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2380,6 +2387,7 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2498,6 +2506,7 @@ spec: or `wss`. type: boolean targetPort: + description: The port number should be unique. type: integer required: - name @@ -2894,6 +2903,8 @@ spec: `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name @@ -3195,6 +3206,8 @@ spec: `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name @@ -3327,6 +3340,8 @@ spec: `wss`. type: boolean targetPort: + description: The port number should + be unique. type: integer required: - name diff --git a/generator/schemas/gen.go b/generator/schemas/gen.go index 367d0d2d5..f1032d639 100644 --- a/generator/schemas/gen.go +++ b/generator/schemas/gen.go @@ -40,6 +40,8 @@ type GenerateJSONSchema struct { // OmitPluginUnionMembers indicates that the Json schema generated from this type should omit Plugin component union members. OmitPluginUnionMembers bool `marker:",optional"` + ShortenEndpointNameLength bool `marker:",optional"` + // Title indicates the content ot the Json Schema `title` attribute Title string `marker:",optional"` } @@ -273,6 +275,33 @@ This is not the case in the "%s' API group: (¤tJSONSchema).Title = schemaGenerateMarker.Title + // Update endpoint name length limit to 15 chars in devfile spec, if ShortenEndpointNameLength is specified + // To fix issue: https://github.com/devfile/api/issues/700, but also to hold backward compatibility for devworkspace + genutils.EditJSONSchema(¤tJSONSchema, func(schema *apiext.JSONSchemaProps) (newVisitor genutils.Visitor, stop bool) { + if schema == nil { + return + } + if schema.Type != "object" { + return + } + if len(schema.Properties) == 0 { + return + } + for propName, prop := range schema.Properties { + if propName == "endpoints" { + for endpointPropName, endpointProp := range prop.Items.Schema.Properties { + if endpointPropName == "name" { + if schemaGenerateMarker.ShortenEndpointNameLength { + *endpointProp.MaxLength = int64(15) + break + } + } + } + } + } + return + }) + jsonSchema, err := json.MarshalIndent(¤tJSONSchema, "", " ") if err != nil { return err diff --git a/generator/schemas/zz_generated.markerhelp.go b/generator/schemas/zz_generated.markerhelp.go index d6e21d9bc..0e59bc17b 100644 --- a/generator/schemas/zz_generated.markerhelp.go +++ b/generator/schemas/zz_generated.markerhelp.go @@ -27,6 +27,10 @@ func (GenerateJSONSchema) Help() *markers.DefinitionHelp { Summary: "indicates that the Json schema generated from this type should omit Plugin component union members.", Details: "", }, + "ShortenEndpointNameLength": { + Summary: "", + Details: "", + }, "Title": { Summary: "indicates the content ot the Json Schema `title` attribute", Details: "", diff --git a/pkg/apis/workspaces/v1alpha2/devfile.go b/pkg/apis/workspaces/v1alpha2/devfile.go index 050399a40..4785ce11b 100644 --- a/pkg/apis/workspaces/v1alpha2/devfile.go +++ b/pkg/apis/workspaces/v1alpha2/devfile.go @@ -6,7 +6,7 @@ import ( // Devfile describes the structure of a cloud-native devworkspace and development environment. // +k8s:deepcopy-gen=false -// +devfile:jsonschema:generate:omitCustomUnionMembers=true,omitPluginUnionMembers=true +// +devfile:jsonschema:generate:omitCustomUnionMembers=true,omitPluginUnionMembers=true,shortenEndpointNameLength=true type Devfile struct { devfile.DevfileHeader `json:",inline"` diff --git a/pkg/apis/workspaces/v1alpha2/endpoint.go b/pkg/apis/workspaces/v1alpha2/endpoint.go index ea4b9bec8..6079476ed 100644 --- a/pkg/apis/workspaces/v1alpha2/endpoint.go +++ b/pkg/apis/workspaces/v1alpha2/endpoint.go @@ -50,6 +50,7 @@ type Endpoint struct { // +kubebuilder:validation:MaxLength=63 Name string `json:"name"` + // The port number should be unique. TargetPort int `json:"targetPort"` // Describes how the endpoint should be exposed on the network. diff --git a/pkg/apis/workspaces/v1alpha2/zz_generated.parent_overrides.go b/pkg/apis/workspaces/v1alpha2/zz_generated.parent_overrides.go index 2a323b447..754777f1f 100644 --- a/pkg/apis/workspaces/v1alpha2/zz_generated.parent_overrides.go +++ b/pkg/apis/workspaces/v1alpha2/zz_generated.parent_overrides.go @@ -444,6 +444,7 @@ type EndpointParentOverride struct { Name string `json:"name"` // +optional + // The port number should be unique. TargetPort int `json:"targetPort,omitempty"` // Describes how the endpoint should be exposed on the network. @@ -1139,6 +1140,7 @@ type EndpointPluginOverrideParentOverride struct { Name string `json:"name"` // +optional + // The port number should be unique. TargetPort int `json:"targetPort,omitempty"` // Describes how the endpoint should be exposed on the network. diff --git a/pkg/apis/workspaces/v1alpha2/zz_generated.plugin_overrides.go b/pkg/apis/workspaces/v1alpha2/zz_generated.plugin_overrides.go index 720ba5575..c3ce13cd7 100644 --- a/pkg/apis/workspaces/v1alpha2/zz_generated.plugin_overrides.go +++ b/pkg/apis/workspaces/v1alpha2/zz_generated.plugin_overrides.go @@ -314,6 +314,7 @@ type EndpointPluginOverride struct { Name string `json:"name"` // +optional + // The port number should be unique. TargetPort int `json:"targetPort,omitempty"` // Describes how the endpoint should be exposed on the network. diff --git a/pkg/validation/components_test.go b/pkg/validation/components_test.go index 0ed654a6c..ae1f899e2 100644 --- a/pkg/validation/components_test.go +++ b/pkg/validation/components_test.go @@ -237,13 +237,14 @@ func TestValidateComponents(t *testing.T) { endpointUrl18080 := generateDummyEndpoint("url1", 8080) endpointUrl18081 := generateDummyEndpoint("url1", 8081) endpointUrl28080 := generateDummyEndpoint("url2", 8080) + endpointUrl28081 := generateDummyEndpoint("url2", 8081) invalidVolMountErr := ".*\nvolume mount myinvalidvol belonging to the container component.*\nvolume mount myinvalidvol2 belonging to the container component.*" duplicateComponentErr := "duplicate key: component1" reservedEnvErr := "env variable .* is reserved and cannot be customized in component.*" invalidSizeErr := "size .* for volume component is invalid" sameEndpointNameErr := "devfile contains multiple endpoint entries with same name.*" - sameTargetPortErr := "devfile contains multiple containers with same TargetPort.*" + sameTargetPortErr := "devfile contains multiple endpoint entries with same TargetPort.*" invalidURIErr := ".*invalid URI for request" imageCompTwoRemoteErr := "component .* should have one remote only" imageCompNoRemoteErr := "component .* should have at least one remote" @@ -326,10 +327,11 @@ func TestValidateComponents(t *testing.T) { wantErr: []string{sameTargetPortErr}, }, { - name: "Valid container with same target ports but different endpoint name", + name: "Invalid container with same target ports in a single component", components: []v1alpha2.Component{ generateDummyContainerComponent("name1", nil, []v1alpha2.Endpoint{endpointUrl18080, endpointUrl28080}, nil, v1alpha2.Annotation{}, false), }, + wantErr: []string{sameTargetPortErr}, }, { name: "Valid containers with valid resource requirement", @@ -466,14 +468,14 @@ func TestValidateComponents(t *testing.T) { { name: "Invalid Openshift Component with bad URI", components: []v1alpha2.Component{ - generateDummyOpenshiftComponent("name1", []v1alpha2.Endpoint{endpointUrl18080, endpointUrl28080}, "http//wronguri"), + generateDummyOpenshiftComponent("name1", []v1alpha2.Endpoint{endpointUrl18080, endpointUrl28081}, "http//wronguri"), }, wantErr: []string{invalidURIErr}, }, { name: "Valid Kubernetes Component", components: []v1alpha2.Component{ - generateDummyKubernetesComponent("name1", []v1alpha2.Endpoint{endpointUrl18080, endpointUrl28080}, "http://uri"), + generateDummyKubernetesComponent("name1", []v1alpha2.Endpoint{endpointUrl18080, endpointUrl28081}, "http://uri"), }, }, { diff --git a/pkg/validation/endpoints.go b/pkg/validation/endpoints.go index 9970c899d..55d7a4f6c 100644 --- a/pkg/validation/endpoints.go +++ b/pkg/validation/endpoints.go @@ -5,24 +5,18 @@ import "github.com/devfile/api/v2/pkg/apis/workspaces/v1alpha2" // validateEndpoints checks if // 1. all the endpoint names are unique across components // 2. endpoint port are unique across component containers -// ie; two component containers cannot have the same target port but two endpoints -// in a single component container can have the same target port func validateEndpoints(endpoints []v1alpha2.Endpoint, processedEndPointPort map[int]bool, processedEndPointName map[string]bool) (errList []error) { - currentComponentEndPointPort := make(map[int]bool) for _, endPoint := range endpoints { if _, ok := processedEndPointName[endPoint.Name]; ok { errList = append(errList, &InvalidEndpointError{name: endPoint.Name}) } + if _, ok := processedEndPointPort[endPoint.TargetPort]; ok { + errList = append(errList, &InvalidEndpointError{port: endPoint.TargetPort}) + } processedEndPointName[endPoint.Name] = true - currentComponentEndPointPort[endPoint.TargetPort] = true + processedEndPointPort[endPoint.TargetPort] = true } - for targetPort := range currentComponentEndPointPort { - if _, ok := processedEndPointPort[targetPort]; ok { - errList = append(errList, &InvalidEndpointError{port: targetPort}) - } - processedEndPointPort[targetPort] = true - } return errList } diff --git a/pkg/validation/endpoints_test.go b/pkg/validation/endpoints_test.go index 597053afe..83d937ba3 100644 --- a/pkg/validation/endpoints_test.go +++ b/pkg/validation/endpoints_test.go @@ -10,7 +10,7 @@ import ( func TestValidateEndpoints(t *testing.T) { duplicateNameErr := "multiple endpoint entries with same name" - duplicatePortErr := "devfile contains multiple containers with same TargetPort" + duplicatePortErr := "devfile contains multiple endpoint entries with same TargetPort" tests := []struct { name string @@ -48,6 +48,7 @@ func TestValidateEndpoints(t *testing.T) { }, processedEndpointName: map[string]bool{}, processedEndpointPort: map[int]bool{}, + wantErr: []string{duplicatePortErr}, }, { name: "Duplicate endpoint port across components", diff --git a/pkg/validation/errors.go b/pkg/validation/errors.go index 705e1b9d2..748c51e78 100644 --- a/pkg/validation/errors.go +++ b/pkg/validation/errors.go @@ -96,7 +96,7 @@ func (e *InvalidEndpointError) Error() string { if e.name != "" { errMsg = fmt.Sprintf("devfile contains multiple endpoint entries with same name: %v", e.name) } else if fmt.Sprint(e.port) != "" { - errMsg = fmt.Sprintf("devfile contains multiple containers with same TargetPort: %v", e.port) + errMsg = fmt.Sprintf("devfile contains multiple endpoint entries with same TargetPort: %v", e.port) } return errMsg diff --git a/pkg/validation/validation-rule.md b/pkg/validation/validation-rule.md index cc5b81647..83f9c79af 100644 --- a/pkg/validation/validation-rule.md +++ b/pkg/validation/validation-rule.md @@ -14,8 +14,7 @@ The validation will be done as part of schema validation, the rule will be intro ### Endpoints: - all the endpoint names are unique across components - -Since network is shared in the same pod, endpoint ports should be unique across components, two components cannot have the same target port but two endpoints in a single component can have the same target port. Only exception: container component with `dedicatedpod=true` +- all the endpoint ports are unique across components. Only exception: container component with `dedicatedpod=true` ### Commands: 1. id must be unique diff --git a/schemas/latest/dev-workspace-template-spec.json b/schemas/latest/dev-workspace-template-spec.json index 969abe820..7c5333421 100644 --- a/schemas/latest/dev-workspace-template-spec.json +++ b/schemas/latest/dev-workspace-template-spec.json @@ -430,6 +430,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -721,6 +722,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -822,6 +824,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1195,6 +1198,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1457,6 +1461,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1555,6 +1560,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2042,6 +2048,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2304,6 +2311,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2402,6 +2410,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2775,6 +2784,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -3037,6 +3047,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -3135,6 +3146,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, diff --git a/schemas/latest/dev-workspace-template.json b/schemas/latest/dev-workspace-template.json index 7f41e19a1..4726f0f7c 100644 --- a/schemas/latest/dev-workspace-template.json +++ b/schemas/latest/dev-workspace-template.json @@ -596,6 +596,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -887,6 +888,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -988,6 +990,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1361,6 +1364,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1623,6 +1627,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1721,6 +1726,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2208,6 +2214,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2470,6 +2477,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2568,6 +2576,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2941,6 +2950,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -3203,6 +3213,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -3301,6 +3312,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, diff --git a/schemas/latest/dev-workspace.json b/schemas/latest/dev-workspace.json index 4021e8f9d..4db941c33 100644 --- a/schemas/latest/dev-workspace.json +++ b/schemas/latest/dev-workspace.json @@ -609,6 +609,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -900,6 +901,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1001,6 +1003,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1374,6 +1377,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1636,6 +1640,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1734,6 +1739,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2221,6 +2227,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2483,6 +2490,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2581,6 +2589,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -2954,6 +2963,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -3216,6 +3226,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -3314,6 +3325,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, diff --git a/schemas/latest/devfile.json b/schemas/latest/devfile.json index e12a6729e..1d76dcb6e 100644 --- a/schemas/latest/devfile.json +++ b/schemas/latest/devfile.json @@ -344,7 +344,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -369,6 +369,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -615,7 +616,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -640,6 +641,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -716,7 +718,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -741,6 +743,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1228,7 +1231,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -1252,6 +1255,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1490,7 +1494,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -1514,6 +1518,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1588,7 +1593,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -1612,6 +1617,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, diff --git a/schemas/latest/ide-targeted/dev-workspace-template-spec.json b/schemas/latest/ide-targeted/dev-workspace-template-spec.json index 88c8153d1..0ff0d91f3 100644 --- a/schemas/latest/ide-targeted/dev-workspace-template-spec.json +++ b/schemas/latest/ide-targeted/dev-workspace-template-spec.json @@ -475,7 +475,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -798,7 +800,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -908,7 +912,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1323,7 +1329,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1617,7 +1625,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1726,7 +1736,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -2274,7 +2286,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -2568,7 +2582,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -2677,7 +2693,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -3092,7 +3110,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -3386,7 +3406,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -3495,7 +3517,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false diff --git a/schemas/latest/ide-targeted/dev-workspace-template.json b/schemas/latest/ide-targeted/dev-workspace-template.json index bdd00feed..a77627df2 100644 --- a/schemas/latest/ide-targeted/dev-workspace-template.json +++ b/schemas/latest/ide-targeted/dev-workspace-template.json @@ -674,7 +674,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -997,7 +999,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1107,7 +1111,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1522,7 +1528,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1816,7 +1824,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1925,7 +1935,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -2473,7 +2485,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -2767,7 +2781,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -2876,7 +2892,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -3291,7 +3309,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -3585,7 +3605,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -3694,7 +3716,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false diff --git a/schemas/latest/ide-targeted/dev-workspace.json b/schemas/latest/ide-targeted/dev-workspace.json index 544e309a9..fe162d4ba 100644 --- a/schemas/latest/ide-targeted/dev-workspace.json +++ b/schemas/latest/ide-targeted/dev-workspace.json @@ -687,7 +687,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1010,7 +1012,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1120,7 +1124,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1535,7 +1541,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1829,7 +1837,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1938,7 +1948,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -2486,7 +2498,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -2780,7 +2794,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -2889,7 +2905,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -3304,7 +3322,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -3598,7 +3618,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -3707,7 +3729,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false diff --git a/schemas/latest/ide-targeted/devfile.json b/schemas/latest/ide-targeted/devfile.json index 310398e5e..dc4dcd9bf 100644 --- a/schemas/latest/ide-targeted/devfile.json +++ b/schemas/latest/ide-targeted/devfile.json @@ -380,7 +380,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -407,7 +407,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -680,7 +682,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -707,7 +709,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -790,7 +794,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -817,7 +821,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1369,7 +1375,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -1396,7 +1402,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1663,7 +1671,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -1690,7 +1698,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1772,7 +1782,7 @@ }, "name": { "type": "string", - "maxLength": 63, + "maxLength": 15, "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "path": { @@ -1799,7 +1809,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false diff --git a/schemas/latest/ide-targeted/parent-overrides.json b/schemas/latest/ide-targeted/parent-overrides.json index 110da5674..5fdd7eaab 100644 --- a/schemas/latest/ide-targeted/parent-overrides.json +++ b/schemas/latest/ide-targeted/parent-overrides.json @@ -388,7 +388,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -682,7 +684,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -791,7 +795,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1206,7 +1212,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1500,7 +1508,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -1609,7 +1619,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false diff --git a/schemas/latest/ide-targeted/plugin-overrides.json b/schemas/latest/ide-targeted/plugin-overrides.json index 312920b29..938d0993b 100644 --- a/schemas/latest/ide-targeted/plugin-overrides.json +++ b/schemas/latest/ide-targeted/plugin-overrides.json @@ -377,7 +377,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -671,7 +673,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false @@ -780,7 +784,9 @@ "markdownDescription": "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." }, "targetPort": { - "type": "integer" + "description": "The port number should be unique.", + "type": "integer", + "markdownDescription": "The port number should be unique." } }, "additionalProperties": false diff --git a/schemas/latest/parent-overrides.json b/schemas/latest/parent-overrides.json index 25e7a1099..65d149e87 100644 --- a/schemas/latest/parent-overrides.json +++ b/schemas/latest/parent-overrides.json @@ -347,6 +347,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -609,6 +610,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -707,6 +709,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1080,6 +1083,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1342,6 +1346,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -1440,6 +1445,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, diff --git a/schemas/latest/plugin-overrides.json b/schemas/latest/plugin-overrides.json index 44954f48e..f364f7331 100644 --- a/schemas/latest/plugin-overrides.json +++ b/schemas/latest/plugin-overrides.json @@ -337,6 +337,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -599,6 +600,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, @@ -697,6 +699,7 @@ "type": "boolean" }, "targetPort": { + "description": "The port number should be unique.", "type": "integer" } }, diff --git a/test/v200/json/component-parent-tests.json b/test/v200/json/component-parent-tests.json index bf85813a9..05888a0d0 100644 --- a/test/v200/json/component-parent-tests.json +++ b/test/v200/json/component-parent-tests.json @@ -69,7 +69,7 @@ }, { "FileName" : "componentContainerEndpointLongName.yaml", - "ExpectOutcome" : "length must be <= 63", + "ExpectOutcome" : "length must be <= ", "Files": ["devfiles/components/componentStart.yaml", "devfiles/components/containerEndpointLongName.yaml"] }, @@ -142,7 +142,7 @@ }, { "FileName" : "componentKubernetesEndpointLongName.yaml", - "ExpectOutcome" : "length must be <= 63", + "ExpectOutcome" : "length must be <= ", "Files": ["devfiles/components/componentStart.yaml", "devfiles/components/kubernetesEndpointLongName.yaml"] }, @@ -215,7 +215,7 @@ }, { "FileName" : "componentOpenshiftEndpointLongName.yaml", - "ExpectOutcome" : "length must be <= 63", + "ExpectOutcome" : "length must be <= ", "Files": ["devfiles/components/componentStart.yaml", "devfiles/components/openshiftEndpointLongName.yaml"] }, diff --git a/test/v200/json/component-tests.json b/test/v200/json/component-tests.json index 4fa8349f4..78629fb43 100644 --- a/test/v200/json/component-tests.json +++ b/test/v200/json/component-tests.json @@ -75,7 +75,7 @@ }, { "FileName" : "componentContainerEndpointLongName.yaml", - "ExpectOutcome" : "length must be <= 63", + "ExpectOutcome" : "length must be <= ", "Files": ["devfiles/components/componentStart.yaml", "devfiles/components/containerEndpointLongName.yaml"] }, @@ -166,7 +166,7 @@ }, { "FileName" : "componentKubernetesEndpointLongName.yaml", - "ExpectOutcome" : "length must be <= 63", + "ExpectOutcome" : "length must be <= ", "Files": ["devfiles/components/componentStart.yaml", "devfiles/components/kubernetesEndpointLongName.yaml"] }, @@ -245,7 +245,7 @@ }, { "FileName" : "componentOpenshiftEndpointLongName.yaml", - "ExpectOutcome" : "length must be <= 63", + "ExpectOutcome" : "length must be <= ", "Files": ["devfiles/components/componentStart.yaml", "devfiles/components/openshiftEndpointLongName.yaml"] }, diff --git a/test/v200/utils/common/endpoint_test_utils.go b/test/v200/utils/common/endpoint_test_utils.go index 4442501c7..3bbff4f95 100644 --- a/test/v200/utils/common/endpoint_test_utils.go +++ b/test/v200/utils/common/endpoint_test_utils.go @@ -48,7 +48,7 @@ func (devfile *TestDevfile) CreateEndpoints() []schema.Endpoint { endpoint := schema.Endpoint{} - endpoint.Name = GetRandomUniqueString(GetRandomNumber(5, 24), true) + endpoint.Name = GetRandomUniqueString(GetRandomNumber(5, 10), true) LogInfoMessage(fmt.Sprintf(" ....... add endpoint %d name : %s", i, endpoint.Name)) if GetBinaryDecision() { diff --git a/test/v200/utils/common/parent_endpoint-test-utils.go b/test/v200/utils/common/parent_endpoint-test-utils.go index 716458c0b..4508b05a9 100644 --- a/test/v200/utils/common/parent_endpoint-test-utils.go +++ b/test/v200/utils/common/parent_endpoint-test-utils.go @@ -18,7 +18,7 @@ func (devfile *TestDevfile) CreateParentEndpoints() []schema.EndpointParentOverr endpoint := schema.EndpointParentOverride{} - endpoint.Name = GetRandomUniqueString(GetRandomNumber(5, 24), true) + endpoint.Name = GetRandomUniqueString(GetRandomNumber(5, 10), true) LogInfoMessage(fmt.Sprintf(" ....... add endpoint %d name : %s", i, endpoint.Name)) if GetBinaryDecision() {