feat: allow pal-e-mail namespace ingress to MinIO #145
No reviewers
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!145
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "144-add-pal-e-mail-namespace-to-minio-networ"
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?
Summary
pal-e-mailnamespace to MinIO's default-deny-ingress network policy allow listfetch_template()callshttpx.get()tominio.minio.svc.cluster.local:9000for CDN-hosted email templatesChanges
One line in
terraform/network-policies.tf: newnamespaceSelectorentry innetpol_minioingress rules.Test Plan
tofu validatepassestofu fmt -checkcleantofu plan -lock=falseshows only MinIO network policy changekubectl exec -n pal-e-mail <pod> -- wget -qO- http://minio.minio.svc.cluster.local:9000/minio/health/livereturns 200Review Checklist
Related
plan-pal-e-mail— Phase 2 discovered scopeforgejo_admin/pal-e-mail#3— Phase 2 Core Send API (merged)PR #145 Review
DOMAIN REVIEW
Tech stack: Terraform (OpenTofu) / Kubernetes NetworkPolicy
The change adds a single
namespaceSelectorentry tonetpol_minio's ingress allow list, permitting pods in thepal-e-mailnamespace to reach MinIO. Review of/home/ldraney/pal-e-platform/terraform/network-policies.tf:{ from = [{ namespaceSelector = { matchLabels = { "kubernetes.io/metadata.name" = "pal-e-mail" } } }] }structure as all other entries in this file (lines 23-24, 43-45, 63-67, 86-89, 108-112, 132-134, 153-155, 173, 193-194). No deviation.kubernetes.io/metadata.nameis the auto-applied immutable namespace label in k8s 1.21+. Correct selector for namespace-level ingress rules.network-policies.tfmodified. 1 addition, 0 deletions. No changes to any other policy or resource.pal-e-mail. No blanket allows. The justification (template fetching viahttpx.get()to MinIO S3 endpoint) is sound -- email templates stored as MinIO objects need HTTP GET access.tofu fmtissues: The indentation and trailing comma are consistent with the existing entries.BLOCKERS
None.
This is a 1-line declarative addition to a namespace allow-list. No application code, no user input handling, no auth logic, no secrets. The "new functionality must have tests" blocker does not apply to declarative network policy changes -- the Test Plan's
kubectl execvalidation andtofu planoutput are the appropriate verification methods.NITS
None. Clean single-purpose change.
SOP COMPLIANCE
144-add-pal-e-mail-namespace-to-minio-networreferences #144)plan-pal-e-mail)forgejo_admin/pal-e-mail#3)PROCESS OBSERVATIONS
pal-e-mailpods cannot reach MinIO -- no impact on existing traffic.pal-e-mailPhase 2 template mode. Good example of discovered scope tracked properly (issue #144 from plan phase work).VERDICT: APPROVED