This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/master by this push:
     new 8c5d4c9  Fix #1599: generate good trait doc
8c5d4c9 is described below

commit 8c5d4c9caa4dc1f679d166fafa720ce0aef17d77
Author: Nicola Ferraro <[email protected]>
AuthorDate: Fri Jul 17 10:31:19 2020 +0200

    Fix #1599: generate good trait doc
---
 cmd/util/doc-gen/generators/traitmetadatagen.go | 12 ++++++-
 deploy/resources.go                             | 24 +++++++-------
 deploy/traits.yaml                              | 44 ++++++++++++-------------
 docs/modules/traits/pages/affinity.adoc         |  2 +-
 pkg/trait/affinity.go                           |  2 +-
 5 files changed, 47 insertions(+), 37 deletions(-)

diff --git a/cmd/util/doc-gen/generators/traitmetadatagen.go 
b/cmd/util/doc-gen/generators/traitmetadatagen.go
index ac39845..5150d92 100644
--- a/cmd/util/doc-gen/generators/traitmetadatagen.go
+++ b/cmd/util/doc-gen/generators/traitmetadatagen.go
@@ -128,7 +128,17 @@ func (g *traitMetaDataGen) buildDescription(t *types.Type, 
traitID string, td *t
        var desc = []string(nil)
        desc = append(desc, g.filterOutTagsAndComments(t.CommentLines)...)
        td.Name = traitID
-       td.Description = strings.Join(desc, "")
+       td.Description = ""
+       for _, line := range desc {
+               text := strings.Trim(line, " ")
+               if len(text) == 0 {
+                       continue
+               }
+               if len(td.Description) > 0 {
+                       td.Description += " "
+               }
+               td.Description += text
+       }
        td.Profiles = determineProfiles(traitID)
        td.Platform = isPlatformTrait(traitID)
 }
diff --git a/deploy/resources.go b/deploy/resources.go
index 50e7b58..fb0d9a2 100644
--- a/deploy/resources.go
+++ b/deploy/resources.go
@@ -112,37 +112,37 @@ var assets = func() http.FileSystem {
                "/crd-build.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "crd-build.yaml",
                        modTime:          time.Time{},
-                       uncompressedSize: 301739,
+                       uncompressedSize: 301783,
 
-                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x73\x23\xb7\xb5\x28\xfa\xdd\xbf\x02\x25\xa7\x4a\xd2\x8e\x48\x79\xf6\xce\xcd\xce\x9e\xec\x8a\x4b\x1e\x69\x1c\x5d\xcf\x43\x67\xa8\xb1\xef\x29\x27\x3b\x05\x76\x83\x24\xa2\x6e\xa0\x0d\xa0\xa5\x61\x8e\xcf\x7f\xbf\x85\x05\xa0\x1f\x7c\xf5\x42\x93\xd2\xc8\x76\xe3\xcb\x8c\x48\xf6\x6a\x3c\x16\xd6\xfb\xf1\x25\x19\x1d\x6e\x7c\xf1\x25\x79\xc3\x13\x26\x34\x4b\x89\x91\xc4\x2c\x18\xb9\x28\x68\xb2\x60\x64\x22\x67\xe6\x81\x
 [...]
+                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6b\x73\x23\xb7\xb5\x28\xfa\xdd\xbf\x02\x25\xa7\x4a\xd2\x8e\x48\x79\xf6\xce\xcd\xce\x9e\xec\x8a\x4b\x1e\x69\x1c\x5d\xcf\x43\x67\xa8\xb1\xef\x29\x27\x3b\x05\x76\x83\x24\xa2\x6e\xa0\x0d\xa0\xa5\x61\x8e\xcf\x7f\xbf\x85\x05\xa0\x1f\x7c\xf5\x42\x93\xd2\xc8\x76\xe3\xcb\x8c\x48\xf6\x6a\x3c\x16\xd6\xfb\xf1\x25\x19\x1d\x6e\x7c\xf1\x25\x79\xc3\x13\x26\x34\x4b\x89\x91\xc4\x2c\x18\xb9\x28\x68\xb2\x60\x64\x22\x67\xe6\x81\x
 [...]
                },
                "/crd-camel-catalog.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "crd-camel-catalog.yaml",
                        modTime:          time.Time{},
