BCards/GITEA-VARIABLES-SETUP.md
Ricardo Carneiro 3d2ce1f8cf
All checks were successful
BCards Deployment Pipeline / Run Tests (push) Successful in 4s
BCards Deployment Pipeline / PR Validation (push) Has been skipped
BCards Deployment Pipeline / Build and Push Image (push) Successful in 15m22s
BCards Deployment Pipeline / Deploy to Production (ARM - OCI) (push) Successful in 1m54s
BCards Deployment Pipeline / Deploy to Test (x86 - Local) (push) Has been skipped
BCards Deployment Pipeline / Cleanup Old Resources (push) Has been skipped
BCards Deployment Pipeline / Deployment Summary (push) Successful in 0s
fix: Increase session timeout to 7 days and set SameSite=None for Cloudflare compatibility
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 12:32:42 -03:00

178 lines
5.0 KiB
Markdown

# 🔧 **CONFIGURAÇÃO DE VARIÁVEIS NO GITEA**
## 📋 **VISÃO GERAL**
Agora o deploy é **100% automatizado**! O YAML cria o `appsettings.Production.json` dinamicamente usando variáveis do Gitea.
---
## ⚙️ **COMO CONFIGURAR NO GITEA**
### **1. Acessar Configurações**
```bash
1. Vá para: https://seu-gitea.com/seu-usuario/vcart.me.novo
2. Clique em: Settings (Configurações)
3. Na sidebar: Secrets and variables → Actions
```
### **2. Criar SECRETS (dados sensíveis)**
Clique em **"New repository secret"** para cada um:
```bash
# STRIPE (obrigatório)
STRIPE_SECRET_KEY = sk_test_51RjUmIBMIadsOxJVeqsMFxnZ8ePR7d8IbnaF4sAwBVJv9rrfODPEQ2C9fF3beoABpITdfzEk0ZDzGTTQfvKv63xI00PeZoABGO
STRIPE_WEBHOOK_SECRET = whsec_SEU_WEBHOOK_SECRET_AQUI
# OAUTH (obrigatório)
GOOGLE_CLIENT_SECRET = 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
MICROSOFT_CLIENT_SECRET = T0.8Q~an.51iW1H0DVjL2i1bmSK_qTgVQOuEmapK
# SENDGRID (obrigatório)
SENDGRID_API_KEY = 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
```
### **3. Criar VARIABLES (dados não-sensíveis)**
Clique em **"New repository variable"** para cada um:
```bash
# STRIPE
STRIPE_PUBLISHABLE_KEY = pk_test_51RjUmIBMIadsOxJVP4bWc54pHEOSf5km1hpOkOBSoGVoKxI46N4KSWtevpXCSq68OjFazBuXmPJGBwZ1KDN5MNJy003lj1YmAS
STRIPE_ENVIRONMENT = test
# OAUTH
GOOGLE_CLIENT_ID = 472850008574-nmeepbdt4hunsk5c8krpbdmd3olc4jv6.apps.googleusercontent.com
MICROSOFT_CLIENT_ID = b411606a-e574-4f59-b7cd-10dd941b9fa3
# SENDGRID
SENDGRID_FROM_EMAIL = ricardo.carneiro@jobmaker.com.br
SENDGRID_FROM_NAME = Ricardo Carneiro
# MODERAÇÃO
MODERATOR_EMAIL = ricardo.carneiro@jobmaker.com.br
MODERATOR_EMAIL_1 = rrcgoncalves@gmail.com
MODERATOR_EMAIL_2 = rirocarneiro@gmail.com
```
---
## 🎯 **PASSO-A-PASSO COMPLETO**
### **FASE 1: TESTE ONLINE (ATUAL)**
#### **1.1 Configure Webhook no Stripe**
1. **Stripe Dashboard****Developers****Webhooks**
2. **Add endpoint**: `https://bcards.site/api/stripe/webhook`
3. **Select events**:
- `customer.subscription.created`
- `customer.subscription.updated`
- `customer.subscription.deleted`
- `invoice.payment_succeeded`
- `invoice.payment_failed`
4. **Copiar**: Signing secret (`whsec_...`)
#### **1.2 Desativar Modo Restrito no Stripe**
1. **Stripe Dashboard****Settings****Account settings**
2. **Business settings****"Restricted mode"** → **DESATIVAR**
#### **1.3 Configurar Variáveis no Gitea**
Use os valores atuais (modo teste):
```bash
# Para TESTE ONLINE
STRIPE_ENVIRONMENT = test
STRIPE_PUBLISHABLE_KEY = pk_test_... (sua chave atual)
STRIPE_SECRET_KEY = sk_test_... (sua chave atual)
STRIPE_WEBHOOK_SECRET = whsec_... (do webhook configurado)
```
#### **1.4 Commit e Deploy**
```bash
git add .
git commit -m "feat: deploy automatizado com configuração dinâmica via Gitea
- YAML cria appsettings.Production.json automaticamente
- Configuração via variáveis/secrets do Gitea
- Mount do arquivo no container Docker
- Suporte para teste online e produção
🔧 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>"
git push origin main
```
---
### **FASE 2: MIGRAÇÃO PARA LIVE (QUANDO PRONTO)**
#### **2.1 Obter Chaves Live**
```bash
1. Stripe Dashboard → Toggle "Test mode" OFF
2. Developers → API Keys
3. Copiar: pk_live_... e sk_live_...
```
#### **2.2 Configurar Webhook Live**
```bash
1. Stripe Dashboard (Live) → Webhooks
2. Add endpoint: https://bcards.site/api/stripe/webhook
3. Copiar: whsec_live_...
```
#### **2.3 Criar Produtos Live**
```bash
# No Stripe Dashboard (Live mode):
Products → Create products para cada plano
Copiar todos os price_live_xxx IDs
```
#### **2.4 Atualizar Variáveis no Gitea**
```bash
# Mudar apenas estas variáveis:
STRIPE_ENVIRONMENT = live
STRIPE_PUBLISHABLE_KEY = pk_live_... (nova)
STRIPE_SECRET_KEY = sk_live_... (nova)
STRIPE_WEBHOOK_SECRET = whsec_live_... (nova)
```
#### **2.5 Atualizar Price IDs**
Editar `appsettings.json` com os novos price IDs live e fazer commit.
---
## ✅ **VANTAGENS DESTA ABORDAGEM**
### **🔒 Segurança:**
- ✅ Secrets nunca vão para o git
- ✅ Variables ficam na interface do Gitea
- ✅ Deploy totalmente automatizado
### **🚀 Produtividade:**
- ✅ Mudança de ambiente: apenas update de variáveis
- ✅ Sem arquivos manuais nos servidores
- ✅ Rollback fácil
- ✅ Configuração versionada via interface
### **🔧 Manutenibilidade:**
- ✅ Uma única fonte de verdade
- ✅ Fácil adicionar novos ambientes
- ✅ Logs claros no deploy
- ✅ Validação automática
---
## 📊 **FLUXO FINAL**
```mermaid
graph TD
A[git push main] --> B[Gitea Actions]
B --> C[Create appsettings.Production.json]
C --> D[Build Docker Image]
D --> E[Upload Config to Servers]
E --> F[Deploy with Volume Mount]
F --> G[✅ Site Online]
```
**Resultado**: Configuração 100% automatizada, segura e versionada! 🎉