Validation: Configure Postmark SMTP for landscaping Keycloak realm

validation-321-2026-07-27 Doc

validation pass

Verdict: PASS

Ticket

ldraney/landscaping-assistant#321 — Configure Postmark SMTP for landscaping Keycloak realm. Cross-repo infrastructure: Postmark server provisioning, DNS records for DKIM/SPF/Return-Path, and Keycloak SMTP configuration.

Environment

Production cluster. Postmark account (account-level API). Keycloak at https://keycloak.tail5b443a.ts.net/realms/landscaping. Domain: landscaping-assistant.app.

Checks

# Criterion How Verified Result Evidence
1 Postmark server provisioned for landscaping-assistant.app domain Postmark Account API: <code>list_servers(name="landscaping")</code> PASS Server "landscaping-assistant" (ID: 20070694) exists. SmtpApiActivated: true. DeliveryType: Live.
2 DKIM and Return-Path DNS records deployed Postmark Account API: <code>get_domain(7984769)</code> PASS DKIMVerified: true (selector: <code>20260726204650pm._domainkey.landscaping-assistant.app</code>). ReturnPathDomainVerified: true (<code>pm-bounces.landscaping-assistant.app</code> CNAME to <code>pm.mtasv.net</code>). SPFVerified: true.
3 Postmark domain verification passes Postmark Account API: <code>get_domain(7984769)</code> PASS Domain "landscaping-assistant.app" (ID: 7984769): SPFVerified=true, DKIMVerified=true, WeakDKIM=false, ReturnPathDomainVerified=true.
4 Keycloak landscaping realm has working SMTP config Browser: navigated to <code>/realms/landscaping/login-actions/reset-credentials</code>, submitted password reset form PASS Password reset form submitted without SMTP errors. Keycloak displayed "You should receive an email shortly with further instructions."
5 Password reset email sends and delivers successfully Postmark Server API: <code>search_outbound_messages()</code> on landscaping server (ID: 20070694) PASS 7 emails delivered via landscaping Postmark server, all Status: "Sent". Includes password resets, email verifications, and SMTP test. Most recent: "Reset password" to devopsphilosopher@gmail.com at 2026-07-27T21:13:48. From: "Landscaping Assistant" &lt;noreply@landscaping-assistant.app&gt;.

Deployment Evidence

Postmark Server API outbound message search (server ID 20070694, landscaping-assistant):

Regression Check

Keycloak login page for landscaping realm loads correctly with custom theme. Login form renders with Username, Password, Forgot Password, and Sign In elements. No visible regressions to the authentication flow.

Discovered Issues

  • IaC gap: DNS records not in Terraform. DKIM and Return-Path DNS records exist in live DNS but are NOT in pal-e-platform/terraform/dns.tf. Drift risk — recommend adding to match ISS pattern.
  • IaC gap: Postmark server not Terraform-managed. No postmark_landscaping module in pal-e-platform/terraform/main.tf. Server was provisioned manually.