-                       uncompressedSize: 9204,
+                       uncompressedSize: 9248,
 
-                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x59\x4d\x73\xdb\xbc\x11\xbe\xf3\x57\xec\x58\x87\xbc\xef\x8c\x45\x35\xed\xa5\xa3\x9e\x54\xd9\x9e\xaa\x71\x64\x8f\xa9\x24\x93\xe3\x8a\x5c\x51\x88\x49\x80\x05\x40\xc9\x6a\xa7\xff\xbd\x03\x90\x94\x48\x89\x1f\x48\xe2\x24\xd3\x4e\x71\x13\xb1\xd8\x8f\x67\xf7\x59\x00\x82\x37\x82\xf1\xeb\x0d\x6f\x04\xf7\x2c\x24\xae\x28\x02\x2d\x40\x6f\x09\x66\x19\x86\x5b\x82\x40\x6c\xf4\x1e\x25\xc1\x9d\xc8\x79\x84\x9a\x09\x0e\xbf\xcd\x82\x
 [...]
+                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x59\x4d\x73\xdb\xbc\x11\xbe\xf3\x57\xec\x58\x87\xbc\xef\x8c\x45\x35\xed\xa5\xa3\x9e\x54\xd9\x9e\xaa\x71\x64\x8f\xa9\x24\x93\xe3\x8a\x5c\x51\x88\x49\x80\x05\x40\xc9\x6a\xa7\xff\xbd\x03\x90\x94\x48\x89\x1f\x48\xe2\x24\xd3\x4e\x71\x13\xb1\xd8\x8f\x67\xf7\x59\x00\x82\x37\x82\xf1\xeb\x0d\x6f\x04\xf7\x2c\x24\xae\x28\x02\x2d\x40\x6f\x09\x66\x19\x86\x5b\x82\x40\x6c\xf4\x1e\x25\xc1\x9d\xc8\x79\x84\x9a\x09\x0e\xbf\xcd\x82\x
 [...]
                },
                "/crd-integration-kit.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "crd-integration-kit.yaml",
                        modTime:          time.Time{},
-                       uncompressedSize: 7066,
+                       uncompressedSize: 7110,
 
-                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x58\x4f\x73\xdb\xba\x11\xbf\xf3\x53\xec\x58\x87\xbc\x37\x63\x51\x4d\x7b\xe9\xa8\x27\xd5\x89\xa7\x6a\x12\xdb\x63\x29\xef\xcd\x9b\xc9\x65\x45\xae\xa8\xad\x48\x80\x05\x40\xc9\x6e\xa7\xdf\xbd\xb3\x00\x45\x51\x12\x29\xcb\x4e\xa2\x9b\x80\xc5\xee\x6f\xff\xfd\x16\xe0\x00\x86\x3f\xee\x17\x0d\xe0\x33\x27\xa4\x2c\xa5\xe0\x34\xb8\x15\xc1\xa4\xc4\x64\x45\x30\xd3\x4b\xb7\x45\x43\x70\xab\x2b\x95\xa2\x63\xad\xe0\x97\xc9\xec\xf6\x
 [...]
+                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x58\x5f\x93\xda\xc8\x11\x7f\xd7\xa7\xe8\x5a\x1e\xee\xae\x6a\x11\x71\xf2\x92\x22\x4f\x04\x7b\x2b\xc4\xf6\xee\xd6\x82\xef\xea\xaa\xfc\xd2\x48\x8d\xe8\x20\xcd\x28\x33\x23\xf0\x26\x95\xef\x9e\xea\x19\x21\x04\x48\x2c\xbb\xf6\xe9\x4d\x33\xfd\xe7\xd7\xff\x5b\x1a\xc0\xf0\xc7\x3d\xd1\x00\x3e\x71\x42\xca\x52\x0a\x4e\x83\x5b\x13\x4c\x4a\x4c\xd6\x04\x73\xbd\x72\x3b\x34\x04\x77\xba\x52\x29\x3a\xd6\x0a\x7e\x9e\xcc\xef\x7e\x81\x
 [...]
                },
                "/crd-integration-platform.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "crd-integration-platform.yaml",
                        modTime:          time.Time{},
