Skip to main content
Part of Invoice exceptions from complete data releases.

Complete stack

Connections

  • bijection → postgres: Transactional release selection and decisions. Identity: Backend database credential.
  • spark → storage: JSON input and exact decimal output with a 256-row bound. Identity: Explicit project service account.
  • storage → bijection: Validate complete transformed releases before atomic selection. Identity: Authenticated publisher.

Deployment inputs

  • backend (file, required): Native Bijection backend executable.
  • cli (file, required): Bijection CLI executable.
  • sdk (directory, required): Built Bijection SDK directory.
  • gcp-config (credential-file, required): Private JSON file naming project, region, serviceAccount, subnetwork and costEstimate; authentication uses the selected gcloud account.

Bounds and cleanup

One serverless batch: 4-core driver, two 4-core executors, 4 GiB per process including overhead, 250 GiB disks, autoscaling disabled, 20-minute TTL. These are provider minimums, above the ordinary one-CPU trial size. Maximum duration: 2400 seconds. Maximum captured log: 4194304 bytes. Estimated cost: Provide a dated regional estimate in gcp-config. Upper runtime allocation is 4 vCPU-hours plus 250 GiB-hours of disk; storage and requests are additional. TTL bounds compute, not teardown. Cleanup: Reconcile and stop the exact batch, wait for terminal state, delete it, delete every generation in the labeled run bucket, then verify both resources are absent; separately stop the owned local backend and PostgreSQL. The executable runbook is maintained at examples/sales-exceptions/recipes/gcp-spark/runbook.md. A declared journey is verified only when every named check appears in a successful execution report and cleanup has been observed.