stack-orchestrator/stack_orchestrator/data/stacks/ajna
Nabarun a322d6eed4
Some checks failed
Lint Checks / Run linter (push) Successful in 1m5s
Publish / Build and publish (push) Successful in 2m27s
Webapp Test / Run webapp test suite (push) Successful in 7m1s
Smoke Test / Run basic test suite (push) Successful in 7m30s
Deploy Test / Run deploy test suite (push) Successful in 9m23s
Fixturenet-Laconicd-Test / Run Laconicd fixturenet and Laconic CLI tests (push) Successful in 24m12s
Fixturenet-Eth-Plugeth-Test / Run an Ethereum plugeth fixturenet test (push) Failing after 51m33s
K8s Deploy Test / Run deploy test suite on kind/k8s (push) Successful in 6m56s
Fixturenet-Eth-Plugeth-Arm-Test / Run an Ethereum plugeth fixturenet test (push) Failing after 1h40m25s
Database Test / Run database hosting test on kind/k8s (push) Successful in 9m3s
Container Registry Test / Run contaier registry hosting test on kind/k8s (push) Successful in 4m4s
External Stack Test / Run external stack test suite (push) Successful in 4m31s
Add dashboard for graph-node subgraphs (#832)
Part of [Deploy v2 and updated v3 sushiswap subgraphs](https://www.notion.so/Deploy-v2-and-updated-v3-sushiswap-subgraphs-e331945fdeea487c890706fc22c6cc94)

- Add param `GRAPH_ETHEREUM_BLOCK_INGESTOR_MAX_CONCURRENT_JSON_RPC_CALLS_FOR_TXN_RECEIPTS` in graph-node stack
  - <https://github.com/graphprotocol/graph-node/blob/v0.31.0/docs/environment-variables.md#json-rpc-configuration-for-evm-chains>
- Add dashboard for subgraphs deployment in graph-node
  -  Show subgraph names in dashboard
- Add watcher dashboard panel for showing watcher release version and commit hash

Reviewed-on: #832
Co-authored-by: Nabarun <nabarun@deepstacksoft.com>
Co-committed-by: Nabarun <nabarun@deepstacksoft.com>
2024-06-04 07:21:27 +00:00
..
README.md Update subgraph watcher stacks to configure multiple RPC endpoints (#822) 2024-05-10 04:58:30 +00:00
stack.yml Add dashboard for graph-node subgraphs (#832) 2024-06-04 07:21:27 +00:00

Ajna Watcher

Setup

Clone required repositories:

laconic-so --stack ajna setup-repositories --git-ssh --pull

Build the container images:

laconic-so --stack ajna build-containers

Deploy

Create a spec file for the deployment:

laconic-so --stack ajna deploy init --output ajna-spec.yml

Ports

Edit network in the spec file to map container ports to host ports as required:

...
network:
  ports:
    ajna-watcher-db:
     - 15432:5432
    ajna-watcher-job-runner:
     - 9000:9000
    ajna-watcher-server:
     - 3008:3008
     - 9001:9001

Create a deployment

Create a deployment from the spec file:

laconic-so --stack ajna deploy create --spec-file ajna-spec.yml --deployment-dir ajna-deployment

Configuration

Inside deployment directory, open the config.env file and set following env variables:

# External Filecoin (ETH RPC) endpoint to point the watcher to
CERC_ETH_RPC_ENDPOINTS=https://example-lotus-endpoint-1/rpc/v1,https://example-lotus-endpoint-2/rpc/v1

Start the deployment

laconic-so deployment --dir ajna-deployment start
  • To list down and monitor the running containers:

    # With status
    docker ps -a
    
    # Check logs for a container
    docker logs -f <CONTAINER_ID>
    
  • Open the GQL playground at http://localhost:3008/graphql

    # Example query
    query {
      _meta {
        block {
          hash
          number
          timestamp
        }
        deployment
        hasIndexingErrors
      }
    
      accounts {
        id
        txCount
        tokensDelegated
        rewardsClaimed
      }
    }
    

Clean up

Stop all the ajna services running in background:

# Only stop the docker containers
laconic-so deployment --dir ajna-deployment stop

# Run 'start' to restart the deployment

To stop all the ajna services and also delete data:

# Stop the docker containers
laconic-so deployment --dir ajna-deployment stop --delete-volumes

# Remove deployment directory (deployment will have to be recreated for a re-run)
rm -r ajna-deployment