From 48668e19108bb6a251a5a66d0438b6da0280e784 Mon Sep 17 00:00:00 2001 From: deploy Date: Sat, 26 Sep 2026 04:05:49 +0000 Subject: [PATCH] =?UTF-8?q?chore(dominio):=20o=20dominio=20antigo=20sai=20?= =?UTF-8?q?de=20tudo=20=E2=80=94=20Ingress,=20realms,=20Garmin,=20ArgoCD?= =?UTF-8?q?=20e=20Grafana?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platform/argocd-ingress.yaml | 4 +- platform/monitoring/application.yaml | 4 +- tenants/acme/30-apps-stubs.yaml | 29 +------ tenants/acme/35-realm-import-cm.yaml | 6 +- tenants/acme/67-runtime-saude.yaml | 4 +- tenants/acme/78-servico-saude.yaml | 4 +- tenants/acme/90-servico-bff.yaml | 2 +- tenants/acme/96-ingress-garmin-public.yaml | 38 +-------- tenants/acme/realm/athleticmap-realm.json | 4 +- tenants/demo/30-apps-stubs.yaml | 29 +------ tenants/demo/35-realm-import-cm.yaml | 6 +- tenants/demo/67-runtime-saude.yaml | 4 +- tenants/demo/78-servico-saude.yaml | 4 +- tenants/demo/90-servico-bff.yaml | 2 +- tenants/demo/96-ingress-garmin-public.yaml | 38 +-------- tenants/demo/realm/athleticmap-realm.json | 4 +- tenants/escolinha/30-apps-stubs.yaml | 29 +------ tenants/escolinha/35-realm-import-cm.yaml | 6 +- tenants/escolinha/67-runtime-saude.yaml | 4 +- tenants/escolinha/78-servico-saude.yaml | 4 +- tenants/escolinha/90-servico-bff.yaml | 2 +- .../escolinha/96-ingress-garmin-public.yaml | 38 +-------- .../escolinha/realm/athleticmap-realm.json | 4 +- tenants/piloto/30-apps-stubs.yaml | 29 +------ tenants/piloto/35-realm-import-cm.yaml | 6 +- tenants/piloto/67-runtime-saude.yaml | 4 +- tenants/piloto/78-servico-saude.yaml | 4 +- tenants/piloto/90-servico-bff.yaml | 2 +- tenants/piloto/96-ingress-garmin-public.yaml | 38 +-------- tenants/piloto/realm/athleticmap-realm.json | 4 +- tenants/plataforma/30-ingress.yaml | 80 +------------------ tenants/plataforma/35-realm-import-cm.yaml | 6 +- .../plataforma/realm/athleticmap-realm.json | 4 +- 33 files changed, 58 insertions(+), 388 deletions(-) diff --git a/platform/argocd-ingress.yaml b/platform/argocd-ingress.yaml index 8a6186e..20e4df4 100644 --- a/platform/argocd-ingress.yaml +++ b/platform/argocd-ingress.yaml @@ -10,10 +10,10 @@ spec: ingressClassName: traefik tls: - hosts: - - argocd.athleticmap.influxdigital.com.br + - argocd.athleticmap.com secretName: argocd-tls rules: - - host: argocd.athleticmap.influxdigital.com.br + - host: argocd.athleticmap.com http: paths: - path: / diff --git a/platform/monitoring/application.yaml b/platform/monitoring/application.yaml index af43a63..f0d6a7e 100644 --- a/platform/monitoring/application.yaml +++ b/platform/monitoring/application.yaml @@ -79,11 +79,11 @@ spec: cert-manager.io/cluster-issuer: letsencrypt-prod traefik.ingress.kubernetes.io/router.middlewares: monitoring-redirect-https@kubernetescrd hosts: - - grafana.athleticmap.influxdigital.com.br + - grafana.athleticmap.com tls: - secretName: grafana-tls hosts: - - grafana.athleticmap.influxdigital.com.br + - grafana.athleticmap.com resources: requests: cpu: 100m diff --git a/tenants/acme/30-apps-stubs.yaml b/tenants/acme/30-apps-stubs.yaml index 0bda606..180f959 100644 --- a/tenants/acme/30-apps-stubs.yaml +++ b/tenants/acme/30-apps-stubs.yaml @@ -46,33 +46,10 @@ spec: ingressClassName: traefik tls: - hosts: - - acme.athleticmap.influxdigital.com.br - acme.athleticmap.com - - auth-acme.athleticmap.influxdigital.com.br - auth-acme.athleticmap.com secretName: acme-tls rules: - - host: acme.athleticmap.influxdigital.com.br - http: - paths: - # P4.6: o nginx da SPA resolve /bff e /api/ por dentro. - # - # Ate 2026-09-22 havia UMA linha por contexto aqui, mais o /bff — catorze - # ao todo. Cada mudanca de topologia obrigava a editar o Ingress de todos - # os tenants; agora quem conhece a topologia interna e o - # `frontend/nginx.conf.template`, que viaja junto com a imagem. - # - # O destino deste /api mudou de `backend` (o legado) para `frontend-spa`. - # **O que o visitante ve NAO muda:** um caminho nao mapeado continua - # recebendo 401 — antes do backend legado, agora do BFF, para onde o - # nginx manda o /api que sobra. A decisao "401 ou 404" segue aberta e - # intacta; isto so tira o legado do caminho do trafego. - # - # ORDEM: `/api/public` e `/api/public/webhooks/asaas` vivem no - # `96-ingress-garmin-public.yaml` e tem prefixo MAIS LONGO, entao vencem - # este — o Traefik ordena por tamanho. Conferido. - - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - host: acme.athleticmap.com http: paths: @@ -94,12 +71,8 @@ spec: # este — o Traefik ordena por tamanho. Conferido. - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - host: auth-acme.athleticmap.influxdigital.com.br - http: - paths: - - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } - - host: auth-acme.athleticmap.com http: paths: - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } + diff --git a/tenants/acme/35-realm-import-cm.yaml b/tenants/acme/35-realm-import-cm.yaml index f0928ce..f186f6c 100644 --- a/tenants/acme/35-realm-import-cm.yaml +++ b/tenants/acme/35-realm-import-cm.yaml @@ -24,11 +24,11 @@ data: "standardFlowEnabled": true, "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, - "redirectUris": ["https://acme.athleticmap.influxdigital.com.br/*", "https://acme.athleticmap.com/*"], - "webOrigins": ["https://acme.athleticmap.influxdigital.com.br", "https://acme.athleticmap.com"], + "redirectUris": ["https://acme.athleticmap.com/*"], + "webOrigins": ["https://acme.athleticmap.com"], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://acme.athleticmap.influxdigital.com.br/*##https://acme.athleticmap.com/*" + "post.logout.redirect.uris": "https://acme.athleticmap.com/*" } } ] diff --git a/tenants/acme/67-runtime-saude.yaml b/tenants/acme/67-runtime-saude.yaml index 2196b26..13ab1e6 100644 --- a/tenants/acme/67-runtime-saude.yaml +++ b/tenants/acme/67-runtime-saude.yaml @@ -44,9 +44,9 @@ spec: - name: ATM_PLANO value: institucional - name: GARMIN_REDIRECT_URI - value: https://acme.athleticmap.influxdigital.com.br/api/public/integrations/garmin/callback + value: https://acme.athleticmap.com/api/public/integrations/garmin/callback - name: GARMIN_FRONTEND_REDIRECT - value: https://acme.athleticmap.influxdigital.com.br/integracoes/garmin + value: https://acme.athleticmap.com/integracoes/garmin - name: GARMIN_CLIENT_ID valueFrom: secretKeyRef: diff --git a/tenants/acme/78-servico-saude.yaml b/tenants/acme/78-servico-saude.yaml index aded21f..0df7dba 100644 --- a/tenants/acme/78-servico-saude.yaml +++ b/tenants/acme/78-servico-saude.yaml @@ -35,8 +35,8 @@ spec: - { name: ATM_TENANT, value: "acme" } # Garmin: DNS devolve IPv6 primeiro e a rota IPv6 do cluster falha; forcar IPv4. - { name: JAVA_TOOL_OPTIONS, value: "-Djava.net.preferIPv4Stack=true" } - - { name: GARMIN_REDIRECT_URI, value: "https://acme.athleticmap.influxdigital.com.br/api/public/integrations/garmin/callback" } - - { name: GARMIN_FRONTEND_REDIRECT, value: "https://acme.athleticmap.influxdigital.com.br/integracoes/garmin" } + - { name: GARMIN_REDIRECT_URI, value: "https://acme.athleticmap.com/api/public/integrations/garmin/callback" } + - { name: GARMIN_FRONTEND_REDIRECT, value: "https://acme.athleticmap.com/integracoes/garmin" } - name: GARMIN_CLIENT_ID valueFrom: secretKeyRef: { name: garmin-oauth, key: GARMIN_CLIENT_ID } diff --git a/tenants/acme/90-servico-bff.yaml b/tenants/acme/90-servico-bff.yaml index 6da01fc..6c85e1d 100644 --- a/tenants/acme/90-servico-bff.yaml +++ b/tenants/acme/90-servico-bff.yaml @@ -43,7 +43,7 @@ spec: valueFrom: { secretKeyRef: { name: consentimento-selo, key: segredo } } - { name: ATM_TENANT, value: "acme" } - { name: ATM_PLANO, value: "institucional" } - - { name: GARMIN_FRONTEND_REDIRECT, value: "https://acme.athleticmap.influxdigital.com.br/integracoes/garmin" } + - { name: GARMIN_FRONTEND_REDIRECT, value: "https://acme.athleticmap.com/integracoes/garmin" } resources: requests: { cpu: 50m, memory: 256Mi } limits: { cpu: 500m, memory: 512Mi } diff --git a/tenants/acme/96-ingress-garmin-public.yaml b/tenants/acme/96-ingress-garmin-public.yaml index 8f7d68e..254e6d2 100644 --- a/tenants/acme/96-ingress-garmin-public.yaml +++ b/tenants/acme/96-ingress-garmin-public.yaml @@ -9,44 +9,9 @@ metadata: spec: ingressClassName: traefik tls: - - hosts: [acme.athleticmap.influxdigital.com.br, acme.athleticmap.com] + - hosts: [acme.athleticmap.com] secretName: acme-tls rules: - - host: acme.athleticmap.influxdigital.com.br - http: - paths: - # O webhook de PAGAMENTO do Asaas, ANTES do /api/public generico. - # - # Aquele manda tudo de /api/public para o `servico-bff`, e o BFF NAO tem - # controlador para esta rota — so o financeiro tem - # (`WebhookAsaasController`). O BFF relaya o Garmin de proposito; o Asaas, - # nao. Sem esta linha o aviso de pagamento morre no BFF, e o sintoma e o - # pior possivel: **a cobranca e paga e nunca baixada**, sem erro do nosso - # lado — o provedor so registra uma entrega recusada. - # - # O Traefik ordena por TAMANHO do prefixo, entao esta (26 caracteres) vence - # `/api/public` (11) sozinha. Fica escrita primeiro mesmo assim, para - # ninguem reordenar sem perceber. - # - # `servico-financeiro` e o Service; num tenant consolidado ele aponta para - # o `runtime-operacao`, que e onde o financeiro roda de verdade. - # - # Quem autentica e o cabecalho `asaas-access-token`, no controlador. - - path: /api/public/webhooks/asaas - pathType: Prefix - backend: - service: - name: servico-financeiro - port: - number: 80 - - path: /api/public - pathType: Prefix - backend: - service: - name: servico-bff - port: - number: 80 - - host: acme.athleticmap.com http: paths: @@ -81,3 +46,4 @@ spec: name: servico-bff port: number: 80 + diff --git a/tenants/acme/realm/athleticmap-realm.json b/tenants/acme/realm/athleticmap-realm.json index 9e48e2c..2839a2a 100644 --- a/tenants/acme/realm/athleticmap-realm.json +++ b/tenants/acme/realm/athleticmap-realm.json @@ -40,16 +40,14 @@ "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, "redirectUris": [ - "https://acme.athleticmap.influxdigital.com.br/*", "https://acme.athleticmap.com/*" ], "webOrigins": [ - "https://acme.athleticmap.influxdigital.com.br", "https://acme.athleticmap.com" ], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://acme.athleticmap.influxdigital.com.br/*##https://acme.athleticmap.com/*" + "post.logout.redirect.uris": "https://acme.athleticmap.com/*" } } ] diff --git a/tenants/demo/30-apps-stubs.yaml b/tenants/demo/30-apps-stubs.yaml index 7f6de79..a193ed2 100644 --- a/tenants/demo/30-apps-stubs.yaml +++ b/tenants/demo/30-apps-stubs.yaml @@ -46,33 +46,10 @@ spec: ingressClassName: traefik tls: - hosts: - - demo.athleticmap.influxdigital.com.br - demo.athleticmap.com - - auth-demo.athleticmap.influxdigital.com.br - auth-demo.athleticmap.com secretName: demo-tls rules: - - host: demo.athleticmap.influxdigital.com.br - http: - paths: - # P4.6: o nginx da SPA resolve /bff e /api/ por dentro. - # - # Ate 2026-09-22 havia UMA linha por contexto aqui, mais o /bff — catorze - # ao todo. Cada mudanca de topologia obrigava a editar o Ingress de todos - # os tenants; agora quem conhece a topologia interna e o - # `frontend/nginx.conf.template`, que viaja junto com a imagem. - # - # O destino deste /api mudou de `backend` (o legado) para `frontend-spa`. - # **O que o visitante ve NAO muda:** um caminho nao mapeado continua - # recebendo 401 — antes do backend legado, agora do BFF, para onde o - # nginx manda o /api que sobra. A decisao "401 ou 404" segue aberta e - # intacta; isto so tira o legado do caminho do trafego. - # - # ORDEM: `/api/public` e `/api/public/webhooks/asaas` vivem no - # `96-ingress-garmin-public.yaml` e tem prefixo MAIS LONGO, entao vencem - # este — o Traefik ordena por tamanho. Conferido. - - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - host: demo.athleticmap.com http: paths: @@ -94,12 +71,8 @@ spec: # este — o Traefik ordena por tamanho. Conferido. - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - host: auth-demo.athleticmap.influxdigital.com.br - http: - paths: - - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } - - host: auth-demo.athleticmap.com http: paths: - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } + diff --git a/tenants/demo/35-realm-import-cm.yaml b/tenants/demo/35-realm-import-cm.yaml index 34224dc..d8f6de9 100644 --- a/tenants/demo/35-realm-import-cm.yaml +++ b/tenants/demo/35-realm-import-cm.yaml @@ -24,11 +24,11 @@ data: "standardFlowEnabled": true, "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, - "redirectUris": ["https://demo.athleticmap.influxdigital.com.br/*", "https://demo.athleticmap.com/*"], - "webOrigins": ["https://demo.athleticmap.influxdigital.com.br", "https://demo.athleticmap.com"], + "redirectUris": ["https://demo.athleticmap.com/*"], + "webOrigins": ["https://demo.athleticmap.com"], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://demo.athleticmap.influxdigital.com.br/*##https://demo.athleticmap.com/*" + "post.logout.redirect.uris": "https://demo.athleticmap.com/*" } } ] diff --git a/tenants/demo/67-runtime-saude.yaml b/tenants/demo/67-runtime-saude.yaml index 62e4bdd..87ceee4 100644 --- a/tenants/demo/67-runtime-saude.yaml +++ b/tenants/demo/67-runtime-saude.yaml @@ -44,9 +44,9 @@ spec: - name: ATM_PLANO value: institucional - name: GARMIN_REDIRECT_URI - value: https://demo.athleticmap.influxdigital.com.br/api/public/integrations/garmin/callback + value: https://demo.athleticmap.com/api/public/integrations/garmin/callback - name: GARMIN_FRONTEND_REDIRECT - value: https://demo.athleticmap.influxdigital.com.br/integracoes/garmin + value: https://demo.athleticmap.com/integracoes/garmin - name: GARMIN_CLIENT_ID valueFrom: secretKeyRef: diff --git a/tenants/demo/78-servico-saude.yaml b/tenants/demo/78-servico-saude.yaml index 17ba336..ab8e6bf 100644 --- a/tenants/demo/78-servico-saude.yaml +++ b/tenants/demo/78-servico-saude.yaml @@ -35,8 +35,8 @@ spec: - { name: ATM_TENANT, value: "demo" } # Garmin: DNS devolve IPv6 primeiro e a rota IPv6 do cluster falha; forcar IPv4. - { name: JAVA_TOOL_OPTIONS, value: "-Djava.net.preferIPv4Stack=true" } - - { name: GARMIN_REDIRECT_URI, value: "https://demo.athleticmap.influxdigital.com.br/api/public/integrations/garmin/callback" } - - { name: GARMIN_FRONTEND_REDIRECT, value: "https://demo.athleticmap.influxdigital.com.br/integracoes/garmin" } + - { name: GARMIN_REDIRECT_URI, value: "https://demo.athleticmap.com/api/public/integrations/garmin/callback" } + - { name: GARMIN_FRONTEND_REDIRECT, value: "https://demo.athleticmap.com/integracoes/garmin" } - name: GARMIN_CLIENT_ID valueFrom: secretKeyRef: { name: garmin-oauth, key: GARMIN_CLIENT_ID } diff --git a/tenants/demo/90-servico-bff.yaml b/tenants/demo/90-servico-bff.yaml index cceea93..9a1ed9a 100644 --- a/tenants/demo/90-servico-bff.yaml +++ b/tenants/demo/90-servico-bff.yaml @@ -43,7 +43,7 @@ spec: valueFrom: { secretKeyRef: { name: consentimento-selo, key: segredo } } - { name: ATM_TENANT, value: "demo" } - { name: ATM_PLANO, value: "institucional" } - - { name: GARMIN_FRONTEND_REDIRECT, value: "https://demo.athleticmap.influxdigital.com.br/integracoes/garmin" } + - { name: GARMIN_FRONTEND_REDIRECT, value: "https://demo.athleticmap.com/integracoes/garmin" } resources: requests: { cpu: 50m, memory: 256Mi } limits: { cpu: 500m, memory: 512Mi } diff --git a/tenants/demo/96-ingress-garmin-public.yaml b/tenants/demo/96-ingress-garmin-public.yaml index 0429f8f..a695e12 100644 --- a/tenants/demo/96-ingress-garmin-public.yaml +++ b/tenants/demo/96-ingress-garmin-public.yaml @@ -9,44 +9,9 @@ metadata: spec: ingressClassName: traefik tls: - - hosts: [demo.athleticmap.influxdigital.com.br, demo.athleticmap.com] + - hosts: [demo.athleticmap.com] secretName: demo-tls rules: - - host: demo.athleticmap.influxdigital.com.br - http: - paths: - # O webhook de PAGAMENTO do Asaas, ANTES do /api/public generico. - # - # Aquele manda tudo de /api/public para o `servico-bff`, e o BFF NAO tem - # controlador para esta rota — so o financeiro tem - # (`WebhookAsaasController`). O BFF relaya o Garmin de proposito; o Asaas, - # nao. Sem esta linha o aviso de pagamento morre no BFF, e o sintoma e o - # pior possivel: **a cobranca e paga e nunca baixada**, sem erro do nosso - # lado — o provedor so registra uma entrega recusada. - # - # O Traefik ordena por TAMANHO do prefixo, entao esta (26 caracteres) vence - # `/api/public` (11) sozinha. Fica escrita primeiro mesmo assim, para - # ninguem reordenar sem perceber. - # - # `servico-financeiro` e o Service; num tenant consolidado ele aponta para - # o `runtime-operacao`, que e onde o financeiro roda de verdade. - # - # Quem autentica e o cabecalho `asaas-access-token`, no controlador. - - path: /api/public/webhooks/asaas - pathType: Prefix - backend: - service: - name: servico-financeiro - port: - number: 80 - - path: /api/public - pathType: Prefix - backend: - service: - name: servico-bff - port: - number: 80 - - host: demo.athleticmap.com http: paths: @@ -81,3 +46,4 @@ spec: name: servico-bff port: number: 80 + diff --git a/tenants/demo/realm/athleticmap-realm.json b/tenants/demo/realm/athleticmap-realm.json index c7cc756..dce7893 100644 --- a/tenants/demo/realm/athleticmap-realm.json +++ b/tenants/demo/realm/athleticmap-realm.json @@ -40,16 +40,14 @@ "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, "redirectUris": [ - "https://demo.athleticmap.influxdigital.com.br/*", "https://demo.athleticmap.com/*" ], "webOrigins": [ - "https://demo.athleticmap.influxdigital.com.br", "https://demo.athleticmap.com" ], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://demo.athleticmap.influxdigital.com.br/*##https://demo.athleticmap.com/*" + "post.logout.redirect.uris": "https://demo.athleticmap.com/*" } } ] diff --git a/tenants/escolinha/30-apps-stubs.yaml b/tenants/escolinha/30-apps-stubs.yaml index 4cf5a56..2f56d54 100644 --- a/tenants/escolinha/30-apps-stubs.yaml +++ b/tenants/escolinha/30-apps-stubs.yaml @@ -46,33 +46,10 @@ spec: ingressClassName: traefik tls: - hosts: - - escolinha.athleticmap.influxdigital.com.br - escolinha.athleticmap.com - - auth-escolinha.athleticmap.influxdigital.com.br - auth-escolinha.athleticmap.com secretName: escolinha-tls rules: - - host: escolinha.athleticmap.influxdigital.com.br - http: - paths: - # P4.6: o nginx da SPA resolve /bff e /api/ por dentro. - # - # Ate 2026-09-22 havia UMA linha por contexto aqui, mais o /bff — catorze - # ao todo. Cada mudanca de topologia obrigava a editar o Ingress de todos - # os tenants; agora quem conhece a topologia interna e o - # `frontend/nginx.conf.template`, que viaja junto com a imagem. - # - # O destino deste /api mudou de `backend` (o legado) para `frontend-spa`. - # **O que o visitante ve NAO muda:** um caminho nao mapeado continua - # recebendo 401 — antes do backend legado, agora do BFF, para onde o - # nginx manda o /api que sobra. A decisao "401 ou 404" segue aberta e - # intacta; isto so tira o legado do caminho do trafego. - # - # ORDEM: `/api/public` e `/api/public/webhooks/asaas` vivem no - # `96-ingress-garmin-public.yaml` e tem prefixo MAIS LONGO, entao vencem - # este — o Traefik ordena por tamanho. Conferido. - - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - host: escolinha.athleticmap.com http: paths: @@ -94,12 +71,8 @@ spec: # este — o Traefik ordena por tamanho. Conferido. - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - host: auth-escolinha.athleticmap.influxdigital.com.br - http: - paths: - - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } - - host: auth-escolinha.athleticmap.com http: paths: - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } + diff --git a/tenants/escolinha/35-realm-import-cm.yaml b/tenants/escolinha/35-realm-import-cm.yaml index 373ef85..9636428 100644 --- a/tenants/escolinha/35-realm-import-cm.yaml +++ b/tenants/escolinha/35-realm-import-cm.yaml @@ -41,11 +41,11 @@ data: "standardFlowEnabled": true, "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, - "redirectUris": ["https://escolinha.athleticmap.influxdigital.com.br/*", "https://escolinha.athleticmap.com/*"], - "webOrigins": ["https://escolinha.athleticmap.influxdigital.com.br", "https://escolinha.athleticmap.com"], + "redirectUris": ["https://escolinha.athleticmap.com/*"], + "webOrigins": ["https://escolinha.athleticmap.com"], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://escolinha.athleticmap.influxdigital.com.br/*##https://escolinha.athleticmap.com/*" + "post.logout.redirect.uris": "https://escolinha.athleticmap.com/*" } } ] diff --git a/tenants/escolinha/67-runtime-saude.yaml b/tenants/escolinha/67-runtime-saude.yaml index acfc348..f3bb160 100644 --- a/tenants/escolinha/67-runtime-saude.yaml +++ b/tenants/escolinha/67-runtime-saude.yaml @@ -42,9 +42,9 @@ spec: - name: ATM_TENANT value: escolinha - name: GARMIN_REDIRECT_URI - value: https://escolinha.athleticmap.influxdigital.com.br/api/public/integrations/garmin/callback + value: https://escolinha.athleticmap.com/api/public/integrations/garmin/callback - name: GARMIN_FRONTEND_REDIRECT - value: https://escolinha.athleticmap.influxdigital.com.br/integracoes/garmin + value: https://escolinha.athleticmap.com/integracoes/garmin - name: GARMIN_CLIENT_ID valueFrom: secretKeyRef: diff --git a/tenants/escolinha/78-servico-saude.yaml b/tenants/escolinha/78-servico-saude.yaml index c631219..02e87e7 100644 --- a/tenants/escolinha/78-servico-saude.yaml +++ b/tenants/escolinha/78-servico-saude.yaml @@ -35,8 +35,8 @@ spec: - { name: ATM_TENANT, value: "escolinha" } # Garmin: DNS devolve IPv6 primeiro e a rota IPv6 do cluster falha; forcar IPv4. - { name: JAVA_TOOL_OPTIONS, value: "-Djava.net.preferIPv4Stack=true" } - - { name: GARMIN_REDIRECT_URI, value: "https://escolinha.athleticmap.influxdigital.com.br/api/public/integrations/garmin/callback" } - - { name: GARMIN_FRONTEND_REDIRECT, value: "https://escolinha.athleticmap.influxdigital.com.br/integracoes/garmin" } + - { name: GARMIN_REDIRECT_URI, value: "https://escolinha.athleticmap.com/api/public/integrations/garmin/callback" } + - { name: GARMIN_FRONTEND_REDIRECT, value: "https://escolinha.athleticmap.com/integracoes/garmin" } - name: GARMIN_CLIENT_ID valueFrom: secretKeyRef: { name: garmin-oauth, key: GARMIN_CLIENT_ID } diff --git a/tenants/escolinha/90-servico-bff.yaml b/tenants/escolinha/90-servico-bff.yaml index a5a71e9..3530057 100644 --- a/tenants/escolinha/90-servico-bff.yaml +++ b/tenants/escolinha/90-servico-bff.yaml @@ -43,7 +43,7 @@ spec: valueFrom: { secretKeyRef: { name: consentimento-selo, key: segredo } } - { name: ATM_TENANT, value: "escolinha" } - { name: ATM_PLANO, value: "institucional" } - - { name: GARMIN_FRONTEND_REDIRECT, value: "https://escolinha.athleticmap.influxdigital.com.br/integracoes/garmin" } + - { name: GARMIN_FRONTEND_REDIRECT, value: "https://escolinha.athleticmap.com/integracoes/garmin" } resources: requests: { cpu: 50m, memory: 256Mi } limits: { cpu: 500m, memory: 512Mi } diff --git a/tenants/escolinha/96-ingress-garmin-public.yaml b/tenants/escolinha/96-ingress-garmin-public.yaml index 1ae7664..07d6eb6 100644 --- a/tenants/escolinha/96-ingress-garmin-public.yaml +++ b/tenants/escolinha/96-ingress-garmin-public.yaml @@ -9,44 +9,9 @@ metadata: spec: ingressClassName: traefik tls: - - hosts: [escolinha.athleticmap.influxdigital.com.br, escolinha.athleticmap.com] + - hosts: [escolinha.athleticmap.com] secretName: escolinha-tls rules: - - host: escolinha.athleticmap.influxdigital.com.br - http: - paths: - # O webhook de PAGAMENTO do Asaas, ANTES do /api/public generico. - # - # Aquele manda tudo de /api/public para o `servico-bff`, e o BFF NAO tem - # controlador para esta rota — so o financeiro tem - # (`WebhookAsaasController`). O BFF relaya o Garmin de proposito; o Asaas, - # nao. Sem esta linha o aviso de pagamento morre no BFF, e o sintoma e o - # pior possivel: **a cobranca e paga e nunca baixada**, sem erro do nosso - # lado — o provedor so registra uma entrega recusada. - # - # O Traefik ordena por TAMANHO do prefixo, entao esta (26 caracteres) vence - # `/api/public` (11) sozinha. Fica escrita primeiro mesmo assim, para - # ninguem reordenar sem perceber. - # - # `servico-financeiro` e o Service; num tenant consolidado ele aponta para - # o `runtime-operacao`, que e onde o financeiro roda de verdade. - # - # Quem autentica e o cabecalho `asaas-access-token`, no controlador. - - path: /api/public/webhooks/asaas - pathType: Prefix - backend: - service: - name: servico-financeiro - port: - number: 80 - - path: /api/public - pathType: Prefix - backend: - service: - name: servico-bff - port: - number: 80 - - host: escolinha.athleticmap.com http: paths: @@ -81,3 +46,4 @@ spec: name: servico-bff port: number: 80 + diff --git a/tenants/escolinha/realm/athleticmap-realm.json b/tenants/escolinha/realm/athleticmap-realm.json index ac51667..80bddf6 100644 --- a/tenants/escolinha/realm/athleticmap-realm.json +++ b/tenants/escolinha/realm/athleticmap-realm.json @@ -40,16 +40,14 @@ "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, "redirectUris": [ - "https://escolinha.athleticmap.influxdigital.com.br/*", "https://escolinha.athleticmap.com/*" ], "webOrigins": [ - "https://escolinha.athleticmap.influxdigital.com.br", "https://escolinha.athleticmap.com" ], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://escolinha.athleticmap.influxdigital.com.br/*##https://escolinha.athleticmap.com/*" + "post.logout.redirect.uris": "https://escolinha.athleticmap.com/*" } } ] diff --git a/tenants/piloto/30-apps-stubs.yaml b/tenants/piloto/30-apps-stubs.yaml index 83edaaf..9ee618c 100644 --- a/tenants/piloto/30-apps-stubs.yaml +++ b/tenants/piloto/30-apps-stubs.yaml @@ -46,33 +46,10 @@ spec: ingressClassName: traefik tls: - hosts: - - piloto.athleticmap.influxdigital.com.br - piloto.athleticmap.com - - auth-piloto.athleticmap.influxdigital.com.br - auth-piloto.athleticmap.com secretName: piloto-tls rules: - - host: piloto.athleticmap.influxdigital.com.br - http: - paths: - # P4.6: o nginx da SPA resolve /bff e /api/ por dentro. - # - # Ate 2026-09-22 havia UMA linha por contexto aqui, mais o /bff — catorze - # ao todo. Cada mudanca de topologia obrigava a editar o Ingress de todos - # os tenants; agora quem conhece a topologia interna e o - # `frontend/nginx.conf.template`, que viaja junto com a imagem. - # - # O destino deste /api mudou de `backend` (o legado) para `frontend-spa`. - # **O que o visitante ve NAO muda:** um caminho nao mapeado continua - # recebendo 401 — antes do backend legado, agora do BFF, para onde o - # nginx manda o /api que sobra. A decisao "401 ou 404" segue aberta e - # intacta; isto so tira o legado do caminho do trafego. - # - # ORDEM: `/api/public` e `/api/public/webhooks/asaas` vivem no - # `96-ingress-garmin-public.yaml` e tem prefixo MAIS LONGO, entao vencem - # este — o Traefik ordena por tamanho. Conferido. - - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - host: piloto.athleticmap.com http: paths: @@ -94,12 +71,8 @@ spec: # este — o Traefik ordena por tamanho. Conferido. - { path: /api, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - host: auth-piloto.athleticmap.influxdigital.com.br - http: - paths: - - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } - - host: auth-piloto.athleticmap.com http: paths: - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } + diff --git a/tenants/piloto/35-realm-import-cm.yaml b/tenants/piloto/35-realm-import-cm.yaml index 761e1fe..6b624e7 100644 --- a/tenants/piloto/35-realm-import-cm.yaml +++ b/tenants/piloto/35-realm-import-cm.yaml @@ -24,11 +24,11 @@ data: "standardFlowEnabled": true, "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, - "redirectUris": ["https://piloto.athleticmap.influxdigital.com.br/*", "https://piloto.athleticmap.com/*"], - "webOrigins": ["https://piloto.athleticmap.influxdigital.com.br", "https://piloto.athleticmap.com"], + "redirectUris": ["https://piloto.athleticmap.com/*"], + "webOrigins": ["https://piloto.athleticmap.com"], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://piloto.athleticmap.influxdigital.com.br/*##https://piloto.athleticmap.com/*" + "post.logout.redirect.uris": "https://piloto.athleticmap.com/*" } } ] diff --git a/tenants/piloto/67-runtime-saude.yaml b/tenants/piloto/67-runtime-saude.yaml index 9f0b20e..14ae79a 100644 --- a/tenants/piloto/67-runtime-saude.yaml +++ b/tenants/piloto/67-runtime-saude.yaml @@ -44,9 +44,9 @@ spec: - name: ATM_PLANO value: institucional - name: GARMIN_REDIRECT_URI - value: https://piloto.athleticmap.influxdigital.com.br/api/public/integrations/garmin/callback + value: https://piloto.athleticmap.com/api/public/integrations/garmin/callback - name: GARMIN_FRONTEND_REDIRECT - value: https://piloto.athleticmap.influxdigital.com.br/integracoes/garmin + value: https://piloto.athleticmap.com/integracoes/garmin - name: GARMIN_CLIENT_ID valueFrom: secretKeyRef: diff --git a/tenants/piloto/78-servico-saude.yaml b/tenants/piloto/78-servico-saude.yaml index c8c06cb..037abb7 100644 --- a/tenants/piloto/78-servico-saude.yaml +++ b/tenants/piloto/78-servico-saude.yaml @@ -35,8 +35,8 @@ spec: - { name: ATM_TENANT, value: "piloto" } # Garmin: DNS devolve IPv6 primeiro e a rota IPv6 do cluster falha; forcar IPv4. - { name: JAVA_TOOL_OPTIONS, value: "-Djava.net.preferIPv4Stack=true" } - - { name: GARMIN_REDIRECT_URI, value: "https://piloto.athleticmap.influxdigital.com.br/api/public/integrations/garmin/callback" } - - { name: GARMIN_FRONTEND_REDIRECT, value: "https://piloto.athleticmap.influxdigital.com.br/integracoes/garmin" } + - { name: GARMIN_REDIRECT_URI, value: "https://piloto.athleticmap.com/api/public/integrations/garmin/callback" } + - { name: GARMIN_FRONTEND_REDIRECT, value: "https://piloto.athleticmap.com/integracoes/garmin" } - name: GARMIN_CLIENT_ID valueFrom: secretKeyRef: { name: garmin-oauth, key: GARMIN_CLIENT_ID } diff --git a/tenants/piloto/90-servico-bff.yaml b/tenants/piloto/90-servico-bff.yaml index a07cca6..eee5502 100644 --- a/tenants/piloto/90-servico-bff.yaml +++ b/tenants/piloto/90-servico-bff.yaml @@ -43,7 +43,7 @@ spec: valueFrom: { secretKeyRef: { name: consentimento-selo, key: segredo } } - { name: ATM_TENANT, value: "piloto" } - { name: ATM_PLANO, value: "institucional" } - - { name: GARMIN_FRONTEND_REDIRECT, value: "https://piloto.athleticmap.influxdigital.com.br/integracoes/garmin" } + - { name: GARMIN_FRONTEND_REDIRECT, value: "https://piloto.athleticmap.com/integracoes/garmin" } resources: requests: { cpu: 50m, memory: 256Mi } limits: { cpu: 500m, memory: 512Mi } diff --git a/tenants/piloto/96-ingress-garmin-public.yaml b/tenants/piloto/96-ingress-garmin-public.yaml index b4ee680..ac28a9e 100644 --- a/tenants/piloto/96-ingress-garmin-public.yaml +++ b/tenants/piloto/96-ingress-garmin-public.yaml @@ -9,44 +9,9 @@ metadata: spec: ingressClassName: traefik tls: - - hosts: [piloto.athleticmap.influxdigital.com.br, piloto.athleticmap.com] + - hosts: [piloto.athleticmap.com] secretName: piloto-tls rules: - - host: piloto.athleticmap.influxdigital.com.br - http: - paths: - # O webhook de PAGAMENTO do Asaas, ANTES do /api/public generico. - # - # Aquele manda tudo de /api/public para o `servico-bff`, e o BFF NAO tem - # controlador para esta rota — so o financeiro tem - # (`WebhookAsaasController`). O BFF relaya o Garmin de proposito; o Asaas, - # nao. Sem esta linha o aviso de pagamento morre no BFF, e o sintoma e o - # pior possivel: **a cobranca e paga e nunca baixada**, sem erro do nosso - # lado — o provedor so registra uma entrega recusada. - # - # O Traefik ordena por TAMANHO do prefixo, entao esta (26 caracteres) vence - # `/api/public` (11) sozinha. Fica escrita primeiro mesmo assim, para - # ninguem reordenar sem perceber. - # - # `servico-financeiro` e o Service; num tenant consolidado ele aponta para - # o `runtime-operacao`, que e onde o financeiro roda de verdade. - # - # Quem autentica e o cabecalho `asaas-access-token`, no controlador. - - path: /api/public/webhooks/asaas - pathType: Prefix - backend: - service: - name: servico-financeiro - port: - number: 80 - - path: /api/public - pathType: Prefix - backend: - service: - name: servico-bff - port: - number: 80 - - host: piloto.athleticmap.com http: paths: @@ -81,3 +46,4 @@ spec: name: servico-bff port: number: 80 + diff --git a/tenants/piloto/realm/athleticmap-realm.json b/tenants/piloto/realm/athleticmap-realm.json index 5813477..187128e 100644 --- a/tenants/piloto/realm/athleticmap-realm.json +++ b/tenants/piloto/realm/athleticmap-realm.json @@ -40,16 +40,14 @@ "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, "redirectUris": [ - "https://piloto.athleticmap.influxdigital.com.br/*", "https://piloto.athleticmap.com/*" ], "webOrigins": [ - "https://piloto.athleticmap.influxdigital.com.br", "https://piloto.athleticmap.com" ], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://piloto.athleticmap.influxdigital.com.br/*##https://piloto.athleticmap.com/*" + "post.logout.redirect.uris": "https://piloto.athleticmap.com/*" } } ] diff --git a/tenants/plataforma/30-ingress.yaml b/tenants/plataforma/30-ingress.yaml index 7f1d529..0ec36d6 100644 --- a/tenants/plataforma/30-ingress.yaml +++ b/tenants/plataforma/30-ingress.yaml @@ -29,7 +29,7 @@ # - cert-manager usa desafio HTTP-01, entao sem o host resolvindo para o # cluster o certificado nao e emitido, e sem certificado nao ha login. # -# Ja `*.athleticmap.influxdigital.com.br` e wildcard para o cluster (conferido: +# Ja `*.athleticmap.com` e wildcard para o cluster (conferido: # ate um subdominio inventado resolve para 187.77.37.184). Entao este tenant # sobe hoje e atravessa o corte de dominio junto com os demais, no passo 5 do # `docs/p09-plano-de-corte-dominio.md` — e nao numa migracao propria. @@ -60,85 +60,12 @@ spec: ingressClassName: traefik tls: - hosts: - - plataforma.athleticmap.influxdigital.com.br - plataforma.athleticmap.com - - auth-plataforma.athleticmap.influxdigital.com.br - auth-plataforma.athleticmap.com # O host de autenticacao DOS TENANTS. Ver a regra la embaixo. - auth.athleticmap.com secretName: plataforma-tls rules: - - host: plataforma.athleticmap.influxdigital.com.br - http: - paths: - # PUBLICA — sem token, por desenho. Vem primeiro porque o Traefik - # ordena por tamanho do prefixo, mas deixar explicito evita que alguem - # reordene sem perceber. - - { path: /api/public/leads, pathType: Prefix, backend: { service: { name: servico-captacao, port: { number: 80 } } } } - # A CONTRATACAO pela landing page: escolher o plano e receber o link - # por e-mail. Prefixo cobre tambem `/contratacoes/planos`, que a - # pagina le para mostrar o MESMO preco que o checkout vai cobrar. - # - # Aqui nao ha catch-all: caminho que nao esta escrito nao existe. Foi - # por isso que o endpoint respondeu vazio quando a imagem ja estava no - # ar — o servico tinha a rota e o Ingress nao. - - { path: /api/public/contratacoes, pathType: Prefix, backend: { service: { name: servico-captacao, port: { number: 80 } } } } - - # PUBLICA — a tela de espera depois do pagamento (P5.8). Quem acabou de - # pagar AINDA NAO TEM CONTA, logo nao tem token: se esta rota exigisse - # um, a tela que existe para tranquilizar quem pagou seria a primeira a - # recusa-lo. - # - # O que ela entrega e deliberadamente pouco: se a conta ficou pronta e - # o endereco do tenant. Nem nome, nem e-mail, nem plano, nem realm — o - # id da assinatura na URL e a unica "credencial" da tela, e ha teste - # guardando esse limite. Acrescentar um campo aqui e acrescentar o que - # um link vazado entrega. - # - # Estava PREPARADA e nao publicada desde 2026-09-19: o controlador - # existe (`EstadoDaContaController`) e a cadeia ja a liberava - # (`SecurityConfig`, permitAll), mas sem esta linha o Ingress devolvia - # 404 — nao ha catch-all aqui, por desenho. - - { path: /api/public/conta, pathType: Prefix, backend: { service: { name: servico-captacao, port: { number: 80 } } } } - - # O PAINEL DO COMPRADOR e o PAINEL DO DONO. Sem estas duas linhas as - # chamadas caiam no `/` do front, que as repassava a OUTRO servico — o - # 401 que voltava parecia o validador de JWT do captacao funcionando, e - # era de outro lugar (2026-09-25). A seguranca de cada uma esta no - # captacao: JWT do realm `clientes` numa, token de admin na outra. - - { path: /api/cliente, pathType: Prefix, backend: { service: { name: servico-captacao, port: { number: 80 } } } } - - { path: /api/plataforma/painel, pathType: Prefix, backend: { service: { name: servico-captacao, port: { number: 80 } } } } - - # PUBLICA — o aviso de ASSINATURA do Asaas (P5.1), que e outra coisa do - # `/api/public/webhooks/asaas` logo abaixo: aquele avisa que uma COBRANCA - # de cliente foi paga e vai para o financeiro do tenant; este avisa que - # alguem assinou a Athletic Map, e e o que dispara o provisionamento de - # um tenant NOVO. Contas diferentes no Asaas, servicos diferentes aqui. - # - # Chega da internet sem token nosso; quem autentica e o - # `PLATAFORMA_WEBHOOK_TOKEN`, conferido no `WebhookDeAssinatura`. Sem o - # segredo selado, o endpoint RECUSA tudo de proposito, e o log diz isso. - # - # Sem esta linha o Ingress devolvia 404: alguem assinaria, pagaria, e - # nenhum tenant seria criado — sem erro em lugar nenhum do nosso lado. - - { path: /api/public/webhooks/assinatura, pathType: Prefix, backend: { service: { name: servico-captacao, port: { number: 80 } } } } - - { path: /api/public/webhooks/subconta, pathType: Prefix, backend: { service: { name: servico-captacao, port: { number: 80 } } } } - - # PUBLICA — o aviso de pagamento do Asaas, que chega da internet sem - # token nenhum (P3.3). NAO casa com /api/financeiro: o controlador - # atende em /api/public/webhooks/asaas, e como aqui nao ha catch-all, - # a ausencia desta linha daria 404 em todo aviso — a cobranca seria - # paga e nunca baixada. Quem autentica e o cabecalho - # `asaas-access-token`, conferido no WebhookAsaasController. - - { path: /api/public/webhooks/asaas, pathType: Prefix, backend: { service: { name: servico-financeiro, port: { number: 80 } } } } - - # O resto exige token, como em qualquer tenant. - - { path: /api/configuracao, pathType: Prefix, backend: { service: { name: servico-configuracao, port: { number: 80 } } } } - - { path: /api/cadastro, pathType: Prefix, backend: { service: { name: servico-cadastro, port: { number: 80 } } } } - - { path: /api/financeiro, pathType: Prefix, backend: { service: { name: servico-financeiro, port: { number: 80 } } } } - - { path: /bff, pathType: Prefix, backend: { service: { name: servico-bff, port: { number: 80 } } } } - - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - host: plataforma.athleticmap.com http: paths: @@ -210,15 +137,12 @@ spec: - { path: /bff, pathType: Prefix, backend: { service: { name: servico-bff, port: { number: 80 } } } } - { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } } - - host: auth-plataforma.athleticmap.influxdigital.com.br - http: - paths: - - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } - host: auth-plataforma.athleticmap.com http: paths: - { path: /, pathType: Prefix, backend: { service: { name: keycloak, port: { number: 8080 } } } } + # O HOST DE AUTENTICACAO DOS TENANTS. # # O mesmo Keycloak, outro nome. O molde do tenant ja apontava para ca — a diff --git a/tenants/plataforma/35-realm-import-cm.yaml b/tenants/plataforma/35-realm-import-cm.yaml index 8c8ef1d..df8b968 100644 --- a/tenants/plataforma/35-realm-import-cm.yaml +++ b/tenants/plataforma/35-realm-import-cm.yaml @@ -28,11 +28,11 @@ data: "standardFlowEnabled": true, "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, - "redirectUris": ["https://plataforma.athleticmap.influxdigital.com.br/*", "https://plataforma.athleticmap.com/*"], - "webOrigins": ["https://plataforma.athleticmap.influxdigital.com.br", "https://plataforma.athleticmap.com"], + "redirectUris": ["https://plataforma.athleticmap.com/*"], + "webOrigins": ["https://plataforma.athleticmap.com"], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://plataforma.athleticmap.influxdigital.com.br/*##https://plataforma.athleticmap.com/*" + "post.logout.redirect.uris": "https://plataforma.athleticmap.com/*" } } ] diff --git a/tenants/plataforma/realm/athleticmap-realm.json b/tenants/plataforma/realm/athleticmap-realm.json index 24ff071..72d77bc 100644 --- a/tenants/plataforma/realm/athleticmap-realm.json +++ b/tenants/plataforma/realm/athleticmap-realm.json @@ -44,16 +44,14 @@ "implicitFlowEnabled": false, "directAccessGrantsEnabled": false, "redirectUris": [ - "https://plataforma.athleticmap.influxdigital.com.br/*", "https://plataforma.athleticmap.com/*" ], "webOrigins": [ - "https://plataforma.athleticmap.influxdigital.com.br", "https://plataforma.athleticmap.com" ], "attributes": { "pkce.code.challenge.method": "S256", - "post.logout.redirect.uris": "https://plataforma.athleticmap.influxdigital.com.br/*##https://plataforma.athleticmap.com/*" + "post.logout.redirect.uris": "https://plataforma.athleticmap.com/*" }, "protocolMappers": [ {