Validation: Postmark inbound webhook endpoint (#583)
Ticket
ldraney/pal-e-platform #583 — Board item #2001. Shared Postmark inbound webhook endpoint via Tailscale funnel.
Environment
pal-e cluster, namespace
postmark-inbound, Tailscale funnel at postmark-inbound.tail5b443a.ts.netChecks
| # | Criterion | How to Verify | Result | Evidence |
|---|---|---|---|---|
| 1 | nginx deployment running in postmark-inbound namespace | tofu apply output | PASS | Pipeline #1898: <code>kubernetes_deployment_v1.postmark_inbound: Creation complete after 2s</code> |
| 2 | Tailscale funnel ingress created | tofu apply output | PASS | Pipeline #1898: <code>kubernetes_ingress_v1.postmark_inbound_funnel: Creation complete after 0s</code> |
| 3 | K8s secret with htpasswd + Basic Auth creds | tofu apply output | PASS | Pipeline #1898: <code>kubernetes_secret_v1.postmark_webhook_auth: Creation complete after 0s</code> |
| 4 | Postmark server InboundHookUrl set with embedded Basic Auth | Postmark get_server API | PASS | <code>InboundHookUrl: https://...@postmark-inbound.tail5b443a.ts.net/inbound</code> |
| 5 | E2E: email sent and received in inbound stream | send_email + search_inbound_messages | PASS | Subject "E2E webhook test 2 - 2026-08-05", Status: Processed, MessageID: 28378a45-efd5-4c7f-ae37-0fd43cf58924 |
Verdict
PASS — all checks green. Webhook endpoint deployed and e2e tested.
Discovered Issues
#587 — tofu apply clears InboundDomain because the postmark module doesn't manage it. InboundDomain was restored manually via API. Follow-up ticket created.