diff --git a/kamelets/postgresql-to-log/README.md b/kamelets/postgresql-to-log/README.md
index 153f043..51d4849 100644
--- a/kamelets/postgresql-to-log/README.md
+++ b/kamelets/postgresql-to-log/README.md
@@ -4,97 +4,95 @@
 
 - Run the following command
 
-    > helm install my-release bitnami/postgresql
-    NAME: my-release
-    LAST DEPLOYED: Thu Jul 29 11:05:23 2021
-    NAMESPACE: default
-    STATUS: deployed
-    REVISION: 1
-    TEST SUITE: None
-    NOTES:
-    ** Please be patient while the chart is being deployed **
+      helm install my-release bitnami/postgresql
+      NAME: my-release
+      LAST DEPLOYED: Thu Jul 29 11:05:23 2021
+      NAMESPACE: default
+      STATUS: deployed
+      REVISION: 1
+      TEST SUITE: None
+      NOTES:
+      ** Please be patient while the chart is being deployed **
     
     PostgreSQL can be accessed via port 5432 on the following DNS name from within your cluster:
     
-        my-release-postgresql.default.svc.cluster.local - Read/Write connection
+      my-release-postgresql.default.svc.cluster.local - Read/Write connection
     
     To get the password for "postgres" run:
     
-        export POSTGRES_PASSWORD=$(kubectl get secret --namespace default my-release-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode)
+      export POSTGRES_PASSWORD=$(kubectl get secret --namespace default my-release-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode)
     
     To connect to your database run the following command:
     
-        kubectl run my-release-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:11.12.0-debian-10-r38 --env="PGPASSWORD=$POSTGRES_PASSWORD" --command -- psql --host my-release-postgresql -U postgres -d postgres -p 5432
+      kubectl run my-release-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:11.12.0-debian-10-r38 --env="PGPASSWORD=$POSTGRES_PASSWORD" --command -- psql --host my-release-postgresql -U postgres -d postgres -p 5432
     
     
     
     To connect to your database from outside the cluster execute the following commands:
     
-        kubectl port-forward --namespace default svc/my-release-postgresql 5432:5432 &
-        PGPASSWORD="$POSTGRES_PASSWORD" psql --host 127.0.0.1 -U postgres -d postgres -p 5432
+      kubectl port-forward --namespace default svc/my-release-postgresql 5432:5432 &
+      PGPASSWORD="$POSTGRES_PASSWORD" psql --host 127.0.0.1 -U postgres -d postgres -p 5432
 
 - Now it's time to create the database and populate it
 
