OpenC3 COSMOS Core 6.5.0 - Script Engines and System Health Tool
Welcome to OpenC3 COSMOS Core 6.5.0!
Script Engines
COSMOS has a new plugin type called Script Engines! These allow you to create plugins that allow Domain Specific Languages to run in COSMOS Script Runner. There is a very basic example included in the demo plugin for you to checkout. More documentation and better examples to come!
Potentially Breaking Changes
Files were moved during the implementation of Script Engines. Specifically running_script.rb, running_script.py and script_instrumentor.py. If you are requiring or importing these files or relying on their exact path you will need to update.
System Health Tool (Enterprise)
Enterprise has a new System Health Tool that can give you a quick glance of resource utilization and identify any CPU/Memory/Disk exceedances within COSMOS. It also has built in notifications so that users will be notified if things start getting close to the edge on resource utilization.
Improved Docs
Lots of improved docs including new docs on Processors, notes on the Traefik 3 upgrade in COSMOS 6.x, and improved documentation on the stash API.
Ace Diff Moved to Open Source Version
We forked and fixed some issues in the ace-diff npm package, but now OpenC3 is the official maintainer! So instead of including that code in our repos, our changes have now be included into the main ace-diff repo.
Packet Counters Cleared on Undeploy
Whenever you uninstall or upgrade a target plugin, cmd/tlm packet counters are now cleared back to 0.
Bug Fixes
- Fixed parameters to the SpacerWidget
- Fixed several issues in the script CLI commands
- wait lines no longer highlight in Script Runner if instrumentation is disabled
All Pull Requests
- Move to published version of @openc3/ace-diff by @ryan-pratt in #2103
- Add processor documentation and CLI support by @jmthomas in #2108
- Script Runner bug and environment variable docs by @ryan-pratt in #2113
- Fix SpacerWidget parameters by @ryan-pratt in #2122
- Improve the script CLI by @jmthomas in #2117
- Improve wording on documentation for Stashes by @clayandgen in #2132
- Add nightly firefox tests by @ryan-pratt in #2130
- Ignore wait in disable_instrumentation by @jmthomas in #2135
- Disable nightly firefox playwright tests by @ryan-pratt in #2137
- Auto-Generate Docs when changes detected by @clayandgen in #2138
- Note traefik 3 upgrade by @jmthomas in #2141
- [System Health Tool] -- Database Seed by @clayandgen in #2133
- [System Health] - Documentation by @clayandgen in #2136
- Reset the Tlm and Cmd Counts on Undeploy by @stephen-ritter in #2139
- Script Engines by @ryanmelt in #2142
Prerequisites:
Docker - Running OpenC3 requires a working Docker or Podman installation. Typically Docker Desktop on Windows / Mac. Plain Docker or Podman also works on linux. We actively develop and run with Docker Desktop on Mac/Windows, and Linux on Raspberry Pi, so if you have any issues on another platform, please let us know by submitting a ticket!
Minimum Resources allocated to Docker: 4GB RAM, 1 CPU, 80GB Disk
Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk
Also requires docker compose version 1.27+
To Run:
- git clone https://github.com/openc3/cosmos-project.git cosmos-myproject
- cd cosmos-myproject
- Run Linux/Mac: ./openc3.sh run
- Run Windows: openc3.bat run
- Connect a web browser to http://localhost:2900/
- Have fun running OpenC3 COSMOS!
Please see our documentation at https://openc3.com
Try it out and let us know what you think! Please submit any issues as Github tickets, or any generic feedback to support@openc3.com.
Thanks!
Full Changelog: v6.4.2...v6.5.0