Commit Graph

833 Commits

Author SHA1 Message Date
Hemna 011cfc55e1 Use config web_ip for running admin ui from module
When running the web admin interface with
'python -m aprsd.wsgi' the Flask app global now uses
the web_ip config entry for listening.  Also disabled
debug output.
2023-07-26 08:47:22 -04:00
Hemna e0c3c5cbbf remove loop log 2023-07-25 20:45:55 -04:00
Hemna 26f354b3a9 Max out the client reconnect backoff to 5
This patch adjusts the backoff mechanism for aprs client
reconnect to a max backoff sleep of 5 seconds.   This prevents
an exponential backoff when connection retrying.
2023-07-24 17:03:29 -04:00
Walter A. Boring IV 922a6dbb35
Merge pull request #125 from craigerl/update-Dockerfile
Update the Dockerfile
2023-07-24 14:34:06 -04:00
Hemna d03c4fc096 Update the Dockerfile
This updates the main Dockerfile to be the same as the
Dockerfile-dev other than using the official pypi package for
aprsd.
2023-07-24 11:36:28 -04:00
Hemna dfd3688d8f Changelog updates for v3.1.0
This patch is an update to the Changelog for the
3.1.0 release.
2023-07-24 11:22:53 -04:00
Hemna c7d629f88a Use CONF.admin.web_port for single launch web admin
This patch changes the non uwsgi launch of the admin page
to use the config for the web port
2023-07-24 09:39:16 -04:00
Hemna 099b87e250 Fixed sio namespace registration 2023-07-23 20:22:48 -04:00
Hemna 1ab9c3fee4 Update Dockerfile-dev to include uwsgi 2023-07-24 00:13:28 +00:00
Walter A. Boring IV 8891cd3002
Merge pull request #124 from craigerl/wsgi-rework
replacement of flask-socketio with python-socketio
2023-07-23 19:45:51 -04:00
Hemna 4664ead9e7 Fixed pep8 2023-07-23 19:34:02 -04:00
Hemna e51a501544 change port to 8000 2023-07-23 19:19:55 -04:00
Hemna 89576a3c43 replacement of flask-socketio with python-socketio
This patch starts the work to replace flask-socketio with
python-socketio so that uwsgi can be used instead of gunicorn.
uwsgi can support websockets.

Have to rework webchat command next
2023-07-23 18:54:23 -04:00
Hemna 5383b698ea Change how fetch-stats gets it's defaults
The defaults come from the aprsd.conf CONF attributes now.
2023-07-22 17:05:11 -04:00
Hemna cbef93b327 Ensure fetch-stats ip is a string 2023-07-22 16:41:54 -04:00
Hemna 6ae55fc9a1 Add info logging for rpc server calls 2023-07-20 16:43:31 -04:00
Hemna 588e140a7f updated wsgi config default /config/aprsd.conf
This patch changes wsgi.py to default to /config/aprsd.conf

It's assumed that this will be used as a docker container
2023-07-20 15:59:44 -04:00
Walter A. Boring IV d251a2727a
Merge pull request #123 from craigerl/flask-update
Remove flask pinning
2023-07-20 15:10:07 -04:00
Hemna d3a93b735d Added timing after each thread loop
This is to help keep track of which non-blocking threads are still
alive.

The RPC Server thread blocks, so the time will always increase.
2023-07-20 14:44:46 -04:00
Hemna fa452cc773 Update docker bin/admin.sh
This patch uses the wsgi.py instead of admin_Web.py
2023-07-20 14:34:32 -04:00
Hemna 6a6e854caf Removed flask-classful from webchat
This patch removed the dependency on flask-classful.  This required
making all of the flask web routing non class based.

