Environment Setup
This guide provides a quick reference for setting up and running a local PATH
instance in Tilt.
It is a pre-requisite for the following protocol-specific guides:
- Shannon Protocol Guide: For the new Shannon protocol (Beta TestNet as of 11/2025)
- Morse Protocol Guide: For the original Morse protocol (MainNet as of 2020)
Table of Contents
- Development Environment
- Prerequisites
- 3. Setup Envoy Proxy
- 4. Choose Your Protocol
- Additional Resources
Development Environment
PATH uses a Kubernetes-based local development environment. We use Kind (Kubernetes in Docker) for running the local Kubernetes cluster, as it provides better compatibility with Tilt's image building process compared to Docker Desktop's Kubernetes cluster.
Prerequisites
1. Clone the Repository
git clone https://github.com/buildwithgrove/path.git
cd ./path
2. Install Required Tools
The following tools are required to start a local PATH instance:
Local Deployment Tools:
- Docker: Container runtime
- Kind: Local Kubernetes cluster
- kubectl: CLI for interacting with Kubernetes
- Helm: Package manager for Kubernetes
- Tilt: Local Kubernetes development environment
Development Tools:
- Uber Mockgen: Mock interface generator for testing
To install all dependencies automatically:
make install_deps
3. Setup Envoy Proxy
Setup all the configurations to enable authorization, service aliasing, and rate limiting:
make init_envoy
This will generate four configuration files:
.allowed-services.lua
.envoy.yaml
.ratelimit.yaml
.gateway-endpoints.yaml
For a quick initial setup, choose Option 2 (no authorization) when prompted.
4. Choose Your Protocol
Protocol | Version | Status | Network | Documentation |
---|---|---|---|---|
Shannon | v1 | Beta | TestNet | Shannon Protocol Guide |
Morse | v0 | Original | MainNet | Morse Protocol Guide |
Additional Resources
- PATH Walkthrough - Detailed explanation of PATH architecture
- PATH Config Docs - Detailed configuration guide
- Envoy Config Docs - Envoy proxy configuration guide