You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2022/10/06 12:42:33 UTC

[camel-website] branch main updated (9b0ae9b5 -> 12b17a0d)

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

pcongiusti pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git


    from 9b0ae9b5 Fix 3.19 is not a LTS
     new 6b4e44d5 feat: cicd in Camel K
     new 75ca655f Update content/blog/2022/10/camel-k-cicd/index.md
     new 576c91d6 Update content/blog/2022/10/camel-k-cicd/index.md
     new d3e4906a Update content/blog/2022/10/camel-k-cicd/index.md
     new e7068839 Update content/blog/2022/10/camel-k-cicd/index.md
     new ee0c5776 Update content/blog/2022/10/camel-k-cicd/index.md
     new a97b5f52 Update content/blog/2022/10/camel-k-cicd/index.md
     new b6905da4 Update content/blog/2022/10/camel-k-cicd/index.md
     new 683dd9ac Update content/blog/2022/10/camel-k-cicd/index.md
     new 4687613b Update content/blog/2022/10/camel-k-cicd/index.md
     new 7703bd6c Update content/blog/2022/10/camel-k-cicd/index.md
     new 623891d4 Update content/blog/2022/10/camel-k-cicd/index.md
     new e26595ea Update content/blog/2022/10/camel-k-cicd/index.md
     new 1a43417f Update content/blog/2022/10/camel-k-cicd/index.md
     new fd63a7f0 Update content/blog/2022/10/camel-k-cicd/index.md
     new 26e970b0 Update content/blog/2022/10/camel-k-cicd/index.md
     new 5a0f0c20 Update content/blog/2022/10/camel-k-cicd/index.md
     new 86fa48eb Update content/blog/2022/10/camel-k-cicd/index.md
     new c624f3f5 Update content/blog/2022/10/camel-k-cicd/index.md
     new aea0b7e2 Update content/blog/2022/10/camel-k-cicd/index.md
     new b815f557 Update content/blog/2022/10/camel-k-cicd/index.md
     new df0d12bb Update content/blog/2022/10/camel-k-cicd/index.md
     new 2b337c88 Update content/blog/2022/10/camel-k-cicd/index.md
     new 7afcdb12 Update content/blog/2022/10/camel-k-cicd/index.md
     new 426dc734 Update content/blog/2022/10/camel-k-cicd/index.md
     new 68d9d583 Update content/blog/2022/10/camel-k-cicd/index.md
     new 371350a6 Update content/blog/2022/10/camel-k-cicd/index.md
     new 62140de0 Update content/blog/2022/10/camel-k-cicd/index.md
     new 12b17a0d fix: additional whitespace removal

The 29 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 content/blog/2022/10/camel-k-cicd/featured.png | Bin 0 -> 83347 bytes
 content/blog/2022/10/camel-k-cicd/index.md     | 587 +++++++++++++++++++++++++
 2 files changed, 587 insertions(+)
 create mode 100644 content/blog/2022/10/camel-k-cicd/featured.png
 create mode 100644 content/blog/2022/10/camel-k-cicd/index.md


[camel-website] 11/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 7703bd6c16bf42e0f358552a2ad0c14a88efa4b6
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:10:38 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 829cee43..72cb2870 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -575,7 +575,7 @@ That means the `Pipeline` was triggered and in a few minutes you should have you
 During the development of your pipeline (or if you want to use a local cluster such as `minikube`), you may be interested in simulating the push event. This should be as easy as running something like:
 
 ```
-http post http://192.168.49.2:32698/my-cd-pipeline X-GitHub-Event:push json=test 
+http post http://192.168.49.2:32698/my-cd-pipeline X-GitHub-Event:push json=test
 ```
 
 # Conclusion


[camel-website] 17/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 5a0f0c207755c13f9188864be4c9f13dbf2001a5
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:11:47 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 6a033288..bce34856 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -149,7 +149,7 @@ spec:
     description: The git repo branch.
   workspaces:
   - name: shared-data
-    description: | 
+    description: |
       This workspace contains the cloned repo files, so they can be read by the
       next task.
   tasks:


[camel-website] 26/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 68d9d583c03606181bda25c0ac3ce9c2d02ad757
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:13:16 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index ed626336..9ee2087e 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -243,7 +243,7 @@ spec:
       description: the namespace where to run the integration
   results:
     - name: integration-name
-      description: The name of the integration    
+      description: The name of the integration
   workspaces:
   - name: source
   steps:


[camel-website] 12/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 623891d410c3811cffa6b387969359a899ac8abc
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:10:47 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 72cb2870..e01ae512 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -584,4 +584,4 @@ It was a long post, but, I am sure you appreciated the effort we've put in wrapp
 
 ## Caveat
 
-While working on this blog, I've spotted a problem that may [prevent you updating the Integration](https://github.com/apache/camel-k/issues/3673) via `kamel promote` on a production environment. It was promptly fixed and available by using `1.11` or `1.10` nightly releases. You can change the `Tasks` configured to use `docker.io/testcamelk/camel-k:1.11.0-nightly` instead of `docker.io/apache/camel-k:1.10.0`
\ No newline at end of file
+While working on this blog, I've spotted a problem that may [prevent you updating the Integration](https://github.com/apache/camel-k/issues/3673) via `kamel promote` on a production environment. It was promptly fixed and available by using `1.11` or `1.10` nightly releases. You can change the `Tasks` configured to use `docker.io/testcamelk/camel-k:1.11.0-nightly` instead of `docker.io/apache/camel-k:1.10.0`


