SmartHub AppsMáquina de aquisição

P0.1 · Repositório da aplicação e pipeline

Depende de P0.0. Skills: `/gitlab-ecomsmart`, `/k8s-ecomsmart`.

O prompt

Leia as skills /gitlab-ecomsmart e /k8s-ecomsmart.

Crie o projeto radar — a aplicação dos micro SaaS de aquisição da EcomSmart (Raio-X da Loja, Radar de Preço, Radar de Anúncios). O planejamento está em apps.ecomsmart.com.br.

1. Repositório

Via API de https://gitlab.ecomsmart.com.br:

2. Esqueleto

Python 3.12, Django 5.x, Postgres, Redis, Celery.

radar/
  manage.py
  pyproject.toml
  Dockerfile
  .gitlab-ci.yml
  config/
    settings/{base,dev,prod}.py
    celery.py  urls.py  wsgi.py  asgi.py
  apps/
    tenants/        Loja, Usuario, Plano, Assinatura
    conectores/     base abstrata e implementacoes
    raiox/
    preco/
    anuncios/
    atribuicao/     utm, gclid, fbclid, fbp, fbc
    billing/        Stripe
    roi/            ingestao de custo e receita
    vendas/         fila do vendedor
    core/           health, mixins, utils
  templates/
  static/
  k8s/
    base/{deployment,service,ingress,configmap,hpa}.yaml
    overlays/producao/kustomization.yaml
  tests/

Requisitos:

3. Dockerfile

Multi-stage, imagem final slim, usuário app não-root (uid 1000), gunicorn com WEB_CONCURRENCY por env. Entrypoint aceitando os modos web, worker e beat.

4. Kubernetes

Namespace producao. Kustomize com overlay producao.

Use os valores de requests que saírem do P0.0, não os valores nominais abaixo — o cluster está apertado.

DeploymentRéplicasPapel
radar-web2gunicorn
radar-worker2Celery
radar-beat1Celery beat, strategy: Recreate

Postgres e Redis: confira com kubectl o que já existe e reaproveite, criando apenas banco e usuário novos. Me diga o que encontrou antes de decidir.

5. Pipeline

testbuilddeploy.

Critérios de aceite

  1. kubectl -n producao get pods -l app=radar-web mostra pods Running e Ready
  2. kubectl -n producao exec deploy/radar-web -- curl -s localhost:8000/readyz retorna 200
  3. Pipeline verde do começo ao fim, com o link do job
  4. Teste de isolamento de tenant passa
  5. Mirror sincronizado no GitLab.com

Não invente credencial. Se faltar segredo, pare e pergunte.

© 2026 EcomSmart · Uso interno · pt-BR