This repo has config for deploying a snapchain read node to GCP with kubernetes and terraform. This is in development and more updates will follow to run a full node and participate in the network.
The configuration comes from the [instructions]https://github.com/farcasterxyz/snapchain?tab=readme-ov-file#running-a-node) to run a node.
- VPC
- Firewall
- K8s Cluster
- K8s Deployment running snapchain node
- Persistent disk storage for snapchain rocks db
- K8s Service and IP address for snapchain HTTP & RPC (3381 & 3383)
- K8s Service and IP address for snapchain gossip (3382)
- GCP DNS Zone & DNS Record (optional)
- Have a Google Cloud account
- Have a Terraform account
- Own a top level domain name (optional)
- Create a Terraform workspace
- Update
terraform/backend.tfwith your Terraform org and workspace - Authenticate Terraform with GCP (guide)
- Create
terraform.tfvarsand fill in the values fromexample.terraform.tfvars - Run
cd terraform & terraform init
- Ensure the config in
snapchain-config.tfis correct (current config comes from farcasterxyz/snapchain/docker-compose.read.yml) - Run
cd terraform & terraform apply
Once finished, point your top level domain to the NameServers of DNS zone created.