Skip to content

fix(watcher): Add health probes to the watcher Deployment - #1505

Merged
tekton-robot merged 1 commit into
tektoncd:mainfrom
krishhlogan:fix-watcher-health-probes
Oct 18, 2026
Merged

tekton-robot merged 1 commit into
tektoncd:mainfrom
krishhlogan:fix-watcher-health-probes

Conversation

@krishhlogan

Copy link
Copy Markdown
Contributor

Changes

The watcher Deployment declared no startupProbe, readinessProbe, or livenessProbe, so a wedged watcher pod stayed Ready 1/1 indefinitely and Kubernetes never restarted it, silently halting reconciliation.

The binary already serves /health and /readiness on port 8080 via Knative's sharedmain; only the manifest was missing.
Declare port 8080 and add all three probes, mirroring config/base/api.yaml. Plain HTTP, since the Knative health server is not TLS.

Submitter Checklist

These are the criteria that every PR should meet, please check them off as you review them:

  • Has Docs included if any changes are user facing
  • Has Tests included if any functionality added or changed
  • Tested your changes locally (if this is a code change)
  • Follows the commit message standard
  • Meets the Tekton contributor standards (including functionality, content, code)
  • Has a kind label. You can add a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
  • Release notes block below has been updated with any user-facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
  • Release notes contain the string "action required" if the change requires additional action from users switching to the new release

Release Notes

@tekton-robot tekton-robot added the release-note Denotes a PR that will be considered when it comes time to generate release notes. label Oct 7, 2026
@tekton-robot
tekton-robot requested review from enarha and khrm October 7, 2026 11:54
@tekton-robot tekton-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Oct 7, 2026
@enarha
enarha requested a balanced review from Copilot October 8, 2026 07:28

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Supported high-availability installations use a separate watcher StatefulSet that still lacks these probes.

1 open finding
What changed in this PR

Adds Kubernetes health probes to the base Tekton Results watcher Deployment using its existing HTTP endpoints.

Changes:

  • Declares health port 8080.
  • Adds startup, readiness, and liveness probes.
File Description
config/​base/​watcher.yaml Configures HTTP health probes for the watcher Deployment.

🧠 Review effort: Balanced


Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.

Comment thread config/base/watcher.yaml
containerPort: 8008
- name: health
containerPort: 8080
startupProbe:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@krishhlogan can you please address this comment. It is related to #1434 . Other than that the change is good.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done @enarha

@khrm khrm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Oct 12, 2026
@krishhlogan
krishhlogan force-pushed the fix-watcher-health-probes branch from 0cb8527 to f7dfe4a Compare October 13, 2026 06:08
@tekton-robot tekton-robot removed the lgtm Indicates that a PR is ready to be merged. label Oct 13, 2026
The watcher Deployment declared no startupProbe, readinessProbe, or
livenessProbe, so a wedged watcher pod stayed Ready 1/1 indefinitely
and Kubernetes never restarted it, silently halting reconciliation.

The binary already serves /health and /readiness on port 8080 via
Knative's sharedmain; only the manifest was missing. Adds all three
probes mirroring config/base/api.yaml. Plain HTTP, since the Knative
health server is not TLS.

Fixes tektoncd#1466
@krishhlogan
krishhlogan force-pushed the fix-watcher-health-probes branch from f7dfe4a to d81b7be Compare October 13, 2026 06:09
@tekton-robot tekton-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Oct 13, 2026

@enarha enarha left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Oct 18, 2026
@tekton-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: enarha

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 18, 2026
@enarha

enarha commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

/lgtm /approve

Also manually tested both deployment with single pod as well as scaled deployment (using statefulset) with 3 pods. In both cases the probes were properly set on the watcher pods.

@tekton-robot
tekton-robot merged commit be27826 into tektoncd:main Oct 18, 2026
11 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants