What’s New

We’re excited to announce the initial release of firestore-batch-incrementer (v0.1.0), a new open-source tool designed for Google Cloud Platform users working with Firestore and Eventarc. Released on May 3, 2025, this utility solves a common challenge: triggering downstream Eventarc listeners by bulk-updating existing Firestore documents.

Why It Matters

In event-driven architectures on GCP, Eventarc provides powerful capabilities to react to changes in Firestore. But what if you need to reprocess existing data or notify downstream systems about records that already exist? Manual updates aren’t scalable, and there’s no built-in way to “touch” all documents at once.

That’s where firestore-batch-incrementer comes in. It iterates through your Firestore collections in controlled batches and atomically updates numeric fields—causing Eventarc triggers to fire on each change. Whether you’re reindexing data, triggering migrations, or refreshing downstream caches, this tool gives you programmatic control over document updates at scale.

What’s New

As the inaugural release, v0.1.0 delivers the complete core functionality of the application:

Flexible Update Modes

Choose how documents get updated based on your use case:

  • INCREMENT: Atomically increment a numeric field by 1 using Firestore’s native Increment(1) operation (default)
  • START_TIMESTAMP: Apply a consistent timestamp across all documents—useful for snapshotting or marking bulk operations
  • CURRENT_TIMESTAMP: Set each document with its own update time as it’s processed

Production-Ready Batch Processing

  • Configurable batch sizes (default: 100 documents) for controlled memory usage
  • Rate limiting (default: 50 updates/second) to respect Firestore throughput limits and manage costs
  • Consistent collection traversal via document ID ordering

Atomic Transaction Support

Optionally enable atomic transactions to verify document existence before updating. This safety net prevents errors when documents may be deleted during processing—critical for long-running batch jobs on large collections.

Cloud-Native Design

Built specifically for Google Cloud Run Jobs:

  • Environment variable configuration for seamless deployment
  • Supports both Application Default Credentials (ADC) and service account authentication
  • Production-ready Docker container using a minimal distroless base image

Getting Started

firestore-batch-incrementer is designed for quick deployment in GCP environments. Here’s what you need to know:

Installation

  1. Build the container: The project includes a Dockerfile that produces a statically-linked binary ready for deployment
  2. Push to a registry: Deploy your image to Google Container Registry or Artifact Registry
  3. Configure environment variables: Set required parameters like PROJECT_ID, COLLECTION, and FIELD_KEY before launching

Key Configuration Options

Variable Required Description
PROJECT_ID Yes Your GCP project ID
COLLECTION Yes Firestore collection to process
FIELD_KEY Yes The field to update in each document
UPDATE_TYPE No “INCREMENT”, “START_TIMESTAMP”, or “CURRENT_TIMESTAMP”
BATCH_SIZE No Documents per batch (default: 100)
RATE_LIMIT No Updates per second (default: 50)
ATOMIC_UPDATES No Enable transaction-based updates (default: false)

Considerations

  • Cost Awareness: Each document update incurs Firestore write costs. Monitor your usage when processing large collections.
  • Rate Limiting: The default of 50 updates/second is a safe starting point, but adjust based on your database’s throughput limits and downstream system capacity.
  • Eventarc Integration: Ensure your Eventarc triggers and downstream handlers can process the volume of events generated by bulk operations.

Join Us

firestore-batch-incrementer is open source under an MIT license. We welcome feedback, feature requests, and contributions from the community. Check out the repository to learn more and get started:

🔗 UnitVectorY-Labs/firestore-batch-incrementer


Transparency Note: This release announcement was AI-generated using the unsloth/Qwen3.5-122B-A10B-GGUF:Q4_K_M model on March 18, 2026. The original release (v0.1.0) was published on May 3, 2025. Author: release-storyteller.