Skip to content

fix(cymbal): use native roots for Temporal Cloud - #73099

Merged
hpouillot merged 1 commit into
masterfrom
hp/fix-cymbal-temporal-ca
Jul 23, 2026
Merged

fix(cymbal): use native roots for Temporal Cloud#73099
hpouillot merged 1 commit into
masterfrom
hp/fix-cymbal-temporal-ca

Conversation

@hpouillot

Copy link
Copy Markdown
Contributor

Problem

Cymbal notifications fails at startup when issue-created workflow routing is enabled:

invalid peer certificate: UnknownIssuer

The Rust client was treating the injected TEMPORAL_CLIENT_ROOT_CA as the server trust root. This replaces the SDK's native root store, but that certificate is not the issuer of Temporal Cloud's public server certificate. PostHog's Python Temporal workers do not pass this injected value to the client and rely on native roots.

Changes

  • Match the Python workers by using native roots for Temporal Cloud server verification.
  • Continue using the existing client certificate and key for mTLS authentication.
  • Remove the unused root CA field from Cymbal's notifications configuration.

How did you test this code?

  • cargo fmt --all -- --check
  • cargo check -p cymbal
  • cargo test -p cymbal modes::notifications::temporal --lib – 3 passed
  • cargo clippy -p cymbal --all-targets --no-deps -- -D warnings

I could not perform a live Temporal Cloud connection test locally. The deployed connection failure is specifically in server certificate verification, before workflow starts.

👉 Stay up-to-date with PostHog coding conventions for a smoother review.

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

Docs update

This internal TLS configuration fix does not require documentation changes.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Implemented with OpenAI Codex in pi after diagnosing the deployed Temporal connection error. No repo-specific implementation skill was invoked. The fix keeps custom CA support in the shared Temporal client, but Cymbal intentionally uses native roots to match Python worker behavior.

@hpouillot hpouillot self-assigned this Jul 23, 2026
@trunk-io

trunk-io Bot commented Jul 23, 2026

Copy link
Copy Markdown

😎 This pull request was merged.

@hpouillot hpouillot added the stamphog Request AI approval (no full review) label Jul 23, 2026
@hpouillot
hpouillot marked this pull request as ready for review July 23, 2026 08:57
@hpouillot
hpouillot enabled auto-merge (squash) July 23, 2026 08:59
@greptile-apps

greptile-apps Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "fix(cymbal): use native roots for Tempor..." | Re-trigger Greptile

@stamphog stamphog Bot 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.

Small, well-understood TLS trust-root fix aligning Rust client with existing Python worker behavior; author has STRONG familiarity and owns this code, mTLS client cert/key auth is preserved, no outstanding concerns.

  • Author wrote 100% of the modified lines and has 8 merged PRs in these paths (familiarity STRONG).
  • 👍 on the PR from greptile-apps[bot], hex-security-app[bot].
Gate mechanics and policy version
Gate Result
prerequisites all clear
deny-list no deny categories matched
size 8L, 2F substantive — within ceiling
tier T1-agent / T1a-trivial (8L, 2F, single-area, fix)
stamphog 2.0.0b3 .stamphog/policy.yml @ 24c0565 · reviewed head b463393

@hpouillot
hpouillot merged commit 159452f into master Jul 23, 2026
287 of 330 checks passed
@hpouillot
hpouillot deleted the hp/fix-cymbal-temporal-ca branch July 23, 2026 09:08
@deployment-status-posthog

deployment-status-posthog Bot commented Jul 23, 2026

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-07-23 09:34 UTC Run
prod-us ✅ Deployed 2026-07-23 09:48 UTC Run
prod-eu ✅ Deployed 2026-07-23 09:48 UTC Run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stamphog Request AI approval (no full review)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants