Skip to content

SeaweedFS Installation Overview

This content is not available in your language yet.

SeaweedFS is used in Opstella as a distributed object storage system providing S3-compatible APIs. It is a critical component for storing PostgreSQL WALs (Write-Ahead Logs) and backups managed by CloudnativePG.

Installing SeaweedFS in Opstella involves a “cold start” logic to resolve a circular dependency between the storage layer and the database layer.

  • SeaweedFS (HA Mode) requires an external database (PostgreSQL) to store its filer metadata and maintain high availability across multiple pods.
  • PostgreSQL (CloudnativePG) requires an S3-compatible storage (SeaweedFS) to store its WALs and backups for durability and point-in-time recovery.

To break this loop, Opstella uses a two-phase deployment:

  1. SeaweedFS Bootstrap:

    • A minimal, single-pod instance of SeaweedFS.
    • Does not require an external database (uses local storage for metadata).
    • Its sole purpose is to provide the initial S3 API endpoints for CloudnativePG.
  2. PostgreSQL (CNPG):

    • Installs using the SeaweedFS Bootstrap instance as its backup target.
    • Once running, it provides the stable database backend needed for the full storage layer.
  3. SeaweedFS HA:

    • The production-grade, highly available SeaweedFS cluster.
    • It connects to the PostgreSQL instance created in step 2 to store its filer metadata.
    • After it is operational, other Opstella services and future database clusters switch to using SeaweedFS HA for their storage needs.

Finished?

Use the below navigation to proceed