Skip to content

feat: replace domain conditions with standard Ready/Progressing conditions#235

Merged
Shivs11 merged 13 commits intomainfrom
twc-conditions
Mar 25, 2026
Merged

feat: replace domain conditions with standard Ready/Progressing conditions#235
Shivs11 merged 13 commits intomainfrom
twc-conditions

Conversation

@carlydf
Copy link
Collaborator

@carlydf carlydf commented Mar 20, 2026

What was changed

Deprecate the controller-specific TemporalConnectionHealthy and RolloutComplete conditions with the two standard Kubernetes conditions (Ready, Progressing) that GitOps tools like ArgoCD and Flux can consume without custom parsing logic.

  • Ready=True when the target version is Current in Temporal
  • Progressing=True while a rollout is in-flight (WaitingForPollers, WaitingForPromotion, Ramping)
  • Progressing=False on any blocking error (connection failures, plan errors), regardless of whether a rollout is active

Also adds docs/cd-rollouts.md with integration guidance for kubectl, Helm 3/4, ArgoCD (Lua health check), and Flux (Kustomization + HelmRelease).

Why?

Previous conditions were not easy for CD systems to consume. They were only merged to main, not included in any release, so we can still change them.

Checklist

  1. Closes [Feature Request] Add Kubernetes status.conditions (Ready/Progressing/Degraded) for TemporalConnection and TemporalWorkerDeployment for Argo CD health #198

  2. How was this tested:
    Functional and unit tests.

  3. Any docs updates needed?

Replace the controller-specific TemporalConnectionHealthy and
RolloutComplete conditions with the three standard Kubernetes conditions
(Ready, Progressing, Degraded) that GitOps tools like ArgoCD and Flux
can consume without custom parsing logic.

- Ready=True when the target version is Current in Temporal
- Progressing=True while a rollout is in-flight (WaitingForPollers,
  WaitingForPromotion, Ramping)
- Degraded=True on any blocking error (connection failures, plan errors),
  regardless of whether a rollout is active

Plan-gen and plan-exec failures now also set Degraded=True, where
previously they only emitted a Warning event.

Also adds docs/cd-rollouts.md with integration guidance for kubectl,
Helm 3/4, ArgoCD (Lua health check), and Flux (Kustomization +
HelmRelease).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@carlydf carlydf requested review from a team and jlegrone as code owners March 20, 2026 21:33
Copy link

@mnichols mnichols left a comment

Choose a reason for hiding this comment

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

I really appreciate this "going the distance" to guide people using different tools! I dont have great context on status lifecycle and cant speak to that specifically, but made some communication comments.

Copy link

@jaypipes jaypipes left a comment

Choose a reason for hiding this comment

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

I think we can simplify things for our users by just using a ConditionReady and ConditionProgressing and not the ConditionDegraded. See inline comments for explanation why :)

@Shivs11 Shivs11 changed the title feat: replace domain conditions with standard Ready/Progressing/Degraded feat: replace domain conditions with standard Ready/Progressing conditions Mar 25, 2026
Copy link

@jaypipes jaypipes left a comment

Choose a reason for hiding this comment

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

Addressed all my concerns. @mnichols has some excellent points on the docs. Recommend a followup PR that fixes the docs up!

@Shivs11 Shivs11 enabled auto-merge (squash) March 25, 2026 18:53
@Shivs11 Shivs11 merged commit 5f00a13 into main Mar 25, 2026
25 of 28 checks passed
@Shivs11 Shivs11 deleted the twc-conditions branch March 25, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Add Kubernetes status.conditions (Ready/Progressing/Degraded) for TemporalConnection and TemporalWorkerDeployment for Argo CD health

4 participants