Skip to content

Redesign for Stability and Flexibility

Compare
Choose a tag to compare
@crokita crokita released this 23 Oct 14:01
· 138 commits to master since this release
bb7af08

2.0.0 (October 23, 2018)

Manticore has been redesigned to perform comprehensive job health checking, be extensible, and be flexible in its configuration while behaving much more consistently than its previous version.

New Features and Breaking Changes

  • Uses async/await syntax to make asynchronous functions more understandable and composable
  • Job health checking now consists of looking at both allocation and service health statuses
  • Includes environment variables to select which security groups are attached to the AWS ELB and the API machines so that the port rules are automatically configured
  • Includes environment variables to control enabling encryption for HTTP, WS, and TCP connections
  • Includes an advanced health checker that looks at Manticore's job history for the current health state, and will submit jobs on its own to determine health state if no activity is present
  • Batches requests under high enough load to reduce stress on the system
  • Allows extensibility through listener modules and subscribing to events that the server propagates
  • Allows for swappable interface modules which Manticore depends on for base functionality. The job, logger, store, and websocket modules are swappable.

API Changes

  • All v1 routes are removed in favor of the v2 routes
  • GET / returns the health status of Manticore, or if webpage mode is enabled, a webpage to test API calls
  • GET /health returns the health status of Manticore
  • GET /api/v2/job returns an object containing all available job types
  • POST /api/v2/job queues the client to a waiting list to eventually receive an instance of their job. Also returns a websocket url for the client to connect to for information on their instance
  • WS /api/v2/job connects the client to a websocket server using their supplied passcode to receive connection information such as position in the waiting list, and addresses to access their instances
  • DELETE /api/v2/job Removes the client from Manticore and shuts down their instances if they exist

If you have any questions about this release or about Manticore in general, please join us in the #manticore channel of our public Slack Organization.