[camel-website] 05/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit e7068839cca0bff4a88b1df24edfd7831c14da37
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:09:44 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index ea885ea1..93d54fb2 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -38,7 +38,7 @@ NOTE: make sure development and production operators share the same container re
 
 # Application development
 
-You can find the source code in this [Camel K REST example github repository](https://github.com/squakez/camel-k-rest-cicd). 
+You can find the source code in this [Camel K REST example github repository](https://github.com/squakez/camel-k-rest-cicd).
 
 ## Camel K Integration
 


[camel-website] 06/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit ee0c5776e6ae1c561b81ff58698dc43022c1dc8c
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:09:51 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 93d54fb2..ff217308 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -55,7 +55,7 @@ We're programming through YAML DSL, but here you can put any Camel DSL you prefe
       - to: "direct:get"
         path: "/customers/{name}"
       - to: "direct:getall"
-        path: "/customers/"        
+        path: "/customers/"
     post:
       - to: "direct:post"
         path: "/customers/"


[camel-website] 13/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit e26595ead6a6bb524026bf52d5d71cf57b991ef7
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:11:04 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index e01ae512..b29ce477 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -85,7 +85,7 @@ We're programming through YAML DSL, but here you can put any Camel DSL you prefe
     steps:
       - unmarshal:
           json: 
-            library: Jackson        
+            library: Jackson
       - to: log:info
       - set-body:
           simple: "insert into customers (name, city) values ('${body[name]}', '${body[city]}')"


[camel-website] 20/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit aea0b7e2db3ac5f3ba1a37af63779df7d9a2f136
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:12:19 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 88d6beb0..53e38f59 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -172,7 +172,7 @@ spec:
       name: kamel-run
     workspaces:
     - name: source
-      workspace: shared-data      
+      workspace: shared-data
     params:
       - name: filename
         value: my-rest.yaml


[camel-website] 14/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 1a43417f042d059ab1f33bf38cd454e387080246
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:11:15 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index b29ce477..b2fea669 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -97,7 +97,7 @@ We're programming through YAML DSL, but here you can put any Camel DSL you prefe
       - set-body:
           simple: "delete from customers where name = '${header.name}'"
       - to: log:info
-      - to: jdbc:camel  
+      - to: jdbc:camel
 ``` 
 
 ## Database preparation


[camel-website] 07/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit a97b5f52b8bfa7b9adbfddcdad35fba2801ec92f
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:10:10 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index ff217308..973f3014 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -61,7 +61,7 @@ We're programming through YAML DSL, but here you can put any Camel DSL you prefe
         path: "/customers/"
     delete:
       - to: "direct:delete"
-        path: "/customers/{name}"        
+        path: "/customers/{name}"
 - from:
     uri: "direct:getall"
     steps:


[camel-website] 27/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 371350a695ce259177b0f247975fb8b8808431a8
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:13:26 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 9ee2087e..fe933b09 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -270,7 +270,7 @@ metadata:
 spec:
   params:
     - name: script
-      description: the script to execute 
+      description: the script to execute
     - name: hostname
       description: the hostname we want to test
   workspaces:


[camel-website] 15/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit fd63a7f06855293ccde60caa1f8381d260105e9a
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:11:27 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index b2fea669..17b643e5 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -138,7 +138,7 @@ kind: Pipeline
 metadata:
   name: pipeline-cicd
 spec:
-  description: | 
+  description: |
     CICD pipeline for a microservice
   params:
   - name: repo-url


[camel-website] 04/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit d3e4906a047d25d92b9df8b4b26236ae3e8b7e71
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:09:32 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 5b7943f2..ea885ea1 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -27,7 +27,7 @@ Let's start installing Tekton. You can install Tekton pipelines operator followi
 
 # Camel K operator installation
 
-We need now to prepare the Kubernetes namespaces that we're using to separate **development** and **production** environment. 
+We need now to prepare the Kubernetes namespaces that we're using to separate **development** and **production** environment.
 ```
 kubectl create namespace development
 kubectl create namespace production


[camel-website] 09/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 683dd9ac282d3a230343de55ddce51154373de05
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:10:25 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 34da61b7..d803c57a 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -378,7 +378,7 @@ kubectl apply -f ci/sa.yaml -n development
 kubectl apply -f ci/rolebinding.yaml -n development
 ```
 
-We also need to install the [`git-clone` task from Tekton hub](https://hub.tekton.dev/tekton/task/git-clone) in `development` namespace: 
+We also need to install the [`git-clone` task from Tekton hub](https://hub.tekton.dev/tekton/task/git-clone) in `development` namespace:
 
 ```
 kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/main/task/git-clone/0.8/git-clone.yaml -n development


[camel-website] 02/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 75ca655f16bc6d4e26bb107d9be2dfd4008e34b9
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:09:18 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 529c9b60..99088b9c 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -11,7 +11,7 @@ In [Camel K version 10](/blog/2022/09/camel-k-release-1-10/), we've released the
 
 The application I'm building is a REST API backed by a PostgreSQL database. It will be realized with Camel K Integration via YAML DSL. The source code is stored in Github and the idea is to build a **Continuous Delivery** pipeline that can be manually triggered when we want to provide a release. The pipeline will:
 
-  1. checkout the code repository with the latest changes, 
+  1. checkout the code repository with the latest changes,
   2. release the Integration in a development environment,
   3. run a complete suite of automated test,
   4. promote to production environment and 


[camel-website] 16/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 26e970b0fda5a63ff5e1d0c748117c1e11f8f3cf
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:11:38 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 17b643e5..6a033288 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -146,7 +146,7 @@ spec:
     description: The git repo URL to clone from.
   - name: repo-branch
     type: string
-    description: The git repo branch.    
+    description: The git repo branch.
   workspaces:
   - name: shared-data
     description: | 


[camel-website] 23/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 2b337c881948f81deec24655542c84e06dedcd3d
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:12:47 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 170589e7..555fc820 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -198,7 +198,7 @@ spec:
       name: kamel-promote
     workspaces:
     - name: source
-      workspace: shared-data      
+      workspace: shared-data
     params:
       - name: integration-name
         value: $(tasks.kamel-run.results.integration-name)


[camel-website] 19/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit c624f3f58bcfdfd360743085c12f6defb957b468
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:12:08 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 51d86114..88d6beb0 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -164,7 +164,7 @@ spec:
     - name: url
       value: $(params.repo-url)
     - name: revision
-      value: $(params.repo-branch)      
+      value: $(params.repo-branch)
   # 2. release the Integration in a development environment,
   - name: kamel-run
     runAfter: ["fetch-source"]


[camel-website] 25/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 426dc7343c528ff13ded403d3d6b8ed1aca8b663
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:13:06 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 5f7d0568..ed626336 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -218,7 +218,7 @@ spec:
       - name: script
         value: test/smoke-test.sh
       - name: hostname
-        value: $(tasks.kamel-run.results.integration-name).production  
+        value: $(tasks.kamel-run.results.integration-name).production
 ```
 
 The `Pipeline` expect from us to provide just a `repo-url` and a `repo-branch`. The repo will contain the Integration source code but to also the suite of test, so that everything is self-contained and "consumable" from the same pipeline. Also CI configuration is there (someone would call this **devops**...). We use a `workspace` that is a way provided by Tekton to share resources among the different tasks (which will run as a separate `Pod`).


[camel-website] 21/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit b815f557b91bc23468c7d8785da12af9e88a4f19
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:12:29 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 53e38f59..c5bb0db5 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -188,7 +188,7 @@ spec:
       workspace: shared-data
     params:
       - name: script
-        value: test/e2e-test.sh    
+        value: test/e2e-test.sh
       - name: hostname
         value: $(tasks.kamel-run.results.integration-name).development
   # 4. promote to production environment and 


[camel-website] 08/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit b6905da46b2978b80b7bd038febeb02b435958e3
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:10:17 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 973f3014..34da61b7 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -344,7 +344,7 @@ spec:
     - pipelineTaskName: kamel-run
       taskServiceAccountName: camel-k-pipeline-sa
     - pipelineTaskName: kamel-promote
-      taskServiceAccountName: camel-k-pipeline-sa   
+      taskServiceAccountName: camel-k-pipeline-sa
   podTemplate:
     securityContext:
       fsGroup: 65532


[camel-website] 03/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 576c91d611e3f5549c86a754b7663c0b6124c63a
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:09:26 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 99088b9c..5b7943f2 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -14,7 +14,7 @@ The application I'm building is a REST API backed by a PostgreSQL database. It w
   1. checkout the code repository with the latest changes,
   2. release the Integration in a development environment,
   3. run a complete suite of automated test,
-  4. promote to production environment and 
+  4. promote to production environment and
   5. run some smoke test on the production endpoints as last check stage.
 
 It should sound quite a familiar development process. We may just need to implement the first 3 tasks as a basic **Continuous Integration**, but, given the presence of `kamel promote` we can easily extend it to a CD pipeline. But that's not all. As an additional feature we're finally reusing the CD to enable a **Continuous Deployment** process triggering the pipeline when any change is pushed to the repo. Your journey from code to production has never been that fast!!


[camel-website] 29/29: fix: additional whitespace removal

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 12b17a0d2e020e5171173704287013cc3a766f16
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 12:47:03 2022 +0200

    fix: additional whitespace removal
---
 content/blog/2022/10/camel-k-cicd/index.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index ae71fc83..2b80edca 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -84,7 +84,7 @@ We're programming through YAML DSL, but here you can put any Camel DSL you prefe
     uri: "direct:post"
     steps:
       - unmarshal:
-          json: 
+          json:
             library: Jackson
       - to: log:info
       - set-body:
@@ -98,7 +98,7 @@ We're programming through YAML DSL, but here you can put any Camel DSL you prefe
           simple: "delete from customers where name = '${header.name}'"
       - to: log:info
       - to: jdbc:camel
-``` 
+```
 
 ## Database preparation
 


[camel-website] 18/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 86fa48eb349fad7aa0762b508ad604cc1d35e7e8
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:11:58 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index bce34856..51d86114 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -153,7 +153,7 @@ spec:
       This workspace contains the cloned repo files, so they can be read by the
       next task.
   tasks:
-  # 1. checkout the code repository with the latest changes, 
+  # 1. checkout the code repository with the latest changes,
   - name: fetch-source
     taskRef:
       name: git-clone


[camel-website] 22/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit df0d12bbf6dbff7afb579cc464f863c62dea11cb
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:12:38 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index c5bb0db5..170589e7 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -191,7 +191,7 @@ spec:
         value: test/e2e-test.sh
       - name: hostname
         value: $(tasks.kamel-run.results.integration-name).development
-  # 4. promote to production environment and 
+  # 4. promote to production environment and
   - name: kamel-promote
     runAfter: ["e2e-test"]
     taskRef:


[camel-website] 01/29: feat: cicd in Camel K

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 6b4e44d58869fc18fef2f760a9874fa782381cd2
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Wed Oct 5 16:45:45 2022 +0200

    feat: cicd in Camel K
---
 content/blog/2022/10/camel-k-cicd/featured.png | Bin 0 -> 83347 bytes
 content/blog/2022/10/camel-k-cicd/index.md     | 587 +++++++++++++++++++++++++
 2 files changed, 587 insertions(+)

diff --git a/content/blog/2022/10/camel-k-cicd/featured.png b/content/blog/2022/10/camel-k-cicd/featured.png
new file mode 100644
index 00000000..84fd2c0f
Binary files /dev/null and b/content/blog/2022/10/camel-k-cicd/featured.png differ
diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
new file mode 100644
index 00000000..529c9b60
--- /dev/null
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -0,0 +1,587 @@
+---
+title: "Camel K CICD"
+date: 2022-10-06
+draft: false
+authors: [squakez]
+categories: ["Howtos", "Camel K", "Devops"]
+preview: "Continuous Integration, Continuous Delivery and Continuous Deployment in Camel K"
+---
+
+In [Camel K version 10](/blog/2022/09/camel-k-release-1-10/), we've released the CLI [`promote` feature](/camel-k/1.10.x/running/promoting.html) that provides Camel K an opinionated way of promoting an Integration through the stages of software development. This feature unlock the possibility to combine Camel K with external tooling and let the user develop according to any automated release process. We always ear about CI/CD (Continuous Integration/Continuous Delivery and/or Deployment) [...]
+
+The application I'm building is a REST API backed by a PostgreSQL database. It will be realized with Camel K Integration via YAML DSL. The source code is stored in Github and the idea is to build a **Continuous Delivery** pipeline that can be manually triggered when we want to provide a release. The pipeline will:
+
+  1. checkout the code repository with the latest changes, 
+  2. release the Integration in a development environment,
+  3. run a complete suite of automated test,
+  4. promote to production environment and 
+  5. run some smoke test on the production endpoints as last check stage.
+
+It should sound quite a familiar development process. We may just need to implement the first 3 tasks as a basic **Continuous Integration**, but, given the presence of `kamel promote` we can easily extend it to a CD pipeline. But that's not all. As an additional feature we're finally reusing the CD to enable a **Continuous Deployment** process triggering the pipeline when any change is pushed to the repo. Your journey from code to production has never been that fast!!
+
+As a supporting pipeline application, I've chosen to use Tekton because it gives us the flexibility needed to run all the tasks required. However, you may adapt this example to any other pipeline application out there, the concepts are very generic.
+
+# Tekton installation
+
+Let's start installing Tekton. You can install Tekton pipelines operator following the [Tekton official installation guide](https://tekton.dev/docs/pipelines/install/#installing-tekton-pipelines-on-kubernetes).
+
+# Camel K operator installation
+
+We need now to prepare the Kubernetes namespaces that we're using to separate **development** and **production** environment. 
+```
+kubectl create namespace development
+kubectl create namespace production
+kamel install -n development
+kamel install -n production -x camel-k-prod
+```
+NOTE: make sure development and production operators share the same container registry as required by `kamel promote`.
+
+# Application development
+
+You can find the source code in this [Camel K REST example github repository](https://github.com/squakez/camel-k-rest-cicd). 
+
+## Camel K Integration
+
+We're programming through YAML DSL, but here you can put any Camel DSL you prefer:
+
+```
+# camel-k: dependency=mvn:io.quarkus:quarkus-jdbc-postgresql
+# camel-k: build-property=quarkus.datasource.camel.db-kind=postgresql
+# camel-k: config=secret:my-datasource
+# camel-k: trait=service.node-port=true
+
+- rest:
+    get:
+      - to: "direct:get"
+        path: "/customers/{name}"
+      - to: "direct:getall"
+        path: "/customers/"        
+    post:
+      - to: "direct:post"
+        path: "/customers/"
+    delete:
+      - to: "direct:delete"
+        path: "/customers/{name}"        
+- from:
+    uri: "direct:getall"
+    steps:
+      - set-body:
+          simple: "select * from customers"
+      - to: log:info
+      - to: jdbc:camel
+      - set-body:
+          simple: "${bodyAs(String)}"
+- from:
+    uri: "direct:get"
+    steps:
+      - set-body:
+          simple: "select * from customers where name='${header.name}'"
+      - to: log:info
+      - to: jdbc:camel
+      - set-body:
+          simple: "${bodyAs(String)}"
+- from:
+    uri: "direct:post"
+    steps:
+      - unmarshal:
+          json: 
+            library: Jackson        
+      - to: log:info
+      - set-body:
+          simple: "insert into customers (name, city) values ('${body[name]}', '${body[city]}')"
+      - to: jdbc:camel
+
+- from:
+    uri: "direct:delete"
+    steps:
+      - set-body:
+          simple: "delete from customers where name = '${header.name}'"
+      - to: log:info
+      - to: jdbc:camel  
+``` 
+
+## Database preparation
+
+As you may have noticed, the Integration above requires a Postgres database. In the repo, I've provided a very basic configuration for a development and a production environment.
+
+```
+kubectl apply -f db/conf-dev.yaml -n development
+kubectl create secret generic my-datasource --from-file db/datasource-dev.properties -n development
+
+kubectl apply -f db/conf-prod.yaml -n production
+kubectl create secret generic my-datasource --from-file db/datasource-prod.properties -n production
+```
+
+In this example, I've chosen to deploy the two separated databases in the same namespaces of the applications. You may follow any other topology required by your organization.
+
+NOTE: the database settings are not meant to be used in any production environment without applying proper security policies. The Pod running is ephemeral, so, anything stored there will be lost when restarting.
+
+### Initialize DB
+
+Before starting any activity, we need to create a table as required by our application:
+
+```
+kubectl exec -it postgres-dev-xxxxxxxx-yyyyy -n development -- psql -U postgresadmin --password postgresdb -c 'CREATE TABLE customers (name TEXT PRIMARY KEY, city TEXT)'
+
+kubectl exec -it postgres-prod-xxxxxxxx-yyyyy -n production -- psql -U postgresadmin --password postgresdb -c 'CREATE TABLE customers (name TEXT PRIMARY KEY, city TEXT)'
+```
+
+We have our baseline installed. You can even run manually the Integration and it should work correctly. But we don't like manual stuff, do we? Checking endpoint in a browser and visually confirm all is good, then promoting the Integration and running another round of verification. We prefer having an automated pipeline and dedicate all our time to code new features instead!
+
+# Continuous Integration and Continuous Delivery pipeline
+
+As I mentioned at the beginning, our pipeline will take care to automatically checkout the code from the repository and run a series of tasks to run and verify that all is working as expected. This is quite straightforward translated into code:
+
+```
+apiVersion: tekton.dev/v1beta1
+kind: Pipeline
+metadata:
+  name: pipeline-cicd
+spec:
+  description: | 
+    CICD pipeline for a microservice
+  params:
+  - name: repo-url
+    type: string
+    description: The git repo URL to clone from.
+  - name: repo-branch
+    type: string
+    description: The git repo branch.    
+  workspaces:
+  - name: shared-data
+    description: | 
+      This workspace contains the cloned repo files, so they can be read by the
+      next task.
+  tasks:
+  # 1. checkout the code repository with the latest changes, 
+  - name: fetch-source
+    taskRef:
+      name: git-clone
+    workspaces:
+    - name: output
+      workspace: shared-data
+    params:
+    - name: url
+      value: $(params.repo-url)
+    - name: revision
+      value: $(params.repo-branch)      
+  # 2. release the Integration in a development environment,
+  - name: kamel-run
+    runAfter: ["fetch-source"]
+    taskRef:
+      name: kamel-run
+    workspaces:
+    - name: source
+      workspace: shared-data      
+    params:
+      - name: filename
+        value: my-rest.yaml
+      - name: namespace
+        value: development
+  # 3. run a complete suite of automated test,
+  - name: e2e-test
+    runAfter: ["kamel-run"]
+    taskRef:
+      name: execute-test
+    workspaces:
+    - name: source
+      workspace: shared-data
+    params:
+      - name: script
+        value: test/e2e-test.sh    
+      - name: hostname
+        value: $(tasks.kamel-run.results.integration-name).development
+  # 4. promote to production environment and 
+  - name: kamel-promote
+    runAfter: ["e2e-test"]
+    taskRef:
+      name: kamel-promote
+    workspaces:
+    - name: source
+      workspace: shared-data      
+    params:
+      - name: integration-name
+        value: $(tasks.kamel-run.results.integration-name)
+      - name: namespace
+        value: development
+      - name: to
+        value: production
+  # 5. run some smoke test on the production endpoints as last check stage.
+  - name: smoke-test
+    runAfter: ["kamel-promote"]
+    taskRef:
+      name: execute-test
+    workspaces:
+    - name: source
+      workspace: shared-data
+    params:
+      - name: script
+        value: test/smoke-test.sh    
+      - name: hostname
+        value: $(tasks.kamel-run.results.integration-name).production  
+```
+
+The `Pipeline` expect from us to provide just a `repo-url` and a `repo-branch`. The repo will contain the Integration source code but to also the suite of test, so that everything is self-contained and "consumable" from the same pipeline. Also CI configuration is there (someone would call this **devops**...). We use a `workspace` that is a way provided by Tekton to share resources among the different tasks (which will run as a separate `Pod`).
+
+As you can see, we have configured several `Tasks` and we can see them in details.
+
+The `git-clone` task is taken from [Tekton hub](https://hub.tekton.dev/tekton/task/git-clone) and it is in charge to checkout the code. You can see the detailed configuration in the documentation page.
+
+The `kamel-run` task is in charge to run an Integration in a given namespace. It accepts a source filename (the Integration code) and the namespace where to run
+the Integration. The output is the name of the integration (we will need it both for testing and for following promotion):
+```
+apiVersion: tekton.dev/v1beta1
+kind: Task
+metadata:
+  name: kamel-run
+  description: Run an integration with Kamel CLI
+spec:
+  params:
+    - name: filename
+      description: the integration source we want to run
+    - name: namespace
+      description: the namespace where to run the integration
+  results:
+    - name: integration-name
+      description: The name of the integration    
+  workspaces:
+  - name: source
+  steps:
+  - name: run
+    # The container provides the kamel binary we need
+    image: docker.io/apache/camel-k:1.10.0
+    script: |
+      cd $(workspaces.source.path)
+      # Run the integration and let's use the output to scrape the integration name
+      # We need to use the --wait option in order to wait until the Integration is running
+      kamel_output=$(kamel run $(params.filename) -n $(params.namespace) --wait)
+      echo $kamel_output | grep -oP 'Integration ".*?" (updated|created)' | awk -F ' ' '{print $2}' | sed "s/\"//g" | tr -d '\n' | tee $(results.integration-name.path)
+```
+Interesting to note that for this task we're using `image: docker.io/apache/camel-k:1.10.0` that have the `kamel` CLI configured (and that's exactly what we need for this task).
+
+Then we can identify a generic `execute-test` task that we're reusing both for end to end test and smoke test (phases 3 and 5). This is in charge to run any arbitrary script and in our case they are `curl` commands that are testing the API endpoints. You can see that they expect a script file and an hostname (which represents the Integration service host to test):
+
+```
+apiVersion: tekton.dev/v1beta1
+kind: Task
+metadata:
+  name: execute-test
+  description: Execute some smoke test
+spec:
+  params:
+    - name: script
+      description: the script to execute 
+    - name: hostname
+      description: the hostname we want to test
+  workspaces:
+  - name: source
+  steps:
+  - name: test
+    # use any image containing the tooling required by your test
+    image: alpine/curl
+    script: |
+      cd $(workspaces.source.path)
+      $(params.script) $(params.hostname)
+```
+
+The test in our case is simple (ie, we are using `alpine/curl`), but you can have here as much as complexity as your suite of test requires:
+
+```
+# Create a user
+curl --header "Content-Type: application/json" \
+  --request POST \
+  --data '{"name":"my-name","city":"my-city"}' \
+  http://$1/customers/
+# Read the user
+HTTP_GET=$(curl -o /dev/null -s -w "%{http_code}\n" http://$1/customers/my-name)
+if [[ "$HTTP_GET" != "200" ]]; then
+    echo "ERROR: expected a 200 HTTP code"
+    exit 1
+fi
+# Delete the user
+HTTP_DELETE=$(curl -o /dev/null -s -w "%{http_code}\n" --request DELETE http://$1/customers/my-name)
+if [[ "$HTTP_DELETE" != "200" ]]; then
+    echo "ERROR: expected a 200 HTTP code"
+    exit 2
+fi
+```
+So far, we may stop if we're just interested in a CI pipeline. But you can see that with a bit of automation, we can get the benefit of a full CD solution. The last `Task` we can develope is the `kamel-promote` that is very similar to the `kamel-run`, but takes care to perform the environment promotion:
+
+```
+apiVersion: tekton.dev/v1beta1
+kind: Task
+metadata:
+  name: kamel-promote
+  description: promote an Integration to an higher environment
+spec:
+  params:
+    - name: integration-name
+      description: the integration we want to promote
+    - name: namespace
+      description: the namespace source
+    - name: to
+      description: the namespace destination           
+  workspaces:
+  - name: source
+  steps:
+  - name: promote
+    image: docker.io/apache/camel-k:1.10.0
+    script: |
+      kamel promote $(params.integration-name) -n $(params.namespace) --to $(params.to)
+```
+
+Finally we need to configure a `PipelineRun` which is in charge to run the pipeline (in this case it will be manually triggered):
+
+```
+apiVersion: tekton.dev/v1beta1
+kind: PipelineRun
+metadata:
+  name: pipeline-cicd-run
+spec:
+  pipelineRef:
+    name: pipeline-cicd
+  taskRunSpecs:
+    - pipelineTaskName: kamel-run
+      taskServiceAccountName: camel-k-pipeline-sa
+    - pipelineTaskName: kamel-promote
+      taskServiceAccountName: camel-k-pipeline-sa   
+  podTemplate:
+    securityContext:
+      fsGroup: 65532
+  workspaces:
+  - name: shared-data
+    volumeClaimTemplate:
+      spec:
+        accessModes:
+        - ReadWriteOnce
+        resources:
+          requests:
+            storage: 1Gi
+  - name: git-credentials
+    secret:
+      secretName: git-credentials
+  params:
+  - name: repo-url
+    value: https://github.com/squakez/camel-k-rest-cicd.git
+  - name: repo-branch
+    value: main
+```
+
+You can see that we provide here the repository information plus some `Service Account` configuration required for the `kamel-run` and `kamel-promote` tasks.
+
+## Install the pipeline
+
+Before running the pipeline we need to create a service account in the development namespace in order to be able to work both on `development` and `production`:
+
+```
+kubectl apply -f ci/sa.yaml -n development
+kubectl apply -f ci/rolebinding.yaml -n development
+```
+
+We also need to install the [`git-clone` task from Tekton hub](https://hub.tekton.dev/tekton/task/git-clone) in `development` namespace: 
+
+```
+kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/main/task/git-clone/0.8/git-clone.yaml -n development
+```
+
+We can now install the pipeline (we have merged also the `Tasks` within it):
+
+```
+kubectl apply -f ci/pipeline.yaml -n development
+```
+
+### Run the pipeline
+
+The pipeline is installed and ready to go. It only miss someone to pull the trigger. Let's dare:
+
+```
+kubectl apply -f ci/pipeline-run.yaml -n development
+```
+
+We should be able to monitor it by running:
+
+```
+kubectl get pipelinerun pipeline-cicd-run -w -n development
+```
+
+If there is any error, the process will stop and we can check pipeline more in details via:
+
+```
+kubectl get pipelinerun pipeline-cicd-run -o yaml -n development
+```
+
+If all is good, we'll have an Integration running in `development` namespace (the `promote` does not care to stop it) and one running in `production` namespace (possibly the one exposed to the world).
+
+# Continuous Deployment
+
+We have everything we need now to continue with the latest step of automation that will be triggering our process as soon as we have our code pushed to the repo. This last `Trigger` will transform our pipeline in a **Continuous Deployment** pipeline. The solution proposed is based on the blog posted originally at https://www.arthurkoziel.com/tutorial-tekton-triggers-with-github-integration/
+
+The idea is to expose a webhook that will take care to trigger the pipeline. We can configure Github (or Gitlab or any other Git repository type) to call that webhook on each push to the repo (or Pull Request, or any action you need according to your development process).
+
+Once a user `push` some code to the repo, then, our `Pipeline` will start, resulting in the source code released in production right away.
+
+## Pipeline code
+
+The repository we're using as example, has a `feat/cd` branch where you can find all the code required. In the `cd` directory you can find all you need to run the example.
+
+### Install triggers
+
+We first need to [install the Tekton `Triggers`](https://tekton.dev/docs/triggers/install/) as described in the official documentation. Once this is done, we'll need some configuration for a `Service Account`. You can find the configuration required in the `cd` folder of our example project:
+
+```
+kubectl apply -f cd/cd-triggers-sa.yaml -n development
+```
+
+### Listen for a push
+
+Now we can have provide all the required configuration to let our cluster wait for a git push event. We start defining an `EventListener`:
+
+```
+apiVersion: triggers.tekton.dev/v1alpha1
+kind: EventListener
+metadata:
+  name: github-push
+spec:
+  serviceAccountName: tekton-triggers-cd
+  triggers:
+    - name: github-listener
+      interceptors:
+        - ref:
+            name: "github"
+          params:
+            # You may want to include a secure interceptor
+            - name: "eventTypes"
+              value: ["push"]
+      template:
+        ref: github-push-pipeline-template
+```
+
+This one will be in charge to filter the call received by the webhook. You can see that there is already defined an `interceptor` whose goal is to filter the events we accept. For the sake of simplicity, I've just provided an example interceptor to filter only the `push` events. In a real environment you probably want to secure the incoming requests with some authorization token. The `github` interceptor will allow you to provide any kind of security.
+
+The other thing we have provided is a `template` referenced to `github-push-pipeline-template`, that is the trigger we want to pull when a `push` event is received. Let's look how this `TriggerTemplate` is declared:
+
+```
+apiVersion: triggers.tekton.dev/v1alpha1
+kind: TriggerTemplate
+metadata:
+  name: github-push-pipeline-template
+spec:
+  resourcetemplates:
+    - apiVersion: tekton.dev/v1beta1
+      kind: PipelineRun
+      metadata:
+        generateName: github-push-pipeline-run-
+      spec:
+        pipelineRef:
+          name: pipeline-cicd
+        taskRunSpecs:
+          - pipelineTaskName: kamel-run
+            taskServiceAccountName: camel-k-pipeline-sa
+          - pipelineTaskName: kamel-promote
+            taskServiceAccountName: camel-k-pipeline-sa   
+        podTemplate:
+          securityContext:
+            fsGroup: 65532
+        workspaces:
+        - name: shared-data
+          volumeClaimTemplate:
+            spec:
+              accessModes:
+              - ReadWriteOnce
+              resources:
+                requests:
+                  storage: 1Gi
+        params:
+        - name: repo-url
+          value: https://github.com/squakez/camel-k-rest-cicd.git
+        - name: repo-branch
+          value: feat/cd
+```
+It should sound very familiar as it is a template based on the `Trigger` we've developed previously. It takes care to call the same `Pipeline` but this time will generate a new name every time (required because we don't call the `PipelineRun` explicitly) and it will work over the `feat/cd` branch.
+
+Both yaml are merged into a single configuration:
+
+```
+kubectl apply -f cd/cd-triggers.yaml -n development
+```
+
+Now everyting is ready but the last step required is to create an `Ingress` webhook and bind to the `EventListener` so that, everytime the webhook is called, a `Pipeline` is started.
+
+```
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: my-cd-pipeline
+  annotations:
+    kubernetes.io/ingress.class: nginx
+    nginx.ingress.kubernetes.io/ssl-redirect: "false"
+spec:
+  rules:
+    - http:
+        paths:
+          - path: /my-cd-pipeline
+            pathType: Exact
+            backend:
+              service:
+                # Will forward events to an EventListener called github-push
+                name: el-github-push
+                port:
+                  number: 8080
+```
+It's important to notice how we "linked" the `Ingress` to a `Service` named `el-github-push`. This service is created by the `EventListener` by prepending `el-` to the listener name.
+
+NOTE: you may want to enable the addon on minikube via `minikube addons enable ingress`
+
+```
+kubectl apply -f wh-ingress.yaml -n development
+```
+
+We're ready to see what is the host we need to call to trigger the `Pipeline`:
+
+```
+kubectl get ingress -n development
+```
+
+NOTE: if you want to use this on minikube you can see the local host via `minikube service list` (to simuate a webhook post locally)
+
+So, now we're ready to configure our Github repository and wait for any code change that will trigger our CD pipeline. We can start watching it in the while:
+
+```
+kubectl get pipelinerun -n development -w
+```
+
+### Github repository configuration
+
+We need now to go on our Github repository and configure the webhook. Enter in "Settings >> Webhooks" and create a new Webhook. You will need to fill the form with a "Payload URL" (take the host appearing in the `kubectl get ingress -n development` and use as http://1.2.3.4/my-cd-pipeline), a "Content type" (application/json) and a secret (you may skip this as we did not configure the secret on the `EventListener`). You can also choose the events to send. In our case we're interested in  [...]
+
+You can also watch the `Pod` created by the event listener to see if the `ping` has reached out your cluster:
+
+```
+k logs -n development el-github-push-674dcb5f4-blbrb -f
+```
+
+If all is good, let's keep monitoring that `Pod` and make any change to your repository. As soon as you push, you should see it flowing in your log like:
+
+```
+{"severity":"info","timestamp":"2022-10-04T11:02:30.537Z","logger":"eventlistener","caller":"sink/sink.go:409","message":"ResolvedParams : []","eventlistener":"github-push","namespace":"development","/triggers-eventid":"b7fda1d3-044e-402a-b2c2-900afd849681","eventlistenerUID":"98b1322c-1793-425a-8577-8fec3e708b3f","/triggers-eventid":"b7fda1d3-044e-402a-b2c2-900afd849681","/trigger":"github-listener"}
+{"severity":"info","timestamp":"2022-10-04T11:02:30.539Z","logger":"eventlistener","caller":"resources/create.go:98","message":"Generating resource: kind: &APIResource{Name:pipelineruns,Namespaced:true,Kind:PipelineRun,Verbs:[delete deletecollection get list patch create update watch],ShortNames:[pr prs],SingularName:pipelinerun,Categories:[tekton tekton-pipelines],Group:tekton.dev,Version:v1beta1,StorageVersionHash:RcAKAgPYYoo=,}, name: github-push-pipeline-run-"}
+{"severity":"info","timestamp":"2022-10-04T11:02:30.539Z","logger":"eventlistener","caller":"resources/create.go:106","message":"For event ID \"b7fda1d3-044e-402a-b2c2-900afd849681\" creating resource tekton.dev/v1beta1, Resource=pipelineruns"}
+```
+
+That means the `Pipeline` was triggered and in a few minutes you should have your shining new feature available in production!
+
+### Test webhook locally
+
+During the development of your pipeline (or if you want to use a local cluster such as `minikube`), you may be interested in simulating the push event. This should be as easy as running something like:
+
+```
+http post http://192.168.49.2:32698/my-cd-pipeline X-GitHub-Event:push json=test 
+```
+
+# Conclusion
+
+It was a long post, but, I am sure you appreciated the effort we've put in wrapping up all the resources required to have a full CICD experience on a Camel K integration. The possibility offered by Tekton or any other pipeline application on Kubernetes are a great complement on the experience we are providing with the `kamel promote` feature.
+
+## Caveat
+
+While working on this blog, I've spotted a problem that may [prevent you updating the Integration](https://github.com/apache/camel-k/issues/3673) via `kamel promote` on a production environment. It was promptly fixed and available by using `1.11` or `1.10` nightly releases. You can change the `Tasks` configured to use `docker.io/testcamelk/camel-k:1.11.0-nightly` instead of `docker.io/apache/camel-k:1.10.0`
\ No newline at end of file


[camel-website] 24/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 7afcdb120dd5ce5889df8db6977476ad6d3761a5
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:12:57 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index 555fc820..5f7d0568 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -216,7 +216,7 @@ spec:
       workspace: shared-data
     params:
       - name: script
-        value: test/smoke-test.sh    
+        value: test/smoke-test.sh
       - name: hostname
         value: $(tasks.kamel-run.results.integration-name).production  
 ```


[camel-website] 10/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 4687613b28d4a9f20ebde1b6bcc21400aab88396
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:10:32 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index d803c57a..829cee43 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -478,7 +478,7 @@ spec:
           - pipelineTaskName: kamel-run
             taskServiceAccountName: camel-k-pipeline-sa
           - pipelineTaskName: kamel-promote
-            taskServiceAccountName: camel-k-pipeline-sa   
+            taskServiceAccountName: camel-k-pipeline-sa
         podTemplate:
           securityContext:
             fsGroup: 65532


[camel-website] 28/29: Update content/blog/2022/10/camel-k-cicd/index.md

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git

commit 62140de04ac09b45654b2083780f6ed32d0c84e6
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Oct 6 11:13:38 2022 +0200

    Update content/blog/2022/10/camel-k-cicd/index.md
    
    Co-authored-by: Zoran Regvart <zo...@regvart.com>
---
 content/blog/2022/10/camel-k-cicd/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/blog/2022/10/camel-k-cicd/index.md b/content/blog/2022/10/camel-k-cicd/index.md
index fe933b09..ae71fc83 100644
--- a/content/blog/2022/10/camel-k-cicd/index.md
+++ b/content/blog/2022/10/camel-k-cicd/index.md
@@ -320,7 +320,7 @@ spec:
     - name: namespace
       description: the namespace source
     - name: to
-      description: the namespace destination           
+      description: the namespace destination
   workspaces:
   - name: source
   steps: