Fluid ForgeFluid Forge
Home
Get Started
  • Local (DuckDB)
  • GCP (BigQuery)
  • Snowflake Team Collaboration
  • Declarative Airflow
  • Orchestration Export
  • Jenkins CI/CD
  • Universal Pipeline
CLI Reference
  • Overview
  • Architecture
  • GCP (BigQuery)
  • AWS (S3 + Athena)
  • Snowflake
  • Local (DuckDB)
  • Custom Providers
  • Roadmap
GitHub
GitHub
Home
Get Started
  • Local (DuckDB)
  • GCP (BigQuery)
  • Snowflake Team Collaboration
  • Declarative Airflow
  • Orchestration Export
  • Jenkins CI/CD
  • Universal Pipeline
CLI Reference
  • Overview
  • Architecture
  • GCP (BigQuery)
  • AWS (S3 + Athena)
  • Snowflake
  • Local (DuckDB)
  • Custom Providers
  • Roadmap
GitHub
GitHub
  • Introduction

    • /
    • Getting Started
    • Snowflake Quickstart
    • Vision & Roadmap
  • Walkthroughs

    • Walkthrough: Local Development
    • Walkthrough: Deploy to Google Cloud Platform
    • Walkthrough: Snowflake Team Collaboration
    • Declarative Airflow DAG Generation - The FLUID Way
    • Generating Orchestration Code from Contracts
    • Jenkins CI/CD for FLUID Data Products
    • Universal Pipeline
  • CLI Reference

    • CLI Reference
    • init Command
    • validate Command
    • plan Command
    • apply Command
    • verify Command
    • generate-airflow Command
  • Providers

    • Providers
    • Provider Architecture
    • GCP Provider
    • AWS Provider
    • Snowflake Provider
    • Local Provider
    • Creating Custom Providers
    • Provider Roadmap
  • Advanced

    • Blueprints
    • Governance & Compliance
    • Airflow Integration
    • Built-in And Custom Forge Agents
    • FLUID Forge Contract GPT Packet
    • Forge Copilot Discovery Guide
    • Forge Copilot Memory Guide
  • Project

    • Contributing to Fluid Forge
    • Fluid Forge v0.7.1 - Multi-Provider Export Release

Providers

Fluid Forge uses a provider system to deploy your data contracts to different platforms. The same YAML contract works everywhere — locally with DuckDB, on GCP with BigQuery, on AWS with S3+Athena, or on Snowflake.

How Providers Work

Each provider implements two methods: plan() (pure planning, no side effects) and apply() (execute against the target). See Architecture for the full design.

Provider Status

ProviderPlan / ApplyAirflow GenDagster / PrefectStatus
GCP✅✅✅Production
AWS✅✅✅Production
Snowflake✅✅✅Production
Local✅——Production
Azure🔜 Q3 2026🔜🔜Planned

Data Catalog & Standards

Export TargetPurposeStatus
ODPSLinux Foundation Open Data Product Spec v4.1✅ Production
ODCSOpen Data Contract Standard v3.1 (Bitol.io)✅ Production
OPDSOpen Data Product Specification✅ Production
Datamesh ManagerPublish to datamesh-manager.com✅ Production

Export Metadata Mapping

When you export to ODPS or publish to DataMesh Manager, Fluid Forge derives catalog metadata from your contract with a few explicit fallback rules.

Output fieldSource fieldsNotes
Output port provider / typebinding.platform, then legacy provider where supportedExports prefer the FLUID 0.7.1 binding.platform field.
Expose kindexpose.kind, then expose.typeUse kind in new contracts; type is kept as a fallback.
ODPS product typemetadata.product_type, metadata.type, top-level product_type, top-level typeThe first populated value is exported as the ODPS type custom property.
ODPS tagsmetadata.tags, then top-level tagsODPS uses one tag source, with metadata taking precedence.
DataMesh Manager tagstop-level tags merged with metadata.tagsMetadata tags are appended without duplicating existing top-level tags.

If multiple candidate fields are present, keep binding.platform, kind, and metadata.* values aligned so exported catalogs stay predictable across providers.


Quick Start by Provider

GCP (BigQuery)

gcloud auth application-default login
gcloud config set project YOUR_PROJECT_ID

fluid apply contract.fluid.yaml --provider gcp --yes

Full GCP Guide →

AWS (S3 + Athena + Glue)

aws configure

fluid apply contract.fluid.yaml --provider aws --yes

Full AWS Guide →

Snowflake

export SNOWFLAKE_ACCOUNT=your_account
export SNOWFLAKE_USER=your_user

fluid apply contract.fluid.yaml --provider snowflake --yes

Full Snowflake Guide →

Local (DuckDB)

fluid init my-project --quickstart
fluid apply contract.fluid.yaml --yes

Full Local Guide →


Feature Matrix

FeatureGCPAWSSnowflakeLocal
Plan & apply✅✅✅✅
IAM / RBAC compilation✅✅✅—
Airflow DAG generation✅✅✅—
Dagster pipeline export✅✅✅—
Prefect flow export✅✅✅—
Sovereignty validation✅✅✅—
ODPS / ODCS export✅✅✅—

Key Services per Provider

CapabilityGCPAWSSnowflake
Data warehouseBigQueryAthena + RedshiftNative tables
Object storageGCSS3Stages
IAMCloud IAMIAM policiesRBAC grants
OrchestrationCloud ComposerMWAASnowflake Tasks
StreamingPub/SubKinesisSnowpipe

Choosing a Provider

If you...Choose
Are developing or testing locallyLocal
Use Google Cloud / BigQueryGCP
Are on AWS with S3 + Athena/GlueAWS
Run a Snowflake data warehouseSnowflake
Need to export to open standardsUse ODPS / ODCS / OPDS exporters

All providers use the same contract format and same CLI commands. Switching is a one-line config change.


Building Custom Providers

Need support for a platform we don't cover yet? Build your own provider in ~40 lines of Python:

from fluid_provider_sdk import ApplyResult, BaseProvider

class MyProvider(BaseProvider):
    name = "my-platform"

    def plan(self, contract):
        # Return list of actions
        return [{"op": "create_table", "name": contract["name"]}]

    def apply(self, actions):
        # Execute actions against your platform
        for action in actions:
            self._execute(action)
        return ApplyResult(provider=self.name, applied=len(actions), failed=0)

Full Custom Provider Guide →


Roadmap

MilestoneProvidersTimeline
v0.7.1 (current)GCP, AWS, Snowflake, Local, ODPS, ODCS✅ Released
v0.8.xAzure (Synapse, Data Lake Gen2)Q3 2026
v0.9.xDatabricks (SQL, Delta Lake, Unity Catalog)Q4 2026

Detailed Roadmap →


Learn More

  • Provider Architecture — How discovery, planning, and the action system work
  • Custom Providers — Build your own provider with the SDK
  • CLI Reference — All available commands
  • Contributing — Help add new providers

Copyright 2025-2026 Agentics Transformation Pty Ltd · Open source under Apache 2.0

Edit this page on GitHub
Last Updated: 4/4/26, 8:41 PM
Contributors: khanya_ai, fas89
Next
Provider Architecture