So I’ve been working on a Python port of anm, which was progressing nicely until I lost the ability to run nodes.
Weave Node Manager seeks to monitor node clusters and automatically make adjustments to keep the nodes running within a set of adjustable rules.
I have a request for someone running a node. Somehow, I forgot to backup the output results from a node, which I want to simulate in my lab so that I can get back to development.
The first thing I need is a port dump of the two endpoints that I can’t make work at the moment. First the metadata results
This little project makes a small but not tiny fake node to be used to simulate nodes without wasting network bandwidth or disk bandwidth (or in my case, when the network doesn’t work in my labs). All said and done, on OSX Sequoia this little script is still 24MB in size and doesn’t yet support many customized metrics (just uptime) but I may add more over time as wnm gets smarter.
I’m a little frustrated though. I can’t use antctl as a node manager with fakenode because antctl checks that the executable name matches, but I’m currently using a modifiable shell script called antnode to launch fakenodes with custom settings (like node version to report) and antctl start fails because the names don’t match (antctl sees /bin/bash instead of antnode).
Obviously, my use case shouldn’t distract the team, but my only alternative is to build a binary version of this script (in Rust?), which would then require building and managing binaries for each fake node version. I almost did that solution first, but I don’t know anything about rust so I can’t pair with AI like I can with python.
It’s also unlikely that anyone using antctl would bother with fakenode, so solving this edge case doesn’t seem necessary at this time.
Ultimately, even in its current state, this allows me to restart work on wnm, so it has succeeded in helping me move forward!