Files
Cauê Faleiros 511add34c8
All checks were successful
production-orders-sync CI/CD / Test (push) Successful in 9m30s
production-orders-sync CI/CD / Build and Push Image (push) Successful in 36s
production-orders-sync CI/CD / Trigger Portainer (push) Successful in 1s
Use registry token secret for image push
2026-07-02 14:52:51 -03:00
..

Portainer Deployment

This directory contains Portainer stack templates for production-orders-sync.

Stack Templates

  • portainer-one-shot.yml: manual one-shot stack for first dry-run checks and historical backfills.
  • portainer-stack.yml: long-running polling stack. It runs npm run sync, sleeps, then repeats.

Keep the first production deployment as a one-day dry run:

DRY_RUN=true
SYNC_MODE=backfill
SYNC_START_DATE=2026-07-02
SYNC_END_DATE=2026-07-02
TINY_REQUEST_DELAY_MS=5000

After validating Tiny payload mapping and DB output, switch the polling stack to:

DRY_RUN=false
SYNC_MODE=recent
RECENT_SYNC_DAYS=2
POLL_INTERVAL_SECONDS=1800

Portainer Variables

Set these in the Portainer stack environment:

PRODUCTION_ORDERS_SYNC_IMAGE=gitea.blyzer.com.br/blyzer/production-order-tiny:latest
TINY_API_TOKEN=...
DATABASE_URL=postgres://...
DRY_RUN=true
SYNC_MODE=backfill
SYNC_START_DATE=2026-07-02
SYNC_END_DATE=2026-07-02
TINY_REQUEST_DELAY_MS=5000

For polling, use SYNC_MODE=recent and leave SYNC_START_DATE / SYNC_END_DATE empty unless you intentionally want an explicit recent range.

Gitea Actions Secrets

The workflow at .gitea/workflows/ci-cd.yml expects these repository secrets:

REGISTRY_URL=gitea.blyzer.com.br
REGISTRY_USERNAME=...
REGISTRY_TOKEN=...
IMAGE_REPOSITORY=blyzer/production-order-tiny
PORTAINER_WEBHOOK_URL=https://... # optional but recommended

PORTAINER_WEBHOOK_URL should be the webhook URL generated by Portainer for this stack. If it is missing, the workflow still tests and pushes the image, but it skips the redeploy trigger.

Architecture Boundary

This stack is standalone. It does not call n8n and does not add production-order sync logic to api-tiny-n8n.