[ADD] Docker and Mocknet Cleanup

This includes cleanup and restructuring around the Docker build and local mocknet - this should be fine to review, but I will leave in Draft status until January.

Changes:

  • Removed dead/broken build and mocknet configuration
  • Restructured mocknet to use vanilla docker-compose and leverage profiles - cd build/docker && docker compose --profile mocknet up
  • Docker Compose services now use volumes instead of bind mounts (UID/GID mismatch was a pain point)
  • Fixed a couple functions in core.sh where IFS was overridden as a side effect
  • Parameterized CHAIN_ID in thornode init
  • Minor restructure of build/scripts
  • Updated cosmos.SignerCreds to optionally read from environment variables so the entrypoints no longer need to pipe printf to thornode
  • Images now run a full node by default if no command is provided

If there were any use cases missed in the restructure please advise - the goal was net simplification not to remove anything that's actively used, but I wasn't 100% sure on some of these. Additional planned work related to this will be proposed in subsequent MRs sequentially:

  • Move as much logic as possible from the entrypoint shell scripts into initialization in thornode (this will also allow docker image improvements - the size can be ~100MB instead of ~500MB)
  • Configure a docker-compose service for a web UI like THORSwap that works properly with all chains on the local mocknet
  • Extend mocknet with a --cluster profile that can be used to add multiple thornode/bifrost pairs for local churns
  • Use the cluster mocknet to add churn-related testing to the smoke tests
Edited by Heimdall

Merge request reports

Loading