/notify-server

notify.walletconnect.com

Primary LanguageRustMIT LicenseMIT

Notify Server

Notify Server Specs

Current documentation

Development

Dependencies

  • Rust
  • just
  • docker

Devloop

Runs all tests, integration tests, and deployment tests automatically.

just devloop

Integration tests

Login to ECR for IRN images

  • Get read-only AWS access tokens for Main AWS account.
  • Run ./ops/ecr_login.sh
just run-storage-docker test-integration

Run a specific test:

just test=test_one_project test-integration
just stop-storage-docker

Deployment tests

cp .env.example .env
nano .env

Note: source .env is unnecessary because justfile uses set dotenv-load

just run-storage-docker unit run

# With integration tests
just unit run-storage-docker test-integration stop-storage-docker run-storage-docker run
just test-deployment
just stop-storage-docker

Terraform dev deployment

Make sure you provide some secrets:

cp .env.terraform.example .env.terraform
nano .env.terraform

You may need to initialize submodules and Terraform:

git submodule update --init --recursive
terraform login
terraform -chdir=terraform init

To deploy

source .env.terraform
./terraform/deploy-dev.sh

If amd64 builds are too slow on your Mac (likely), consider using a remote builder on a linux/amd64 host:

docker buildx create --name=remote-amd64 --driver=docker-container ssh://<my-amd64-host>
BUILD_ARGS="--builder=remote-amd64 --load" ./terraform/deploy-dev.sh