-                       uncompressedSize: 14692,
+                       uncompressedSize: 14736,
 
-                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\x5f\x8f\xdb\xb8\x11\x7f\xf7\xa7\x18\xac\x1f\x72\x07\xac\xed\xa6\x7d\x29\xdc\x87\x62\xcf\x49\x50\x37\xc9\xee\x62\xe5\xe4\x70\x8f\x63\x69\x2c\xb3\xa6\x48\x95\xa4\xec\xf8\x8a\x7e\xf7\x62\x48\x49\x96\x6d\xc9\xf6\xee\xe6\x5a\xf4\x60\xbe\x24\x2b\x71\x86\xbf\xf9\xcb\xe1\x50\xee\xc3\xe0\xfb\x8d\x5e\x1f\x3e\x89\x98\x94\xa5\x04\x9c\x06\xb7\x24\xb8\xcb\x31\x5e\x12\x44\x7a\xe1\x36\x68\x08\x3e\xe8\x42\x25\xe8\x84\x56\xf0\x
 [...]
+                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\x5f\x93\xe2\xb8\x11\x7f\xe7\x53\x74\x0d\x0f\x7b\x57\x35\x40\x36\x79\x49\x91\x87\xd4\x1c\xbb\x5b\x21\xbb\x3b\x33\x35\x66\xf7\xea\x1e\x1b\xbb\x31\x0a\xb2\xe4\x48\x32\x2c\x97\xca\x77\x4f\xb5\x64\x1b\x03\x36\x30\x33\x7b\x49\xe5\x0a\xbd\xcc\x60\xab\x5b\xbf\xfe\xab\x56\xdb\xee\xc3\xe0\xfb\x8d\x5e\x1f\x3e\x89\x98\x94\xa5\x04\x9c\x06\xb7\x24\xb8\xcb\x31\x5e\x12\x44\x7a\xe1\x36\x68\x08\x3e\xe8\x42\x25\xe8\x84\x56\xf0\x
 [...]
                },
                "/crd-integration.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "crd-integration.yaml",
                        modTime:          time.Time{},
-                       uncompressedSize: 11511,
+                       uncompressedSize: 11555,
 
-                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1a\x4d\x73\xe2\x38\xf6\xee\x5f\xf1\x2a\x1c\x7a\xa6\x2a\xc0\xf6\xcc\x65\x8b\x3d\xb1\x74\x52\xcb\x76\x9a\xa4\x80\x9e\xa9\x39\x0a\xfb\x61\xb4\x91\x25\xad\x24\x43\xb2\x5b\xfb\xdf\xb7\x9e\x64\x1b\x1b\x6c\x42\x48\x77\x4d\x55\x57\x7c\xc3\x7a\xdf\xdf\x7a\xa6\x07\xfd\x6f\xf7\x44\x3d\xb8\xe3\x31\x4a\x8b\x09\x38\x05\x6e\x83\x30\xd6\x2c\xde\x20\x2c\xd4\xda\xed\x98\x41\xb8\x55\xb9\x4c\x98\xe3\x4a\xc2\x4f\xe3\xc5\xed\xcf\x90\x
 [...]
