Commit Graph

320 Commits

Author SHA1 Message Date
Hemna 34d2c31d90 Added log config for flask and lnav config file
This patch adds the aprsd-lnav.json formatting file.
This is useful when you want to tail the logfile with the lnav
log tailing app.

http://lnav.org/

To install the aprsd-lnav.json formatter
1) install lnav
2) lnav -i aprsd-lnav.json
3) lnav -C  -- just to test it out

The next time you launch aprsd do it with this
aprsd server --loglevel DEBUG | lnav

This patch also updates the logging output from the flask
web service to 1) disable flask web url logging and 2)
use the same output format as the rest of the app.
2021-03-31 11:07:39 -04:00
Hemna d1a2a14370 Added showing APRS-IS server to stats
This patch updates the client.py to collect which APRS-IS server
that aprsd is connected to and displays that info on the stats web page.
2021-03-30 10:43:31 -04:00
Hemna fb979eda94 Provide an initial datapoint on rendering index
This patch adds a single data point when rendering the
initial stats for the index page.
2021-03-30 10:18:56 -04:00
Hemna 6297ebeb67 Make the index page behind auth
This patch makes the index page ask for login/password in order
to see the stats.
2021-03-30 09:55:14 -04:00
Hemna f10372b320 Added acks with messages graphs 2021-03-26 11:13:32 -04:00
Hemna c7d10f53a3 Updated web stats index to show messages and ram usage
This patch updates the main index page to show both the
graph of tx/rx messages as well as peak/current ram usage.
2021-03-24 16:07:09 -04:00
Hemna f211e5cabb Added aprsd web index page
This patch adds an index page for the flask web server that users
can hit at /
2021-03-24 10:45:03 -04:00
Walter A. Boring IV 53cdccde10
Merge pull request #52 from craigerl/dependabot/pip/jinja2-2.11.3
Bump jinja2 from 2.11.2 to 2.11.3
2021-03-23 10:15:34 -04:00
Walter A. Boring IV a657eeb390
Merge pull request #51 from craigerl/dependabot/pip/urllib3-1.26.3
Bump urllib3 from 1.26.2 to 1.26.3
2021-03-23 10:15:12 -04:00
dependabot[bot] d9536434b0
Bump jinja2 from 2.11.2 to 2.11.3
Bumps [jinja2](https://github.com/pallets/jinja) from 2.11.2 to 2.11.3.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/2.11.2...2.11.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-20 05:37:19 +00:00
dependabot[bot] 5f3e067c96
Bump urllib3 from 1.26.2 to 1.26.3
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.2 to 1.26.3.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.2...1.26.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-19 20:14:09 +00:00
Hemna 0a038dae44 Added log format and dateformat to config file
This patch moves the default log format string and date format string
to the config file, so users can format the logs as they see fit.
The default log format also includes the file and line number that
posted the log entry.

The new entries in the config are here:
aprsd:
  logformat: "String here"
  dateformat: "string here"
2021-02-25 13:32:50 -05:00
Hemna 239e784d51 Added Dockerfile-dev and updated build.sh
Build.sh is used for multi-architecture building of docker images.
2021-02-18 18:59:08 -05:00
Hemna 933917bf9d Require python 3.7 and > 2021-02-18 16:51:31 -05:00
Hemna e6cafeb3d2 Added plugin live reload and StockPlugin
This patch adds 2 items.  First it adds the new StockPlugin,
which fetches stock quotes from yahoo finance rest API using
the yfinance python module.

2nd, the web interface contains a new url /plugins, which allows
aprsd to reload all of it's plugins from disk.  This is useful for
development where the dev is editing an existing plugin and wants to
run the edited plugin without restarting aprsd itself.  The /plugins
url requires admin login credentials.

TODO: would be nice to live reload the aprsd.yml config file, so plugin
reloading can start new plugins defined in aprsd.yml between /plugins
being reloaded.
2021-02-18 16:31:52 -05:00
Hemna 9f66774541 Updated Dockerfile and build.sh
This patch updates the main Dockerfile to work in multi-architecture
build.  Dockerfile now builds and install aprsd from pypi, not github.
2021-02-18 16:15:49 -05:00
Hemna c177748340 Updated Dockerfile for multiplatform builds
This patch updates the main Dockerfile container build to use
the python:3.8-slim base image and installs aprsd from pypi.
This also results in a much smaller image.

Also added support for multiarchitecture builds so the same Dockerfile
builds for raspberry pi and linux/amd64
2021-02-16 10:20:34 -05:00
Hemna f0034fc517 Updated Dockerfile for multiplatform builds
This patch updates the main Dockerfile container build to use
the python:3.8-slim base image and installs aprsd from pypi.
This also results in a much smaller image.

Also added support for multiarchitecture builds so the same Dockerfile
builds for raspberry pi and linux/amd64
2021-02-16 10:05:11 -05:00
Hemna 2d5bb85071 Dockerfile: Make creation of /config quiet failure
This patch adds -p to mkdir command in the Dockerfile
to quiet the failure if /config already exists.
2021-02-13 10:41:43 -05:00
Hemna b6ba90de53 Updated README docs
This patch updates the 2 readme files with copies for the latest
sample-config output to match the 1.6.0 release's config.

Also fixed a small issue with the Dockerfile.
2021-02-13 09:27:03 -05:00
Hemna a266c987fd 1.6.0 release prep 2021-02-12 19:46:31 -05:00
Walter A. Boring IV e2d8cc60e5
Merge pull request #49 from craigerl/dependabot/pip/cryptography-3.3.2
Bump cryptography from 3.3.1 to 3.3.2
2021-02-12 14:10:04 -05:00
Walter A. Boring IV 3a6316fa8a
Merge pull request #47 from craigerl/stabilize_1_6_0
Branch to stabilize for the 1.6.0 release.
2021-02-12 14:09:48 -05:00
Hemna 7df6462d91 Updated path of run.sh for docker build 2021-02-10 12:04:24 -05:00
Hemna 24edcad60a Moved docker related stuffs to docker dir 2021-02-10 11:58:02 -05:00
Hemna 9ba44a076c Removed some noisy debug log.
Use the tracing instead to enable the debugging of
email calls
2021-02-10 10:37:39 -05:00
dependabot[bot] afc53624e1
Bump cryptography from 3.3.1 to 3.3.2
Bumps [cryptography](https://github.com/pyca/cryptography) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/3.3.1...3.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-10 02:38:28 +00:00
Hemna 131919bdfb Wrap another server call with try except
Dreamhost email is total garbage.  Stop using it.
2021-02-05 15:32:36 -05:00
Walter A. Boring IV d0d0aef077
Merge pull request #48 from craigerl/dependabot/pip/bleach-3.3.0
Bump bleach from 3.2.1 to 3.3.0
2021-02-03 11:12:04 -05:00
Hemna a5cc274ff5 Wrap all imap calls with try except blocks
The Email Thread has been unstable due to some IMAP servers
being crap.  This patch wraps more of the imap server calls
in try except blocks to try and trap errors.
2021-02-03 11:00:20 -05:00
dependabot[bot] d71937b176
Bump bleach from 3.2.1 to 3.3.0
Bumps [bleach](https://github.com/mozilla/bleach) from 3.2.1 to 3.3.0.
- [Release notes](https://github.com/mozilla/bleach/releases)
- [Changelog](https://github.com/mozilla/bleach/blob/master/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v3.2.1...v3.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-02 23:17:59 +00:00
Craig Lamparter 47135c6086 EmailThread was exiting because of IMAP timeout, added exceptions for this 2021-02-02 11:13:17 -08:00
Hemna db2b537317 Added memory tracing in keeplive 2021-01-29 11:02:21 -05:00
Hemna 0b44fc08eb Fixed tox pep8 failure for trace 2021-01-29 10:15:20 -05:00
Hemna af48c43eb2 Added tracing facility
You can enable debug tracing iff loglevel == DEBUG AND
config file has aprsd:trace:True
2021-01-29 10:07:49 -05:00
Hemna 94bad95e26 Fixed email login issue.
This patch undoes an overzealous reworking of the
config.  the arps login didn't move.
2021-01-26 13:33:39 -05:00
Craig Lamparter 57d768e010 duplicate email messages from RF would generate usage response 2021-01-26 09:18:43 -08:00
Hemna 030b02551f Enable debug logging for smtp and imap
Add the new config options for
aprsd:
  email:
    imap:
      debug: True

    smtp:
      debug: True
2021-01-25 16:16:08 -05:00
Craig Lamparter cfb172481d more debug around email thread 2021-01-25 12:54:24 -08:00
Craig Lamparter 3ca0eeff56 debug around EmailThread hanging or vanishing 2021-01-25 12:24:20 -08:00
Hemna c1e6792721 Fixed resend email after config rework
This patch fixes 1 missed access to the shortcuts after
the restructuring of the config file
2021-01-25 15:15:53 -05:00
Hemna aa290692ab Added flask messages web UI and basic auth
This patch fixes the CTRL-C signal_handler.
This patch also adds the new Messages WEB UI page
as well as the save url, which are both behind an
http basic auth.

The flask web service now has users in the config file
aprsd:
  web:
    users:
      admin: <password>
2021-01-25 11:24:39 -05:00
Hemna 0d18e54969 Fixed an issue with LocationPlugin
When calling LocationPlugin with a callsign outside of the US,
the forecast.weather gov wasn't raising an exception.  A valid json
dict was coming back, but it didn't have location data we were
expecting.
2021-01-22 16:32:49 -05:00
Hemna 51894bbab8 Cleaned up the KeepAlive output
This patch cleans up the KeepAlive output a bit.
2021-01-22 16:05:48 -05:00
Hemna 8bfdefd5ad updated .gitignore
This patch updates .gitignore to ignore the docs/_build output dir
2021-01-22 15:36:22 -05:00
Walter A. Boring IV f5ae161ab8
Merge pull request #46 from craigerl/healthcheck
Added healthcheck app
2021-01-22 14:30:44 -05:00
Hemna c870207a96 Added healthcheck app
This patch adds the healthcheck app that uses the flask stats url
to fetch the internal stats of a running aprsd server.  If the server is
up the stats will return and be checked for 'healthy' status.
IF the url fails to return, healthcheck will exit with -1.  You can use
this script to restart aprsd if healthcheck exits with -1 status.

There is a check against the email thread.  The email thread updates a
deadman's timer every 5 seconds.   If that time gets older than 5
minutes, then healthcheck will say that's a failure and exit with -1.

You can call healthcheck and restart aprsd if it fails (exit -1)
2021-01-22 12:51:11 -05:00
Walter A. Boring IV f932c203d7
Merge pull request #45 from craigerl/flask
Flask
2021-01-22 08:21:20 -05:00
Hemna cae8746690 Add flask and flask_classful reqs 2021-01-21 21:11:41 -05:00
Hemna 5c949343ec Added Flask web thread and stats collection
This patch adds the stats object to collect statistics of
the running server.  This also optionally adds the ability
to run a flask web service on a port to use as a keepalive
healthcheck.
2021-01-21 20:58:47 -05:00