infracloud/dev-scripts/setup_q1site_frontend.py

47 lines
1.7 KiB
Python

import requests
import json
TOKEN = "5|jjkR2nojMZ0vnab8iPNCXtbtlRHP90zXtbDC8Z3m2e95cbf4"
APP_UUID = "y0wccwwsko4socokk804s0ww" # q1site-frontend
BASE_URL = "https://redbull.rede5.com.br/api/v1"
headers = {
"Authorization": f"Bearer {TOKEN}",
"Content-Type": "application/json"
}
envs = [
{"key": "NEXT_PUBLIC_API_URL", "value": "https://api-dev.q1site.com.br/api/v1"},
{"key": "NEXT_PUBLIC_TENANT_SUBDOMAIN", "value": "q1sites"},
{"key": "NEXT_PUBLIC_ENVIRONMENT", "value": "production"}
]
def setup_frontend():
# 1. Listar variáveis atuais
print("Buscando variáveis existentes...")
current_envs = requests.get(f"{BASE_URL}/applications/{APP_UUID}/envs", headers=headers).json()
env_map = {e['key']: e['uuid'] for e in current_envs}
for env in envs:
payload = {
"key": env["key"],
"value": env["value"],
"is_buildtime": True, # CRÍTICO para Next.js
"is_runtime": True
}
if env["key"] in env_map:
print(f"Atualizando {env['key']}...")
requests.patch(f"{BASE_URL}/applications/{APP_UUID}/envs/{env_map[env['key']]}", headers=headers, json=payload)
else:
print(f"Criando {env['key']}...")
requests.post(f"{BASE_URL}/applications/{APP_UUID}/envs", headers=headers, json=payload)
# 2. Disparar Deploy (Necessário para reconstruir o Next.js com as novas variáveis)
print("Disparando novo deploy...")
deploy_resp = requests.get(f"{BASE_URL}/deploy?uuid={APP_UUID}", headers=headers)
print(f"Status do Deploy: {deploy_resp.status_code}")
print(deploy_resp.text)
if __name__ == "__main__":
setup_frontend()