I am proud to announce the release of COSMOS 5 Beta 1!

COSMOS 5 is a highly scalable, cloud native, command and control software system. This is a beta release meant for COSMOS users to start experimenting with and providing feedback on the COSMOS 5 architecture and tools.

Changes from the Alpha 1 Release:

  • Extractor - Combines the TlmExtractor and CmdExtractor tools from COSMOS 4
  • Test Runner Support - Script Runner will now treat any file with _suite.rb in the filename as a test runner suite
  • Plugin System - One of the most exciting features coming in COSMOS 5 are plugins that allow plugging in targets / tools / and microservices into COSMOS
  • Admin Interface - Allows adding/removing plugins and changing configuration
  • Fully functional ethernet based interfaces and routers
  • Functional Limits Monitor
  • Lots of fixes and improvements

COSMOS 5 Technologies:

  • Docker - COSMOS 5 runs across a set of containers managed by Docker
  • Redis - Redis is used as a key-value store, and streaming data server
  • Minio - Minio provides an S3 compatible file storage server
  • EFK Stack - Elasticsearch, Fluentd, Kibana - Provide a distributed logging solution
  • Vue.js - Javascript technology used to build the new COSMOS user interface

Functional versions of the following COSMOS tools are included in this release:

  • Command and Telemetry Server
  • Command Sender
  • Packet Viewer
  • Telemetry Viewer
  • Telemetry Grapher
  • Script Runner (Test Runner now built in)
  • Limits Monitor
  • Extractor
  • Admin Interface

Known Things That Aren’t Done/Fully Working Yet:

  • Limits Sets and Limits Groups
  • The LATEST telemetry packet
  • Data Viewer
  • Handbook Creator
  • Replay
  • Per-Target Cmd/Tlm Counters
  • Plugin Tool Support
  • Serial Interface Support (probably would work on a linux host with the cosmos-operator container running with –privileged)
  • subscribe_ API calls
  • Some lesser used API calls

Prerequisites:

Docker - Running COSMOS 5 requires a working Docker installation. Typically Docker Desktop on Windows / Mac. Plain docker should work on linux. We’re currently only developing / running with Docker Desktop on Windows, so if you have any issues on another platform, please let us know by submitting a ticket!

Minimum Resources allocated to Docker: 8GB RAM, 1 CPU, 80GB Disk Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk

To Run:

  1. Download one of the archives (.zip or .tar.gz from the Github release page) Download Release Here (bottom of page under Assets)
  2. Extract the archive somewhere on your host computer
  3. The COSMOS 5 containers are designed to work and be built in the presence of an SSL Decryption device. To support this a cacert.pem file can be placed at the base of the COSMOS 5 project that includes any certificates needed by your organization. If you don’t need this, then please ignore, but if you see any SSL errors, this is probably why.
  4. Run cosmos_start.bat (Windows), or cosmos_start.sh (linux/Mac)
  5. COSMOS 5 will be built and when ready should be running (~15 mins for first run, ~2 for subsequent)
  6. Connect a web browser to http://localhost:8080
  7. Have fun trying out COSMOS 5!

We will be actively updating documentation on cosmosc2.com throughout the month of January. So if it isn’t documented yet, we’re getting there!

Please try it out and let us know what you think! Please submit any issues as Github tickets, or any generic feedback to cosmos@ballaerospace.com.

Note that this release is not recommended for production use. We will have a release candidate release in a few months.

Thanks!