Remove SendGrid dependency — Gmail OAuth covers all email #122

Closed
opened 2026-03-21 13:58:11 +00:00 by forgejo_admin · 1 comment

Type

Feature

Lineage

plan-pal-e-platform → Platform Hardening → discovered scope

Repo

forgejo_admin/pal-e-platform

User Story

As a platform operator
I want to remove the unused SendGrid dependency
So that email delivery uses a single path (Gmail OAuth) with no dead credentials lying around

Context

During Keycloak SMTP investigation (2026-03-21), discovered SendGrid account is out of credits (451 Maximum credits exceeded). basketball-api already uses Gmail OAuth for all email delivery via westsidebasketball@gmail.com. SendGrid adds no value — it's a dead dependency with an orphaned API key.

Keycloak SMTP was briefly configured with SendGrid creds and needs to be reverted to empty (or replaced with Gmail app password once generated).

File Targets

  • ~/secrets/sendgrid/api_key — delete
  • Keycloak realm SMTP settings — revert broken SendGrid config
  • Any Terraform/k8s references to SendGrid — remove if found

Files the agent should NOT touch:

  • basketball-api/src/basketball_api/services/email.py — Gmail OAuth, unrelated

Acceptance Criteria

  • SendGrid API key removed from secrets
  • Keycloak SMTP config cleared or replaced with Gmail app password
  • No references to SendGrid remain in platform config
  • Email delivery continues working via Gmail OAuth

Test Expectations

  • Verify no service depends on SendGrid after removal
  • Run command: grep -r sendgrid ~/pal-e-platform ~/pal-e-services 2>/dev/null

Constraints

  • Don't break any existing email flows (basketball-api Gmail OAuth is separate)
  • This is cleanup only — no new email infrastructure

Checklist

  • PR opened
  • No unrelated changes
  • pal-e-platform — platform infrastructure
  • Keycloak SMTP enterprise login issue (basketball-api)
### Type Feature ### Lineage `plan-pal-e-platform` → Platform Hardening → discovered scope ### Repo `forgejo_admin/pal-e-platform` ### User Story As a platform operator I want to remove the unused SendGrid dependency So that email delivery uses a single path (Gmail OAuth) with no dead credentials lying around ### Context During Keycloak SMTP investigation (2026-03-21), discovered SendGrid account is out of credits (`451 Maximum credits exceeded`). basketball-api already uses Gmail OAuth for all email delivery via `westsidebasketball@gmail.com`. SendGrid adds no value — it's a dead dependency with an orphaned API key. Keycloak SMTP was briefly configured with SendGrid creds and needs to be reverted to empty (or replaced with Gmail app password once generated). ### File Targets - `~/secrets/sendgrid/api_key` — delete - Keycloak realm SMTP settings — revert broken SendGrid config - Any Terraform/k8s references to SendGrid — remove if found Files the agent should NOT touch: - `basketball-api/src/basketball_api/services/email.py` — Gmail OAuth, unrelated ### Acceptance Criteria - [ ] SendGrid API key removed from secrets - [ ] Keycloak SMTP config cleared or replaced with Gmail app password - [ ] No references to SendGrid remain in platform config - [ ] Email delivery continues working via Gmail OAuth ### Test Expectations - [ ] Verify no service depends on SendGrid after removal - Run command: `grep -r sendgrid ~/pal-e-platform ~/pal-e-services 2>/dev/null` ### Constraints - Don't break any existing email flows (basketball-api Gmail OAuth is separate) - This is cleanup only — no new email infrastructure ### Checklist - [ ] PR opened - [ ] No unrelated changes ### Related - `pal-e-platform` — platform infrastructure - Keycloak SMTP enterprise login issue (basketball-api)
Author
Owner

Scope Review: READY

Review note: review-222-2026-03-22
All file targets verified. SendGrid secret exists (~/secrets/sendgrid/api_key), zero references in any codebase, no downstream dependencies. Clean orphan removal. Points=1 appropriate.

## Scope Review: READY Review note: `review-222-2026-03-22` All file targets verified. SendGrid secret exists (`~/secrets/sendgrid/api_key`), zero references in any codebase, no downstream dependencies. Clean orphan removal. Points=1 appropriate.
forgejo_admin 2026-03-22 19:02:36 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/pal-e-platform#122
No description provided.