+                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3a\x4f\x8f\xe2\x38\xf6\xf7\x7c\x8a\xa7\xe2\xd0\x33\x52\x01\xbf\x9e\xb9\xfc\xc4\x9e\x58\xba\x4b\xcb\x76\x37\x55\x02\x7a\x46\x73\x34\xce\x23\x78\xcb\xb1\xb3\xb6\x03\x5d\xbb\xda\xef\xbe\x7a\x76\x12\x92\x90\x50\x14\xd5\xad\x95\x46\x95\x1b\xf1\xfb\xff\xdf\x2f\x0c\x60\xf8\xfd\x9e\x68\x00\x9f\x05\x47\x65\x31\x06\xa7\xc1\xed\x10\xa6\x19\xe3\x3b\x84\x95\xde\xba\x03\x33\x08\x77\x3a\x57\x31\x73\x42\x2b\xf8\x69\xba\xba\xfb\x
 [...]
                },
                "/operator-deployment.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "operator-deployment.yaml",
@@ -354,9 +354,9 @@ var assets = func() http.FileSystem {
                "/traits.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "traits.yaml",
                        modTime:          time.Time{},
-                       uncompressedSize: 31906,
+                       uncompressedSize: 31960,
 
-                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\xed\x6e\x23\x37\x96\xe8\xff\x3c\x05\xe1\x7b\x01\x5b\x86\x54\x76\x67\x90\x49\xc6\xf7\xe6\x06\xbe\x9d\xce\x8c\x3b\xe9\x6e\x6f\xb7\x93\xec\x22\x3b\x18\x51\x55\x47\x12\xdb\x2c\xb2\x86\x64\xc9\xad\x2c\x16\xd8\xd7\xd8\xd7\xdb\x27\x59\x9c\xc3\x8f\x62\x95\xca\xb6\xdc\x69\x07\x1e\x60\x91\x1f\x69\xc9\x55\x87\x87\x87\xe7\xfb\x83\x72\x86\x0b\x67\xcf\x3e\x9b\x31\xc5\x6b\x38\x63\x7c\xb9\x14\x4a\xb8\xed\x67\x8c\x35\x92\xbb\x
 [...]
+                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3d\xfd\x73\x1b\x37\x76\xbf\xe7\xaf\xc0\xa8\x9d\x91\xa8\x21\x57\x72\x6e\x72\xc9\xa9\x4d\x33\xaa\xe3\xdc\xc9\x89\x6d\xd5\x72\x92\x76\xd2\x9b\x23\xb8\xfb\x48\xc2\xc2\x02\x7b\x00\x96\x32\xd3\xe9\xff\xde\x79\x0f\x1f\x8b\x5d\xae\x24\xca\xb1\x32\xba\x99\x4e\x7e\x88\x49\xed\x3e\x3c\x3c\xbc\xef\x0f\xd0\x19\x2e\x9c\x3d\xfb\x6c\xc6\x14\xaf\xe1\x8c\xf1\xe5\x52\x28\xe1\xb6\x9f\x31\xd6\x48\xee\x96\xda\xd4\x67\x6c\xc9\xa5\x05\x
 [...]
                },
                "/user-cluster-role.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "user-cluster-role.yaml",
diff --git a/deploy/traits.yaml b/deploy/traits.yaml
index 509fe50..786af25 100755
--- a/deploy/traits.yaml
+++ b/deploy/traits.yaml
@@ -5,7 +5,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: Allows constraining which nodes the integration pod(s) are 
eligible to be scheduled on, based on labels on the node,or with inter-pod 
affinity and anti-affinity, based on labels on pods that are already running on 
the nodes.It’s disabled by default.
+  description: Allows constraining which nodes the integration pod(s) are 
eligible to be scheduled on, based on labels on the node, or with inter-pod 
affinity and anti-affinity, based on labels on pods that are already running on 
the nodes. It's disabled by default.
   properties:
   - name: enabled
     type: bool
@@ -31,7 +31,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The builder trait is internally used to determine the best 
strategy tobuild and configure IntegrationKits.
+  description: The builder trait is internally used to determine the best 
strategy to build and configure IntegrationKits.
   properties:
   - name: enabled
     type: bool
@@ -59,7 +59,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The Container trait can be used to configure properties of the 
container where the integration will run.It also provides configuration for 
Services associated to the container.
+  description: The Container trait can be used to configure properties of the 
container where the integration will run. It also provides configuration for 
Services associated to the container.
   properties:
   - name: enabled
     type: bool
