All checks were successful
Build and deploy / Validate source (push) Successful in 9s
Build and deploy / Integration suite on a real stack (push) Successful in 2m49s
Build and deploy / Secret scan and release gate (push) Successful in 9s
Build and deploy / Publish images and notify Portainer (push) Has been skipped
Tiny v3 replaces the v2 token adapter. An operator connects Tiny once from the Kanban; the callback is authorised by a single-use state, because Tiny's cross-site redirect does not carry the SameSite=Strict operator cookie. Tokens are kept in provider_tokens, the refresh token rotates under a row lock, and the worker keeps the connection alive while order creation is off. Orders find or create the customer's contact by CNPJ, then POST /pedidos with product ids from TINY_PRODUCT_TEXTIL_FOLHA, _TEXTIL_AVULSA, _UV_FOLHA and _UV_AVULSA and numeroOrdemCompra DTF-<number>; a retry searches the customer's recent orders for that number first. The product settings avoid a _FILE suffix, which the secrets loader reads as a secret file path. Production passes the application credentials through but keeps TINY_ADAPTER fake: Tiny has no sandbox, so creating real orders waits for a supervised test. compose.providers.yaml gives the local API and worker an internet route for provider testing; the default local stack still has none. Verified with the full CI integration sequence locally, including the new tiny_oauth_test against the real database. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
50 lines
1.7 KiB
Plaintext
50 lines
1.7 KiB
Plaintext
# LOCAL DEVELOPMENT ONLY. These are public disposable development values.
|
|
COMPOSE_PROJECT_NAME=dtf-cloud
|
|
SITE_PORT=8080
|
|
KANBAN_PORT=8081
|
|
API_PORT=8000
|
|
POSTGRES_DB=dtf_local
|
|
POSTGRES_USER=dtf_local
|
|
POSTGRES_PASSWORD=local-database-only
|
|
APP_DB_USER=dtf_app
|
|
APP_DB_PASSWORD=local-app-database-only
|
|
MINIO_ROOT_USER=dtf_local
|
|
MINIO_ROOT_PASSWORD=local-storage-only
|
|
S3_APP_USER=dtf_app
|
|
S3_APP_PASSWORD=local-app-storage-only
|
|
S3_BUCKET=dtf-local-artwork
|
|
S3_PUBLIC_ENDPOINT=http://localhost:9000
|
|
OPERATOR_EMAIL=operator@example.test
|
|
OPERATOR_PASSWORD=local-operator-only
|
|
APP_ENV=local
|
|
PAYMENT_ADAPTER=fake
|
|
FREIGHT_ADAPTER=fake
|
|
TINY_ADAPTER=fake
|
|
# Sandbox only (see docs/LOCAL_SETUP.md, "Provider sandboxes"):
|
|
# PAYMENT_ADAPTER=mercadopago
|
|
# MP_ACCESS_TOKEN=TEST-...
|
|
# MP_WEBHOOK_SECRET=...
|
|
# MP_NOTIFICATION_URL=https://<public tunnel>/api/payments/webhook
|
|
# Tiny API v3: client ID/secret come from the "Aplicativo" created in Tiny
|
|
# (Configurações > Geral > Aplicativos); the redirect URI registered there
|
|
# must be exactly TINY_REDIRECT_URI. Product ids are the Tiny products each
|
|
# Site product becomes. Tiny has no sandbox: orders created are real.
|
|
# TINY_CLIENT_ID=...
|
|
# TINY_CLIENT_SECRET=...
|
|
# TINY_REDIRECT_URI=http://localhost:8081/api/operator/tiny/callback
|
|
# TINY_PRODUCT_TEXTIL_FOLHA=...
|
|
# TINY_PRODUCT_TEXTIL_AVULSA=...
|
|
# TINY_PRODUCT_UV_FOLHA=...
|
|
# TINY_PRODUCT_UV_AVULSA=...
|
|
# TINY_ADAPTER=tiny # only once connected and tested: creates real orders
|
|
WHATSAPP_ADAPTER=fake
|
|
STORAGE_ADAPTER=s3-local
|
|
MOCK_FREIGHT_CENTS=1500
|
|
MAX_UPLOAD_BYTES=5368709120
|
|
UPLOAD_PART_BYTES=8388608
|
|
STORAGE_QUOTA_BYTES=53687091200
|
|
OWNER_UPLOAD_QUOTA_BYTES=10737418240
|
|
MAX_PENDING_UPLOADS=10
|
|
# Files above 128 MiB remain blocked (ClamAV config must agree with this limit).
|
|
SCAN_MAX_BYTES=134217728
|