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.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.
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:| Stack | What it provisions |
|---|---|
vpc-stack | AWS networking — subnets, security groups, NAT |
database-stack | PostgreSQL RDS (Multi-AZ, encrypted) |
control-plane-stack | EC2 instance running the control-plane API, UI, and discovery service |
api-node-stack | EC2 instance(s) running nginx + the gateway sidecar for client traffic |
- 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.
@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
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.
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-nginxARCHITECTURE.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.