Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.faremeter.xyz/llms.txt

Use this file to discover all available pages before exploring further.

The marketplace stack is published at github.com/faremeter/marketplace. It is intended to be deployed on AWS using Pulumi, with WireGuard tying the components together. The repository’s README is the authoritative deployment guide; this page exists to set expectations.
Self-hosting a marketplace is an operations project, not a few hours of setup. If your goal is to use a marketplace as a publisher or client, see the hosted Corbits instance — running your own only makes sense if you need control the hosted product cannot give you.

What you are deploying

The marketplace is four Pulumi stacks plus three deployable applications:
StackWhat it provisions
vpc-stackAWS networking — subnets, security groups, NAT
database-stackPostgreSQL RDS (Multi-AZ, encrypted)
control-plane-stackEC2 instance running the control-plane API, UI, and discovery service
api-node-stackEC2 instance(s) running nginx + the gateway sidecar for client traffic
Plus three applications deployed on top of the control-plane stack:
  • Control-plane API — tenants, endpoints, pricing, wallets, and config push to API nodes.
  • Control-plane UI — operator dashboard.
  • Discovery service — public, unauthenticated registry exposing tenants to consumers.
API nodes use @faremeter/gateway-nginx to enforce payment at the edge.

Prerequisites

From the marketplace README:
  • AWS account with a Route53 hosted zone for your domain
  • AWS CLI configured with credentials
  • Pulumi CLI
  • Node.js 22.x and pnpm
  • WireGuard tools (wireguard-tools)
  • A Grafana/Loki endpoint for centralized logging
You will also generate WireGuard keypairs (one per node), a database password, and a wallet encryption key.

Network topology

Two WireGuard meshes connect the components:
  • wg0 (10.11.0.0/24) — ships logs from every node to your external Grafana/Loki endpoint.
  • wg1 (10.12.0.0/24) — internal control-plane ↔ API node traffic. The control-plane pushes config; API nodes pull pricing and tenant updates.
Public client traffic only hits the API nodes. The control-plane is not exposed to the public internet.

Following the deploy

The README walks through the deploy in order: VPC → Database → Control-Plane stack → Control-Plane applications → API Node stack. Each stack depends on outputs from the previous one. Skipping ahead does not work. After the stacks are up, you onboard tenants through the control-plane (UI or API), and they start receiving traffic on their assigned subdomain.

Where to read

  • marketplace README — full deployment guide, including secret generation, AMI selection, every required Pulumi config key, verification steps, and HA notes.
  • @faremeter/gateway-nginx ARCHITECTURE.md — what the API nodes are doing internally.
  • Facilitators — settlement runs through a Faremeter facilitator. Decide whether to run your own or point at one.
If you hit issues during deployment, the marketplace README’s Troubleshooting section covers the common failure modes (WireGuard handshake, RDS connectivity, certbot Route53 challenge, deploy script stack discovery).