You can now fetch and view the stats of a live running aprsd server
if it has enabled the rpc server in the config file's rpc_settings
block.
You just have to match the magic word as specified in the config file to
authorize against the rpc server.
aprsd fetch-stats --ip-address <ip of aprsd> --port <port> --magic-word
<magic word>
This patch replaces the ratelimiter library with rush for rate limiting
as the ratelimiter package doesn't work with python 3.11.
This patch also refactors the flask.pu to admin_web.py and
aprsd.py to main.py
Added the ability to start the rpc server for fetching stats from the
listen command. If the rpc server is enabled in config, the rpc
server will now start.
Added geopy as a dependency for the location plugin.
The us weather service API is now broken upstream.
Reworked the requirements.txt and dev-requirements.txt files
This patch updates the aprsd listen command to add the packet-plugins
argument which allows enabling a single plugin to work against the
packets recieved from the aprsis network.
This patch adds basic ratelimiting to sending out AckPackets
and non AckPackets. This provides a basic way to prevent
aprsd from sending out packets as fast as possible, which isn't
great for a bandwidth limited network.
This patch also adds some keepalive checks to all threads in the
threadslist as well as the network client objects (apris, kiss)
For whatever reason passing in group in python 3.9.x
fails for importlib_metadata.entry_points. This patch
fetches all and filters through them to get the real
oslo.config.opts entry points now. This is to find all
of the config options of aprsd and the plugins
After adding the rpc service for aprsd server and separating the
admin web REST interface, healthcheck no longer worked. The stats
are available via rpc now.