Skip to content

Release 4.2.0

Aaron Graubert requested to merge staging-4.2.0 into master

Beymax 4.2.0 / API 1.3.0

API Changes

  • Added a heartbeat file function to the webui controller. This allows the times of successful heartbeats to be tracked externally (ie: by docker/k8s managers).
  • Removed support for the terrible docker-discriminator pairing method. I'm choosing not to track this as a major version because I'm in charge and there's nothing you can do to stop me
  • Renamed database core_traces.traceID and .shardID columns to snake_case (trace_id and shard_id)

Webui Controller changes

  • Made the DB connection more robust at startup, avoiding an issue where if the connection fails the first time, it can never be retried
  • Pairing tokens no longer expire. This solves an issue where shards would crash and restart after the pairing token expired, providing no method for them to reauthenticate with the controller.
    • It's very important that controllers and shards are properly secured. Choose a sufficiently complex pairing token and keep it safe
  • Added a mechanism to restrict the shard api /api/shard to a given subnet. This is a stopgap, but the real best way to secure the shard API is with a reverse proxy. This subnet filter only supports IPv4 at the moment
  • An unlimited amount of shards can pair, but the controller will only allow a given number to start at once.
  • Removed unused API endpoints:
    • /api/guild/suites
    • /api/guild/suites/<suite_name>
    • /reservations/
    • /api/shard/devel/cya
    • /api/shard/discriminator
  • Switched to Yarn for nodejs package management
Edited by Aaron Graubert

Merge request reports

Loading