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

5.0 KiB

🔧 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

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:

# 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:

# 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 DashboardDevelopersWebhooks
  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 DashboardSettingsAccount settings
  2. Business settings"Restricted mode"DESATIVAR

1.3 Configurar Variáveis no Gitea

Use os valores atuais (modo teste):

# 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

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

1. Stripe Dashboard → Toggle "Test mode" OFF
2. Developers → API Keys
3. Copiar: pk_live_... e sk_live_...

2.2 Configurar Webhook Live

1. Stripe Dashboard (Live) → Webhooks
2. Add endpoint: https://bcards.site/api/stripe/webhook
3. Copiar: whsec_live_...

2.3 Criar Produtos Live

# 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

# 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

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! 🎉