@@ -139,7 +139,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: 'The Cron trait can be used to customize the behaviour of 
periodic timer/cron based integrations.While normally an integration requires a 
pod to be always up and running, some periodic tasks, such as batch 
jobs,require to be activated at specific hours of the day or with a periodic 
delay of minutes.For such tasks, the cron trait can materialize the integration 
as a Kubernetes CronJob instead of a standard deployment,in order to save 
resources when the integration does not  [...]
+  description: 'The Cron trait can be used to customize the behaviour of 
periodic timer/cron based integrations. While normally an integration requires 
a pod to be always up and running, some periodic tasks, such as batch jobs, 
require to be activated at specific hours of the day or with a periodic delay 
of minutes. For such tasks, the cron trait can materialize the integration as a 
Kubernetes CronJob instead of a standard deployment, in order to save resources 
when the integration does  [...]
   properties:
   - name: enabled
     type: bool
@@ -165,7 +165,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The Dependencies trait is internally used to automatically add 
runtime dependencies based on theintegration that the user wants to run.
+  description: The Dependencies trait is internally used to automatically add 
runtime dependencies based on the integration that the user wants to run.
   properties: []
 - name: deployer
   platform: true
@@ -173,7 +173,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The deployer trait can be used to explicitly select the kind of 
high level resource thatwill deploy the integration.
+  description: The deployer trait can be used to explicitly select the kind of 
high level resource that will deploy the integration.
   properties:
   - name: enabled
     type: bool
@@ -187,7 +187,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The Deployment trait is responsible for generating the 
Kubernetes deployment that will make surethe integration will run in the 
cluster.
+  description: The Deployment trait is responsible for generating the 
Kubernetes deployment that will make sure the integration will run in the 
cluster.
   properties: []
 - name: environment
   platform: true
@@ -195,7 +195,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The environment trait is used internally to inject standard 
environment variables in the integration container,such as `NAMESPACE`, 
`POD_NAME` and others.
+  description: The environment trait is used internally to inject standard 
environment variables in the integration container, such as `NAMESPACE`, 
`POD_NAME` and others.
   properties:
   - name: enabled
     type: bool
@@ -221,7 +221,7 @@ traits:
   platform: false
   profiles:
   - Kubernetes
-  description: The Ingress trait can be used to expose the service associated 
with the integrationto the outside world with a Kubernetes Ingress.It's enabled 
by default whenever a Service is added to the integration (through the 
`service` trait).
+  description: The Ingress trait can be used to expose the service associated 
with the integration to the outside world with a Kubernetes Ingress. It's 
enabled by default whenever a Service is added to the integration (through the 
`service` trait).
   properties:
   - name: enabled
     type: bool
@@ -238,7 +238,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The Istio trait allows to configure properties related to the 
Istio service mesh,such as sidecar injection and outbound IP ranges.
+  description: The Istio trait allows to configure properties related to the 
Istio service mesh, such as sidecar injection and outbound IP ranges.
   properties:
   - name: enabled
     type: bool
@@ -255,7 +255,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The Jolokia trait activates and configures the Jolokia Java 
agent.See https://jolokia.org/reference/html/agents.html
+  description: The Jolokia trait activates and configures the Jolokia Java 
agent. See https://jolokia.org/reference/html/agents.html
   properties:
   - name: enabled
     type: bool
@@ -323,7 +323,7 @@ traits:
   platform: false
   profiles:
   - Knative
-  description: The Knative Service trait allows to configure options when 
running the integration as Knative service instead ofa standard Kubernetes 
Deployment.Running integrations as Knative Services adds auto-scaling (and 
scaling-to-zero) features, but those featuresare only meaningful when the 
routes use a HTTP endpoint consumer.
+  description: The Knative Service trait allows to configure options when 
running the integration as Knative service instead of a standard Kubernetes 
Deployment. Running integrations as Knative Services adds auto-scaling (and 
scaling-to-zero) features, but those features are only meaningful when the 
routes use a HTTP endpoint consumer.
   properties:
   - name: enabled
     type: bool
