This folder includes overlays used to maintain the configuration of Tekton
services in the Tekton infra clusters dogfooding and prow.
Tekton services can be deployed on-demand using a Tekton task called
install-tekton-release. For example, Tekton Pipeline can be deployed as
follows using the tkn client:
# The releaseBucket is a parameter that points to where the
# bucket where the release files are stored e.g. gs://tekton-releases/pipeline
export RELEASE_BUCKET=<release-bucket>
# The K8S_CLUSTER is a the name of a secret that contains the k8s configuration
# for k8s cluster where the Tekton service is being deployed to
export K8S_CLUSTER=<k8s-cluster>
# Create a workspace template file with the following content
cat <<EOF > workspace-template.yaml
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
EOF
tkn pipeline start \
-p releaseBucket=$RELEASE_BUCKET \
-p projectName=pipeline \
-p version=v0.9.2 \
-p environment=dogfooding \
-w name=targetCluster,secret=$K8S_CLUSTER \
-w name=resources,volumeClaimTemplateFile=workspace-template.yaml \
-w name=credentials,emptyDir= \
install-tekton-release
The Tekton resources to be deployed are built based on kustomization.yaml files in the corresponding directory. The folder-cd-trigger cron job applies the latest resource under the plumbing/tekton directory to the cluster on an hourly basis. The folder-cd-trigger cronjob triggers the deploy-from-folder Task to build the final resource yaml files using the kustomize tool and deploy.
To validate your changes to the resources locally, please install kustomize and run the following command from the plumbing/tekton/ directory.
kustomize buildPlease check the kustomize documentation for more information.