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 atexamples/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.