@@ -350,7 +350,7 @@ traits:
   platform: false
   profiles:
   - Knative
-  description: The Knative trait automatically discovers addresses of Knative 
resources and inject them into therunning integration.The full Knative 
configuration is injected in the CAMEL_KNATIVE_CONFIGURATION in JSON format.The 
Camel Knative component will then use the full configuration to configure the 
routes.The trait is enabled by default when the Knative profile is active.
+  description: The Knative trait automatically discovers addresses of Knative 
resources and inject them into the running integration. The full Knative 
configuration is injected in the CAMEL_KNATIVE_CONFIGURATION in JSON format. 
The Camel Knative component will then use the full configuration to configure 
the routes. The trait is enabled by default when the Knative profile is active.
   properties:
   - name: enabled
     type: bool
@@ -391,7 +391,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: 'The Master trait allows to configure the integration to 
automatically leverage Kubernetes resources for doingleader election and 
starting *master* routes only on certain instances.It''s activated 
automatically when using the master endpoint in a route, e.g. 
`from("master:lockname:telegram:bots")...`.NOTE: this trait adds special 
permissions to the integration service account in order to read/write 
configmaps and read pods.It''s recommended to use a different service accou 
[...]
+  description: 'The Master trait allows to configure the integration to 
automatically leverage Kubernetes resources for doing leader election and 
starting *master* routes only on certain instances. It''s activated 
automatically when using the master endpoint in a route, e.g. 
`from("master:lockname:telegram:bots")...`. NOTE: this trait adds special 
permissions to the integration service account in order to read/write 
configmaps and read pods. It''s recommended to use a different service a [...]
   properties:
   - name: enabled
     type: bool
@@ -425,7 +425,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The Owner trait ensures that all created resources belong to 
the integration being createdand transfers annotations and labels on the 
integration onto these owned resources.
+  description: The Owner trait ensures that all created resources belong to 
the integration being created and transfers annotations and labels on the 
integration onto these owned resources.
   properties:
   - name: enabled
     type: bool
@@ -442,7 +442,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The platform trait is a base trait that is used to assign an 
integration platform to an integration.In case the platform is missing, the 
trait is allowed to create a default platform.This feature is especially useful 
in contexts where there's no need to provide a custom configuration for the 
platform(e.g. on OpenShift the default settings work, since there's an embedded 
container image registry).
+  description: The platform trait is a base trait that is used to assign an 
integration platform to an integration. In case the platform is missing, the 
trait is allowed to create a default platform. This feature is especially 
useful in contexts where there's no need to provide a custom configuration for 
the platform (e.g. on OpenShift the default settings work, since there's an 
embedded container image registry).
   properties:
   - name: enabled
     type: bool
