From e380ec00b53a2e922d51189303c7efec9660aa08 Mon Sep 17 00:00:00 2001 From: Jason Madigan Date: Mon, 4 Mar 2024 13:17:49 +0000 Subject: [PATCH] CI/CD with Tekton --- doc/kuadrantctl-ci-cd.md | 150 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 doc/kuadrantctl-ci-cd.md diff --git a/doc/kuadrantctl-ci-cd.md b/doc/kuadrantctl-ci-cd.md new file mode 100644 index 0000000..f75ebd0 --- /dev/null +++ b/doc/kuadrantctl-ci-cd.md @@ -0,0 +1,150 @@ +# kuadrantctl - CI/CD with Tekton and Argo CD + +This guide demonstrates setting up a CI/CD pipeline using Tekton to deploy Kubernetes Gateway API and Kuadrant resources generated by `kuadrantctl`, from an OpenAPI specification. In this example, these resources are applied directly to the cluster where Tekton is running. + +Prerequisites: + +- (Tekton Pipelines[https://tekton.dev/]) installed on your Kubernetes or OpenShift cluster. +- (`kubectl`[https://kubernetes.io/docs/reference/kubectl/]) configured to communicate with your cluster (i.e you have a kubectl config available with access to your cluster) +- (Tekton CLI `tkn`[https://tekton.dev/docs/cli/]) (optional) for easier interaction with Tekton resources. + +Setup: + +First, create a dedicated namespace: + +```bash +kubectl create namespace kuadrantctl-ci-example +``` + +Step 1: Create a Persistent Volume Claim + +To store Tekton build artifacts, create a PVC in the kuadrantctl-ci-example namespace: + +```bash +kubectl apply -n kuadrantctl-ci-example -f - <<