Skip to main content

Orbitor Gateway (IPFS)

Background

The Infrastructure team operates the IPFS HTTP Gateway infrastructure (Orbitor) to provide public access to IPFS content via standard HTTP. The backend gateway is Rainbow, an implementation of the IPFS HTTP Gateway API based on Boxo, the tooling that powers the Kubo IPFS implementation. It uses the same Go code as Kubo’s HTTP gateway but is fully specialized to serve as a gateway.

The Infrastructure team runs multiple Rainbow gateways and dedicated backend peer nodes across multiple regions for high availability and low-latency global coverage.

In addition to our internal monitoring tools, we host the following public monitoring endpoints for visibility and reach:

Architecture

The Orbitor gateway infrastructure consists of:

  • IPFS gateway: running Rainbow gateway software
  • IPFS node: running Kubo software
  • Cloudflare global load balancing: for high availability and traffic steering
  • Observability Stack: Prometheus, Grafana, Alertmanager, PagerDuty, Betterstack, Grafana K6...

Below is the architecture overview of the global endpoint.

alt text

Deployment & Maintenance

IPFS execution configuration:

IPFS-related Ansible roles:

Deployment/Upgrade Steps

  1. Get the latest image tag

  2. Update the image tag in the Ansible configuration

  3. Dry-run the deployment with --check:

    • Rainbow Gateway:
     ansible-playbook ./playbooks/start-ipfs-gateway.yml -l ipfs-gateway --diff --check
    • Kubo node:
    ansible-playbook ./playbooks/start-ipfs-node.yml -l ipfs-node --diff --check
  4. Deploy the changes once acceptable

  5. Verify the gateway is operational

    • Check container logs
    • Verify dashboards/status