47 lines
3.0 KiB
YAML
47 lines
3.0 KiB
YAML
# 05/10/2026: as rotas INTERNAS dos servicos nao ficam na internet. O que a plataforma expoe e o BFF (/bff), o
|
|
# captacao (/api/public/*, /api/cliente, /api/plataforma/painel) e o webhook do Asaas (/api/public/webhooks/asaas).
|
|
# Antes, /api/configuracao, /api/cadastro e /api/financeiro iam direto aos servicos pelo Ingress principal, e o
|
|
# nginx antigo do frontend-spa da plataforma (2.85) repassa TODOS os /api/<contexto> — por isso o bloqueio e aqui,
|
|
# na borda: prefixo mais longo vence o "/" do frontend, e o middleware recusa qualquer origem (403).
|
|
# Quem precisa falar com esses servicos usa o Service interno (CronJobs) ou (scripts de teste).
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: negar-api-interna
|
|
namespace: plataforma-prod
|
|
spec:
|
|
ipAllowList:
|
|
sourceRange: ["127.0.0.1/32"]
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: plataforma-api-fechada
|
|
namespace: plataforma-prod
|
|
annotations:
|
|
traefik.ingress.kubernetes.io/router.middlewares: plataforma-prod-redirect-https@kubernetescrd,plataforma-prod-negar-api-interna@kubernetescrd
|
|
spec:
|
|
ingressClassName: traefik
|
|
tls:
|
|
- hosts: [plataforma.athleticmap.com]
|
|
secretName: plataforma-tls
|
|
rules:
|
|
- host: plataforma.athleticmap.com
|
|
http:
|
|
paths:
|
|
- { path: /api/configuracao, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/cadastro, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/organizacao, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/documentos, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/agenda, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/retencao, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/planejamento, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/campeonato, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/administrativo, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/financeiro, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/saude, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/nutricao, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/assistencia-social, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
|
- { path: /api/pedagogico, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|