tektoncd / tektoncd/operator

Await Tekton Webhooks Readiness in Pulumi Deployments

Open
#2,381 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/feature
Dominant language
Go
Stars
608
Forks
263
Avg merge
1d 3h
Merged PRs (30d)
125

Description

Feature request

Provide a mechanism within the Tekton Operator to enable users to wait for the webhooks to become ready before proceeding with the deployment of Tekton resources.

Use case

We are using Pulumi to spin up a local Kind cluster, install the Tekton Operator, and then apply our Tasks, Pipelines, and Triggers. During this process, we've encountered an issue:

After the Kind cluster starts and the Tekton Operator installs all necessary components, there is no straightforward way to wait for the Tekton webhooks to become ready before proceeding with applying our Tekton resources. This leads to intermittent failures because the webhooks may still be in an unready state when we attempt to deploy our Tasks, Pipelines, PipelineRuns, and Triggers.

Pulumi has introduced a new pulumi.com/waitFor annotation for per-resource readiness checks, as detailed here: Improved Kubernetes Await Logic. This feature allows us to wait for specific Kubernetes resources to become ready before moving forward with the deployment.

However, since the Tekton webhooks are installed as separate components by the Tekton Operator, we can't directly hook into them using the waitFor annotation. This limitation prevents us from reliably ensuring that the webhooks are ready before applying our Tekton resources.

Question:

We have looked for a straightforward solution to this but couldn't find one. Maybe we have overlooked something? Is there a straightforward solution to this without implementing custom Go/Pulumi await or querying Kubernetes logic?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Pulumi Improved Kubernetes Await Logic link and the Tekton Operator's installation of webhooks. Determine how readiness should be exposed before Tasks, Pipelines, PipelineRuns, and Triggers are applied. Done means users can reliably wait for webhook readiness without custom Go/Pulumi await or Kubernetes queries.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.