ADR-003 Accepted 2026-07-03

ADR-003: Cloud Functions Gen 2 over Cloud Run over GKE

Why Cloud Functions Gen 2 was chosen over Cloud Run or GKE for the processor.

ADR-003: Cloud Functions Gen 2 over Cloud Run over GKE

Context

The SecureVault processor is a single-purpose event handler: receive a Pub/Sub message, classify it, take one action, log the result. The compute layer must be operationally simple, automatically scalable, and cheap at low volume.

Decision

Deploy the processor as a Cloud Functions Gen 2 function running Python 3.11, with a Pub/Sub event trigger, 256 MB memory, and a dedicated service account.

Consequences

Positive:

Negative:

Alternatives considered

AlternativeProsConsVerdict
Cloud RunMore flexible runtime, custom concurrency, longer timeoutsRequires container image and revision management; slightly higher ops overheadRejected; flexibility is unnecessary for a single event handler.
GKE AutopilotFull orchestration, multi-service readySignificant operational complexity and baseline costRejected as overkill for one function.
Cloud Functions Gen 1Slightly simpler IAM modelSmaller free tier, fewer features, Gen 2 is the recommended pathRejected; Gen 2 is the strategic platform.

References