DirectorySecurity AdvisoriesPricing
Sign in
Directory
flow-snapshot-api logo

flow-snapshot-api

packaged by Chainguard

Last changed
Request a free trial

Contact our team to test out this image for free. Please also indicate any other images you would like to evaluate.

Tags
Overview
Comparison
Provenance
Specifications
SBOM
Vulnerabilities
Advisories

Chainguard Container for peerdb-flow-api

PeerDB Flow API - Enterprise data synchronization API server

Chainguard Containers are regularly-updated, secure-by-default container images.

Download this Container Image

For those with access, this container image is available on cgr.dev:

docker pull cgr.dev/ORGANIZATION/peerdb-flow-api:latest

Be sure to replace the ORGANIZATION placeholder with the name used for your organization's private repository within the Chainguard Registry.

Compatibility Notes

The flow-snapshot-api Chainguard Image is a drop-in replacement for the upstream ghcr.io/peerdb-io/flow-api image, with the following differences:

  • Uses Chainguard's hardened Wolfi base instead of Alpine Linux
  • Includes only the minimal dependencies required to run the API server
  • Runs as a non-root user (peerdb with UID/GID 65532)
  • Provides both standard and -dev variants for debugging
  • Smaller attack surface with fewer packages and vulnerabilities

The image maintains full compatibility with PeerDB's API functionality, exposing both the gRPC service (port 8112) and HTTP gateway (port 8113).

Getting Started

The flow-snapshot-api provides the API interface for PeerDB operations, including peer management, flow configuration, and monitoring. It serves both gRPC and HTTP/REST endpoints.

Basic Usage

Run the API server with required database and Temporal connections:

docker run --rm \
  -p 8112:8112 \
  -p 8113:8113 \
  -e PEERDB_CATALOG_HOST=postgres \
  -e PEERDB_CATALOG_PORT=5432 \
  -e PEERDB_CATALOG_USER=postgres \
  -e PEERDB_CATALOG_PASSWORD=postgres \
  -e PEERDB_CATALOG_DATABASE=postgres \
  -e TEMPORAL_HOST_PORT=temporal:7233 \
  -e PEERDB_TEMPORAL_NAMESPACE=default \
  cgr.dev/chainguard/flow-snapshot-api:latest

Using with PeerDB Stack

For a complete PeerDB deployment, see the official docker-compose.yml. To use Chainguard images:

  1. Replace ghcr.io/peerdb-io/flow-api:stable-v0.30.9 with cgr.dev/chainguard/flow-snapshot-api:latest
  2. Replace other PeerDB components with their Chainguard equivalents as available

Configuration

The API server is configured through environment variables:

Required Configuration

  • PEERDB_CATALOG_HOST: PostgreSQL host for the PeerDB catalog
  • PEERDB_CATALOG_PORT: PostgreSQL port (default: 5432)
  • PEERDB_CATALOG_USER: Database username
  • PEERDB_CATALOG_PASSWORD: Database password
  • PEERDB_CATALOG_DATABASE: Database name
  • TEMPORAL_HOST_PORT: Temporal server address (format: host:port)

Optional Configuration

  • PEERDB_TEMPORAL_NAMESPACE: Temporal namespace (default: default)
  • PEERDB_FLOW_SERVER_PORT: gRPC server port (default: 8112)
  • PEERDB_FLOW_SERVER_HTTP_PORT: HTTP gateway port (default: 8113)
  • RUST_LOG: Logging level (error, warn, info, debug, trace)
  • PEERDB_VERSION_SHA_SHORT: Version identifier
  • PEERDB_PASSWORD: API authentication password (if authentication is enabled)

Authentication

By default, the API runs without authentication. To enable authentication:

docker run --rm \
  -p 8112:8112 \
  -p 8113:8113 \
  -e PEERDB_PASSWORD=your-secure-password \
  # ... other environment variables
  cgr.dev/chainguard/flow-snapshot-api:latest

API Endpoints

The API exposes two types of endpoints:

  • gRPC (port 8112): For programmatic access and PeerDB UI
  • HTTP Gateway (port 8113): REST-compatible endpoints for HTTP clients

Example HTTP API usage:

# List peers
curl http://localhost:8113/v1/peers

# Get peer status
curl http://localhost:8113/v1/peers/{peer-name}/status

# List flows
curl http://localhost:8113/v1/flows

Documentation and Resources

What are Chainguard Containers?

Chainguard Containers are minimal container images that are secure by default.

In many cases, the Chainguard Containers tagged as :latest contain only an open-source application and its runtime dependencies. These minimal container images typically do not contain a shell or package manager. Chainguard Containers are built with Wolfi, our Linux undistro designed to produce container images that meet the requirements of a more secure software supply chain.

The main features of Chainguard Containers include:

For cases where you need container images with shells and package managers to build or debug, most Chainguard Containers come paired with a -dev variant.

Although the -dev container image variants have similar security features as their more minimal versions, they feature additional software that is typically not necessary in production environments. We recommend using multi-stage builds to leverage the -dev variants, copying application artifacts into a final minimal container that offers a reduced attack surface that won’t allow package installations or logins.

Learn More

To better understand how to work with Chainguard Containers, please visit Chainguard Academy and Chainguard Courses.

In addition to Containers, Chainguard offers VMs and Libraries. Contact Chainguard to access additional products.

Trademarks

This software listing is packaged by Chainguard. The trademarks set forth in this offering are owned by their respective companies, and use of them does not imply any affiliation, sponsorship, or endorsement by such companies.

Licenses

Chainguard's container images contain software packages that are direct or transitive dependencies. The following licenses were found in the "latest" tag of this image:

  • Elastic-2.0

  • GCC-exception-3.1

  • GPL-3.0-or-later

  • LGPL-2.1-or-later

  • MIT

  • MPL-2.0

For a complete list of licenses, please refer to this Image's SBOM.

Software license agreement

Compliance

Chainguard Containers are SLSA Level 3 compliant with detailed metadata and documentation about how it was built. We generate build provenance and a Software Bill of Materials (SBOM) for each release, with complete visibility into the software supply chain.

SLSA compliance at Chainguard

This image helps reduce time and effort in establishing PCI DSS 4.0 compliance with low-to-no CVEs.

PCI DSS at Chainguard

A FIPS validated version of this image is available for FedRAMP compliance. STIG is included with FIPS image.


Related images
flow-snapshot-api-fips logoFIPS

flow-snapshot-api-fips


Category
Application

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.