Add pal-e-mail namespace to MinIO network policy ingress #144
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/pal-e-platform#144
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
plan-pal-e-mail→ Phase 2 → discovered scope (infrastructure prerequisite)Repo
forgejo_admin/pal-e-platformUser Story
As pal-e-mail service
I want to reach MinIO's internal service endpoint from inside the cluster
So that template fetching via
http://minio.minio.svc.cluster.local:9000works without hitting the DERP hairpin issue on the external Tailscale URLContext
pal-e-mail Phase 2 (PR #4,
forgejo_admin/pal-e-mail) addedPOST /sendwith CDN template fetching. Templates are stored on MinIO atassets/email-templates/{project}/. The service useshttpx.get()to fetch templates at send time. Without a network policy allowing ingress frompal-e-mailnamespace tominionamespace, this request is blocked by the default-deny-ingress policy interraform/network-policies.tf. This is a production blocker for template mode sends.The config setting
PAL_E_MAIL_MINIO_CDN_BASE_URLin the deployment-patch should also be overridden from the external Tailscale URL to the internal MinIO service URL to avoid the DERP hairpin issue (same class of bug as ArgoCD #143).File Targets
Files to modify:
terraform/network-policies.tf— addpal-e-mailnamespace tonetpol_minioingress listFiles NOT to touch:
Acceptance Criteria
pal-e-mailnamespace can reachminio.minio.svc.cluster.local:9000from inside the clustertofu planshows only the MinIO network policy changetofu validatepassesTest Expectations
tofu plan -lock=falseshows expected diff (one new ingress rule on netpol_minio)tofu validatecleantofu fmt -checkcleancd ~/pal-e-platform/terraform && tofu plan -lock=falseConstraints
kubernetes.io/metadata.namelabel)-lock=falsein any tofu plan commands to avoid blocking CIChecklist
Related
project-pal-e-platform— this repoplan-pal-e-mail— Phase 2 dependencyforgejo_admin/pal-e-mail#3— Phase 2 Core Send API issuepal-e-platform#143— ArgoCD DERP hairpin (same class of issue)Scope Review: READY
Review note:
review-284-2026-03-22Scope is solid — single file target verified, pattern matches existing netpol convention, all acceptance criteria are machine-verifiable. CDN URL override mentioned in Context is correctly excluded from File Targets (belongs in pal-e-deployments, not this repo).