-    > kubectl run my-release-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:11.12.0-debian-10-r38 --env="PGPASSWORD=$POSTGRES_PASSWORD" --command -- psql --host my-release-postgresql -U postgres -d postgres -p 5432
-    If you don't see a command prompt, try pressing enter.
-    
-    postgres=# CREATE TABLE accounts (
-    postgres(# user_id serial PRIMARY KEY,
-    postgres(# username VARCHAR ( 50 ) UNIQUE NOT NULL,
-    postgres(# city VARCHAR ( 50 ) NOT NULL
-    postgres(# );
-    CREATE TABLE
-    postgres=# INSERT into accounts (username,city) VALUES ('andrea', 'Roma');
-    INSERT 0 1
-    postgres=# INSERT into accounts (username,city) VALUES ('John', 'New York');
-    INSERT 0 1
-    postgres=# select * from accounts;
-     user_id | username |   city
-    ---------+----------+----------
-           1 | andrea   | Roma
-           2 | John     | New York
-    (2 rows)
+      kubectl run my-release-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:11.12.0-debian-10-r38 --env="PGPASSWORD=$POSTGRES_PASSWORD" --command -- psql --host my-release-postgresql -U postgres -d postgres -p 5432
+      If you don't see a command prompt, try pressing enter.
+      postgres=# CREATE TABLE accounts (
+      postgres(# user_id serial PRIMARY KEY,
+      postgres(# username VARCHAR ( 50 ) UNIQUE NOT NULL,
+      postgres(# city VARCHAR ( 50 ) NOT NULL
+      postgres(# );
+      CREATE TABLE
+      postgres=# INSERT into accounts (username,city) VALUES ('andrea', 'Roma');
+      INSERT 0 1
+      postgres=# INSERT into accounts (username,city) VALUES ('John', 'New York');
+      INSERT 0 1
+      postgres=# select * from accounts;
+      user_id | username |   city
+      ---------+----------+----------
+          1 | andrea   | Roma
+          2 | John     | New York
+      (2 rows)
 
 - So we now have two rows to consume.
 
-- Add the correct credentials and address in the flow-binding yaml for the PostgreSQL database.
+- Add the correct credentials and address in the `flow-binding.yaml` for the PostgreSQL database.
 
 - Run the following commands
 
-    kubectl apply -f log-sink.kamelet.yaml
-    kubectl apply -f flow-binding.yaml
+      kubectl apply -f log-sink.kamelet.yaml
+      kubectl apply -f flow-binding.yaml
 
 - Check logs
 
-    kamel logs sql-to-log
+      kamel logs sql-to-log
 
-You should see the following output
+- You should see the following output
 
-    [1] 2021-07-29 09:55:55,058 INFO  [org.apa.cam.k.Runtime] (main) Apache Camel K Runtime 1.8.0
-    [1] 2021-07-29 09:55:55,135 INFO  [org.apa.cam.qua.cor.CamelBootstrapRecorder] (main) Bootstrap runtime: org.apache.camel.quarkus.main.CamelMainRuntime
-    [1] 2021-07-29 09:55:55,550 INFO  [org.apa.cam.k.lis.SourcesConfigurer] (main) Loading routes from: SourceDefinition{name='camel-k-embedded-flow', language='yaml', type='source', location='file:/etc/camel/sources/camel-k-embedded-flow.yaml', }
-    [1] 2021-07-29 09:55:55,902 INFO  [org.apa.cam.k.lis.SourcesConfigurer] (main) Loading routes from: SourceDefinition{name='log-sink', language='yaml', type='source', location='file:/etc/camel/sources/log-sink.yaml', }
-    [1] 2021-07-29 09:55:55,906 INFO  [org.apa.cam.k.lis.SourcesConfigurer] (main) Loading routes from: SourceDefinition{name='postgresql-source', language='yaml', type='source', location='file:/etc/camel/sources/postgresql-source.yaml', }
-    [1] 2021-07-29 09:55:56,079 INFO  [org.apa.cam.imp.eng.AutowiredLifecycleStrategy] (main) Autowired property: dataSource on component: sql as exactly one instance of type: javax.sql.DataSource (org.apache.commons.dbcp2.BasicDataSource) found in the registry
-    [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) Routes startup summary (total:3 started:3)
-    [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main)     Started route1 (kamelet://postgresql-source/source)
-    [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main)     Started source (sql://SELECT%20*%20FROM%20accounts)
-    [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main)     Started sink (kamelet://source)
-    [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) Apache Camel 3.11.0 (camel-1) started in 180ms (build:0ms init:108ms start:72ms)
-    [1] 2021-07-29 09:55:56,177 INFO  [io.quarkus] (main) camel-k-integration 1.5.0 on JVM (powered by Quarkus 2.0.0.Final) started in 2.272s. 
-    [1] 2021-07-29 09:55:56,177 INFO  [io.quarkus] (main) Profile prod activated. 
-    [1] 2021-07-29 09:55:56,178 INFO  [io.quarkus] (main) Installed features: [agroal, camel-bean, camel-core, camel-jackson, camel-k-core, camel-k-runtime, camel-kamelet, camel-log, camel-sql, camel-support-common, camel-support-commons-logging, camel-support-spring, camel-yaml-dsl, cdi, narayana-jta, smallrye-context-propagation]
-    [1] 2021-07-29 09:55:57,383 INFO  [info] (Camel (camel-1) thread #0 - sql://SELECT%20*%20FROM%20accounts) Exchange[Id: 86D986CD24E5F68-0000000000000000, ExchangePattern: InOnly, Properties: {}, Headers: {Content-Type=application/json}, BodyType: byte[], Body: {"user_id":1,"username":"andrea","city":"Roma"}]
-    [1] 2021-07-29 09:55:57,398 INFO  [info] (Camel (camel-1) thread #0 - sql://SELECT%20*%20FROM%20accounts) Exchange[Id: 86D986CD24E5F68-0000000000000001, ExchangePattern: InOnly, Properties: {}, Headers: {Content-Type=application/json}, BodyType: byte[], Body: {"user_id":2,"username":"John","city":"New York"}]
+      [1] 2021-07-29 09:55:55,058 INFO  [org.apa.cam.k.Runtime] (main) Apache Camel K Runtime 1.8.0
+      [1] 2021-07-29 09:55:55,135 INFO  [org.apa.cam.qua.cor.CamelBootstrapRecorder] (main) Bootstrap runtime: org.apache.camel.quarkus.main.CamelMainRuntime
+      [1] 2021-07-29 09:55:55,550 INFO  [org.apa.cam.k.lis.SourcesConfigurer] (main) Loading routes from: SourceDefinition{name='camel-k-embedded-flow', language='yaml', type='source', location='file:/etc/camel/sources/camel-k-embedded-flow.yaml', }
+      [1] 2021-07-29 09:55:55,902 INFO  [org.apa.cam.k.lis.SourcesConfigurer] (main) Loading routes from: SourceDefinition{name='log-sink', language='yaml', type='source', location='file:/etc/camel/sources/log-sink.yaml', }
+      [1] 2021-07-29 09:55:55,906 INFO  [org.apa.cam.k.lis.SourcesConfigurer] (main) Loading routes from: SourceDefinition{name='postgresql-source', language='yaml', type='source', location='file:/etc/camel/sources/postgresql-source.yaml', }
+      [1] 2021-07-29 09:55:56,079 INFO  [org.apa.cam.imp.eng.AutowiredLifecycleStrategy] (main) Autowired property: dataSource on component: sql as exactly one instance of type: javax.sql.DataSource (org.apache.commons.dbcp2.BasicDataSource) found in the registry
+      [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) Routes startup summary (total:3 started:3)
+      [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main)     Started route1 (kamelet://postgresql-source/source)
+      [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main)     Started source (sql://SELECT%20*%20FROM%20accounts)
+      [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main)     Started sink (kamelet://source)
+      [1] 2021-07-29 09:55:56,174 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) Apache Camel 3.11.0 (camel-1) started in 180ms (build:0ms init:108ms start:72ms)
+      [1] 2021-07-29 09:55:56,177 INFO  [io.quarkus] (main) camel-k-integration 1.5.0 on JVM (powered by Quarkus 2.0.0.Final) started in 2.272s.
+      [1] 2021-07-29 09:55:56,177 INFO  [io.quarkus] (main) Profile prod activated.
+      [1] 2021-07-29 09:55:56,178 INFO  [io.quarkus] (main) Installed features: [agroal, camel-bean, camel-core, camel-jackson, camel-k-core, camel-k-runtime, camel-kamelet, camel-log, camel-sql, camel-support-common, camel-support-commons-logging, camel-support-spring, camel-yaml-dsl, cdi, narayana-jta, smallrye-context-propagation]
+      [1] 2021-07-29 09:55:57,383 INFO  [info] (Camel (camel-1) thread #0 - sql://SELECT%20*%20FROM%20accounts) Exchange[Id: 86D986CD24E5F68-0000000000000000, ExchangePattern: InOnly, Properties: {}, Headers: {Content-Type=application/json}, BodyType: byte[], Body: {"user_id":1,"username":"andrea","city":"Roma"}]
+      [1] 2021-07-29 09:55:57,398 INFO  [info] (Camel (camel-1) thread #0 - sql://SELECT%20*%20FROM%20accounts) Exchange[Id: 86D986CD24E5F68-0000000000000001, ExchangePattern: InOnly, Properties: {}, Headers: {Content-Type=application/json}, BodyType: byte[], Body: {"user_id":2,"username":"John","city":"New York"}]
 
-If you go back to the postgresql console you won't have any row on the database, because of the consumedQuery parameter
+  If you go back to the postgresql console you won't have any row on the database, because of the consumedQuery parameter
 
 - Now it's time to check the database
 
-    > kubectl run my-release-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:11.12.0-debian-10-r38 --env="PGPASSWORD=$POSTGRES_PASSWORD" --command -- psql --host my-release-postgresql -U postgres -d postgres -p 5432
-    If you don't see a command prompt, try pressing enter.
-    
-    postgres=# select * from Accounts;
-     user_id | username | city 
-    ---------+----------+------
-    (0 rows)
+      kubectl run my-release-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:11.12.0-debian-10-r38 --env="PGPASSWORD=$POSTGRES_PASSWORD" --command -- psql --host my-release-postgresql -U postgres -d postgres -p 5432
+      If you don't see a command prompt, try pressing enter.
+      postgres=# select * from Accounts;
+       user_id | username | city
+      ---------+----------+------
+      (0 rows)