This patch also changes the aprsis class to allow retries for failed
connections when the aprsis servers are full and not responding to
login requests.
2023-07-20 14:34:31 -04:00
Hemna e1183a7e30 Remove flask pinning
Also removed need for flask-classful. Created new
aprsd/wsgi.py for the web admin interface.
2023-07-20 14:34:31 -04:00
Hemna 5723e3a77b removed linux/arm/v8 2023-07-20 14:33:59 -04:00
Hemna dee73c1060 Update master build to include linux/arm/v8 2023-07-17 22:08:00 +00:00
Hemna d8318f2ae2 Update Dockerfile-dev to fix plugin permissions
This patch changes the user creation to include creating
a home directory so the plugin install installs those plugins
as a --user option.
2023-07-17 21:57:39 +00:00
Walter A. Boring IV 2825cac446
Merge pull request #122 from craigerl/crypto-upgrade
Update requirements for upgraded cryptography
2023-07-17 16:56:30 -04:00
Hemna fa6e738a20 update manual build github 2023-07-17 13:05:31 -04:00
Hemna 0c179005ee Update requirements for upgraded cryptography
This patch updates the requirements.in to remove the
pinning to cryptography 38.0.1.  Lets see if the docker
images build.
2023-07-17 11:15:50 -04:00
Hemna ad004633de Added more libs for Dockerfile-dev 2023-07-17 14:09:37 +00:00
Hemna ccd564a52e Replace Dockerfile-dev with python3 slim 2023-07-17 13:28:34 +00:00
Hemna 35d41582ee Moved logging to log for wsgi.py
Added wsgi.py to be used with gunicorn to start aprsd's web admin
interface.

gunicorn -b :8080 "aprsd.wsgi:app"
2023-07-16 16:32:39 -04:00
Hemna 565ffe3f72 Changed weather plugin regex pattern
The weather plugins used to match on w, but now require wx
2023-07-15 18:22:24 -04:00
Hemna 0bd11d05c6 Limit the float values to 3 decimal places 2023-07-14 11:35:32 -04:00
Walter A. Boring IV 62eff8645d
Merge pull request #119 from craigerl/wx-fixes
Fixed rain numbers from aprslib
2023-07-14 11:18:11 -04:00
Hemna aa547cbef5 Fixed rain numbers from aprslib 2023-07-14 10:42:36 -04:00
Hemna 7f2aba702a Fixed rpc client initialization 2023-07-13 14:58:12 -04:00
Hemna 63bf82aab5 Fix in for aprslib issue #80
aprslib incorrectly decodes weather packets and doesn't provide
wind_speed or wind_direction from the CSE/SPD 7 bytes in the APRS
packet.  This patch puts a temporary fix in place until the
aprslib pull request lands and is released.

https://github.com/rossengeorgiev/aprs-python/issues/80

https://github.com/rossengeorgiev/aprs-python/pull/81
2023-07-13 14:35:55 -04:00
Hemna bba7b68112 Try and fix Dockerfile-dev 2023-07-10 16:34:14 +00:00
Hemna 005675cb46 Fixed pep8 errors 2023-07-10 11:01:41 -04:00
Hemna 191e1ff552 Populate stats object with threads info
This patch adds the thread names and state to the stats object
so the aprsd fetch-stats command can show it.
2023-07-10 10:44:24 -04:00
Hemna 0a14b07fae added counts to the fetch-stats table 2023-07-09 21:29:29 -04:00
Hemna b2e621da4b Added the fetch-stats command
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>
2023-07-09 21:06:57 -04:00
Hemna fe0d71de4d Replace ratelimiter with rush
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
2023-07-08 17:30:22 -04:00
Hemna 9b944142bd Added some utilities to Dockerfile-dev
This patch adds telnet, sudo and vim to the development
Dockerfile-dev file for testing aprsd in a container
2023-06-22 15:51:45 -04:00
Hemna b172c692a1 add arm64 for manual github build 2023-06-22 10:44:08 -04:00
Hemna 311cebaf27 Added manual master build 2023-06-22 10:08:28 -04:00
Walter A. Boring IV f4d60357ee
Update master-build.yml
undo
2023-06-22 10:04:59 -04:00
Hemna 09a0c4cb02 Add github manual trigger for master build 2023-06-22 10:03:39 -04:00
Hemna 80b85e648f Fixed unit tests for Location plugin 2023-06-22 09:06:55 -04:00
Hemna 9931c8a6c5 USe new tox and update githubworkflows
This patch updates tox to the latest and updates the github workflows
to use tox-gh, which is claimed to work with github parallel tox runs
2023-06-22 07:58:35 -04:00