@@ -459,7 +459,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: 'The Prometheus trait configures a Prometheus-compatible 
endpoint. It also exposes the integration with a `Service`and a 
`ServiceMonitor` resources, so that the endpoint can be scraped automatically, 
when using the Prometheusoperator.The metrics exposed vary depending on the 
configured runtime. With Quarkus, the metrics are exposedusing MicroProfile 
Metrics. While with the default runtime, they are exposed using the Prometheus 
JMX exporter.WARNING: The creation of the `Ser [...]
+  description: 'The Prometheus trait configures a Prometheus-compatible 
endpoint. It also exposes the integration with a `Service` and a 
`ServiceMonitor` resources, so that the endpoint can be scraped automatically, 
when using the Prometheus operator. The metrics exposed vary depending on the 
configured runtime. With Quarkus, the metrics are exposed using MicroProfile 
Metrics. While with the default runtime, they are exposed using the Prometheus 
JMX exporter. WARNING: The creation of the [...]
   properties:
   - name: enabled
     type: bool
@@ -482,7 +482,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The Pull Secret trait sets a pull secret on the pod,to allow 
Kubernetes to retrieve the container image from an external registry.The pull 
secret can be specified manually or, in case you've configured authentication 
for an external container registryon the `IntegrationPlatform`, the same secret 
is used to pull images.It's enabled by default whenever you configure 
authentication for an external container registry,so it assumes that external 
registries are private.If your r [...]
+  description: The Pull Secret trait sets a pull secret on the pod, to allow 
Kubernetes to retrieve the container image from an external registry. The pull 
secret can be specified manually or, in case you've configured authentication 
for an external container registry on the `IntegrationPlatform`, the same 
secret is used to pull images. It's enabled by default whenever you configure 
authentication for an external container registry, so it assumes that external 
registries are private. If  [...]
   properties:
   - name: enabled
     type: bool
@@ -499,7 +499,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The Quarkus trait activates the Quarkus runtime.It's disabled 
by default.
+  description: The Quarkus trait activates the Quarkus runtime. It's disabled 
by default.
   properties:
   - name: enabled
     type: bool
@@ -542,7 +542,7 @@ traits:
   profiles:
   - Kubernetes
   - OpenShift
-  description: The Service trait exposes the integration with a Service 
resource so that it can be accessed by other applications(or integrations) in 
the same namespace.It's enabled by default if the integration depends on a 
Camel component that can expose a HTTP endpoint.
+  description: The Service trait exposes the integration with a Service 
resource so that it can be accessed by other applications (or integrations) in 
the same namespace. It's enabled by default if the integration depends on a 
Camel component that can expose a HTTP endpoint.
   properties:
   - name: enabled
     type: bool
@@ -559,7 +559,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The 3scale trait can be used to automatically create 
annotations that allow3scale to discover the generated service and make it 
available for API management.The 3scale trait is disabled by default.
+  description: The 3scale trait can be used to automatically create 
annotations that allow 3scale to discover the generated service and make it 
available for API management. The 3scale trait is disabled by default.
   properties:
   - name: enabled
     type: bool
@@ -585,7 +585,7 @@ traits:
   - Kubernetes
   - Knative
   - OpenShift
-  description: The Tracing trait can be used to automatically publish tracing 
information to anOpenTracing compatible collector.The trait is able to 
automatically discover the tracing endpoint available in the namespace 
(supports **Jaeger**).The Tracing trait is disabled by default.
+  description: The Tracing trait can be used to automatically publish tracing 
information to an OpenTracing compatible collector. The trait is able to 
automatically discover the tracing endpoint available in the namespace 
(supports **Jaeger**). The Tracing trait is disabled by default.
   properties:
   - name: enabled
     type: bool
diff --git a/docs/modules/traits/pages/affinity.adoc 
b/docs/modules/traits/pages/affinity.adoc
index 61a8c1a..87349aa 100755
--- a/docs/modules/traits/pages/affinity.adoc
+++ b/docs/modules/traits/pages/affinity.adoc
@@ -4,7 +4,7 @@
 Allows constraining which nodes the integration pod(s) are eligible to be 
scheduled on, based on labels on the node,
 or with inter-pod affinity and anti-affinity, based on labels on pods that are 
already running on the nodes.
 
-It’s disabled by default.
+It's disabled by default.
 
 
 This trait is available in the following profiles: **Kubernetes, Knative, 
OpenShift**.
diff --git a/pkg/trait/affinity.go b/pkg/trait/affinity.go
index b90a990..41d9969 100644
--- a/pkg/trait/affinity.go
+++ b/pkg/trait/affinity.go
@@ -33,7 +33,7 @@ import (
 // Allows constraining which nodes the integration pod(s) are eligible to be 
scheduled on, based on labels on the node,
 // or with inter-pod affinity and anti-affinity, based on labels on pods that 
are already running on the nodes.
 //
-//It’s disabled by default.
+// It's disabled by default.
 //
 // +camel-k:trait=affinity
 type affinityTrait struct {

Reply via email to