From ccd98c252cf56ceeadb4604e1b1668f9db364b76 Mon Sep 17 00:00:00 2001 From: deploy Date: Tue, 22 Sep 2026 12:25:30 +0000 Subject: [PATCH] feat(escolinha): runtimes consolidados ao lado dos servicos (P4.3-P4.9) --- .../escolinha/00-namespace-quota-netpol.yaml | 2 +- .../07-sealed-consentimento-selo.yaml | 15 +++ tenants/escolinha/65-runtime-core.yaml | 90 +++++++++++++++++ tenants/escolinha/66-runtime-operacao.yaml | 88 +++++++++++++++++ tenants/escolinha/67-runtime-saude.yaml | 99 +++++++++++++++++++ 5 files changed, 293 insertions(+), 1 deletion(-) create mode 100644 tenants/escolinha/07-sealed-consentimento-selo.yaml create mode 100644 tenants/escolinha/65-runtime-core.yaml create mode 100644 tenants/escolinha/66-runtime-operacao.yaml create mode 100644 tenants/escolinha/67-runtime-saude.yaml diff --git a/tenants/escolinha/00-namespace-quota-netpol.yaml b/tenants/escolinha/00-namespace-quota-netpol.yaml index 7b30e8d..d4fc715 100644 --- a/tenants/escolinha/00-namespace-quota-netpol.yaml +++ b/tenants/escolinha/00-namespace-quota-netpol.yaml @@ -16,7 +16,7 @@ metadata: spec: hard: requests.cpu: "4" - requests.memory: 6Gi + requests.memory: 7Gi limits.cpu: "20" limits.memory: 16Gi pods: "30" diff --git a/tenants/escolinha/07-sealed-consentimento-selo.yaml b/tenants/escolinha/07-sealed-consentimento-selo.yaml new file mode 100644 index 0000000..41d3593 --- /dev/null +++ b/tenants/escolinha/07-sealed-consentimento-selo.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: consentimento-selo + namespace: escolinha-prod +spec: + encryptedData: + segredo: AgAd4Gp1R3giUEN5ODFedUJ9QjU6sPj2F/rIW9Atz2bnzxFJQyM0QoB/U1fRurZkAgJLQ4ptVstFEVKxVe34hPwVNwZm06JHThWwDz1d1WyNOKqqf1QQeXgxOpgXbjtuXrSm/InccurKohNHRLyVPQ+damJYhxno1aj3Utu860hwb94TvDR2AaWXBVqPeWDwt47+G1W9qYu5roQO75kQQcvkQiuNjkcLyUEDKaRnL5bGf4rqnUJAw5/TZeObqix/efGsLYSFt8hhBg6fkseRQ6ifob4rauNs0tA+gaF+JUHuxyNZ6Pg6iSEDwZOSl87IcfG/0jcdxwNyQqCX4SC5Qr54BRZlec8WcnLc+q2kGhMYE07EutB2pWZYspKJcgyYi/xMIT0N7ZFeZuPA19VObllwK1oOvdarnbiODbAKXFIQTW/Ppp+mtzIzrUQu1j1yrutgkg/4E7MxzdhSZC8Xssav/EmbQHz4+OwbnxhxGYwR8tuM8+EPqBkFaG5xqk33V1eQovXnXA/2vYZRLKp7wslWJATVYB7/YC6f47O1Y5z41Bvisxchs2DZcJ1mty5947UswBrx2JNQw/mdvx1/nBrT5KFKoHfmeoRAA7Y6IxGvW8IDxVOfddmrjwePQwPB13BJpVGXfnI4JdjPhORCH9rjllihu3un/ZZVtN8c1cDr2Xu77A3VsqqePJEiHIhJ8esQU9LfmGVUBRPjrTh+9210km3jLgS38U0b3OvPQv1jWw4fvibfSqsb + template: + metadata: + creationTimestamp: null + name: consentimento-selo + namespace: escolinha-prod diff --git a/tenants/escolinha/65-runtime-core.yaml b/tenants/escolinha/65-runtime-core.yaml new file mode 100644 index 0000000..562a58a --- /dev/null +++ b/tenants/escolinha/65-runtime-core.yaml @@ -0,0 +1,90 @@ +# P4.3-P4.9 — runtime-core do escolinha. GERADO por scripts/consolidar_demo.py a partir +# da uniao do ambiente dos servicos que ele absorve. Nao edite a mao sem rodar o +# --check de novo. +apiVersion: apps/v1 +kind: Deployment +metadata: + name: runtime-core + namespace: escolinha-prod + labels: + app: runtime-core +spec: + replicas: 1 + selector: + matchLabels: + app: runtime-core + template: + metadata: + labels: + app: runtime-core + athleticmap.io/contexto: runtime-core + spec: + containers: + - name: runtime-core + image: docker.io/library/runtime-core:1.2-auditoria + imagePullPolicy: Never + ports: + - containerPort: 8083 + env: + - name: SPRING_DATASOURCE_URL + value: jdbc:postgresql://postgres:5432/athleticmap + - name: SPRING_DATASOURCE_USERNAME + value: atm + - name: SPRING_DATASOURCE_PASSWORD + valueFrom: + secretKeyRef: + name: db-credentials + key: password + - name: ATM_JWK_SET_URI + value: http://keycloak:8080/realms/athleticmap/protocol/openid-connect/certs + - name: ATM_ISSUER + value: https://auth-escolinha.athleticmap.influxdigital.com.br/realms/athleticmap + - name: ATM_TENANT + value: escolinha + - name: ATM_KC_ADMIN_ENABLED + value: 'true' + - name: ATM_KC_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: kc-admin-secret + key: client-secret + - name: ATM_PLANO + value: institucional + - name: SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE + value: '10' + resources: + requests: + cpu: 100m + memory: 384Mi + limits: + cpu: '1' + memory: 768Mi + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: 8083 + initialDelaySeconds: 25 + periodSeconds: 10 + failureThreshold: 30 + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: 8083 + initialDelaySeconds: 90 + periodSeconds: 20 + failureThreshold: 6 +--- +apiVersion: v1 +kind: Service +metadata: + name: runtime-core + namespace: escolinha-prod + labels: + app: runtime-core +spec: + selector: + app: runtime-core + ports: + - name: http + port: 80 + targetPort: 8083 diff --git a/tenants/escolinha/66-runtime-operacao.yaml b/tenants/escolinha/66-runtime-operacao.yaml new file mode 100644 index 0000000..da5107b --- /dev/null +++ b/tenants/escolinha/66-runtime-operacao.yaml @@ -0,0 +1,88 @@ +# P4.3-P4.9 — runtime-operacao do escolinha. GERADO por scripts/consolidar_demo.py a partir +# da uniao do ambiente dos servicos que ele absorve. Nao edite a mao sem rodar o +# --check de novo. +apiVersion: apps/v1 +kind: Deployment +metadata: + name: runtime-operacao + namespace: escolinha-prod + labels: + app: runtime-operacao +spec: + replicas: 0 + selector: + matchLabels: + app: runtime-operacao + template: + metadata: + labels: + app: runtime-operacao + athleticmap.io/contexto: runtime-operacao + spec: + containers: + - name: runtime-operacao + image: docker.io/library/runtime-operacao:1.2-auditoria + imagePullPolicy: Never + ports: + - containerPort: 8083 + env: + - name: SPRING_DATASOURCE_URL + value: jdbc:postgresql://postgres:5432/athleticmap + - name: SPRING_DATASOURCE_USERNAME + value: atm + - name: SPRING_DATASOURCE_PASSWORD + valueFrom: + secretKeyRef: + name: db-credentials + key: password + - name: ATM_JWK_SET_URI + value: http://keycloak:8080/realms/athleticmap/protocol/openid-connect/certs + - name: ATM_ISSUER + value: https://auth-escolinha.athleticmap.influxdigital.com.br/realms/athleticmap + - name: ATM_TENANT + value: escolinha + - name: ATM_PLANO + value: institucional + - name: ATM_CONSENTIMENTO_SEGREDO + valueFrom: + secretKeyRef: + name: consentimento-selo + key: segredo + - name: SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE + value: '10' + resources: + requests: + cpu: 100m + memory: 384Mi + limits: + cpu: '1' + memory: 768Mi + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: 8083 + initialDelaySeconds: 25 + periodSeconds: 10 + failureThreshold: 30 + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: 8083 + initialDelaySeconds: 90 + periodSeconds: 20 + failureThreshold: 6 +--- +apiVersion: v1 +kind: Service +metadata: + name: runtime-operacao + namespace: escolinha-prod + labels: + app: runtime-operacao +spec: + selector: + app: runtime-operacao + ports: + - name: http + port: 80 + targetPort: 8083 diff --git a/tenants/escolinha/67-runtime-saude.yaml b/tenants/escolinha/67-runtime-saude.yaml new file mode 100644 index 0000000..dd06b33 --- /dev/null +++ b/tenants/escolinha/67-runtime-saude.yaml @@ -0,0 +1,99 @@ +# P4.3-P4.9 — runtime-saude do escolinha. GERADO por scripts/consolidar_demo.py a partir +# da uniao do ambiente dos servicos que ele absorve. Nao edite a mao sem rodar o +# --check de novo. +apiVersion: apps/v1 +kind: Deployment +metadata: + name: runtime-saude + namespace: escolinha-prod + labels: + app: runtime-saude +spec: + replicas: 0 + selector: + matchLabels: + app: runtime-saude + template: + metadata: + labels: + app: runtime-saude + athleticmap.io/contexto: runtime-saude + spec: + containers: + - name: runtime-saude + image: docker.io/library/runtime-saude:1.2-demo + imagePullPolicy: Never + ports: + - containerPort: 8083 + env: + - name: SPRING_DATASOURCE_URL + value: jdbc:postgresql://postgres:5432/athleticmap + - name: SPRING_DATASOURCE_USERNAME + value: atm + - name: SPRING_DATASOURCE_PASSWORD + valueFrom: + secretKeyRef: + name: db-credentials + key: password + - name: ATM_JWK_SET_URI + value: http://keycloak:8080/realms/athleticmap/protocol/openid-connect/certs + - name: ATM_ISSUER + value: https://auth-escolinha.athleticmap.influxdigital.com.br/realms/athleticmap + - name: ATM_TENANT + value: escolinha + - 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_CLIENT_ID + valueFrom: + secretKeyRef: + name: garmin-oauth + key: GARMIN_CLIENT_ID + - name: GARMIN_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: garmin-oauth + key: GARMIN_CLIENT_SECRET + - name: ATM_AUDITORIA_RETENCAO_DIAS + value: '730' + - name: ATM_PLANO + value: institucional + - name: SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE + value: '10' + resources: + requests: + cpu: 100m + memory: 384Mi + limits: + cpu: '1' + memory: 768Mi + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: 8083 + initialDelaySeconds: 25 + periodSeconds: 10 + failureThreshold: 30 + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: 8083 + initialDelaySeconds: 90 + periodSeconds: 20 + failureThreshold: 6 +--- +apiVersion: v1 +kind: Service +metadata: + name: runtime-saude + namespace: escolinha-prod + labels: + app: runtime-saude +spec: + selector: + app: runtime-saude + ports: + - name: http + port: 80 + targetPort: 8083