Releases: OpenC3/cosmos
v5.7.2
OpenC3 COSMOS 5.7.2 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.7.2!
This is just a minor release primarily to sync Base and Enterprise versions before the upcoming 5.8.0 release. It includes one update to support styling of buttons in COSMOS tool dialogs.
All Pull Requests in this Release
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 [email protected].
Thanks!
Full Changelog: Changelog
v5.7.0
OpenC3 COSMOS 5.7.0 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.7.0!
DataViewer Components
DataViewer is now customizable with custom components. Add your own DataViewer widgets to display textual data for your targets! See the demo plugin for examples.
SLIP and COBS Protocols
New packet delineation protocols that have historically been used with serial interfaces.
New download_file script method
Allows for easily downloading files from the browser in ScriptRunner.
Metadata Improvements
Viewing, Editing, and Creating Metadata is now greatly improved
Interface Modifiers
Interfaces (and Routers) can now take most of the same configuration options as microservices to allow for customizations such as setting specific environment variables for an interface.
Other Interesting Changes
- Graphs now pause when you zoom in
- TableManager can now handle files with names different than the definition names
- ValueWidgets in Telemetry Screens are now better justified
Important Bug Fixes
- ScriptRunner could write over original script with a subscript due to an autosave bug while running
- TlmViewer width subsettings fixed
All Pull Requests in this Release
- Slip protocol by @ryanmelt in #634
- Do not set width if subsetting given by @jmthomas in #629
- Show completed scripts when running script not found by @jmthomas in #630
- COBS Protocol by @ryanmelt in #636
- Improve COSMOS 4 migration by @jmthomas in #632
- Pause graph when clicking by @jmthomas in #631
- Table lookup matching definitions and then ask user by @jmthomas in #633
- Justify telemetry viewer widgets by @jmthomas in #635
- Limits monitor layout issues by @jmthomas in #640
- Add operator shutdown hook by @ryanmelt in #643
- Disable saving while running and fix filename dropdown by @jmthomas in #651
- Add download_file API by @jmthomas in #648
- Dataviewer components by @jmthomas in #642
- Metadata by @jmthomas in #655
- Interface modifiers and other fixes by @ryanmelt in #656
- Update javascript dependencies by @jmthomas in #658
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 [email protected].
Thanks!
Full Changelog: Changelog
v5.6.1
OpenC3 COSMOS 5.6.1 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.6.1!
This is a quick bug fix release to handle an issue users had upgrading from 5.5.x to 5.6.0. Please skip 5.6.0 and upgrade directly to this release. See the 5.6.0 release notes for the major new features in 5.6.x.
Important Migration Note from 5.5.x
TlmViewer widgets had to be updated to support opening screens from ScriptRunner which caused a breaking change for any plugins containing a custom widget. Plugins with a custom widget will need to update their package.json file to use @openc3/tool-common version 5.6.0 (or later), and be rebuilt/reinstalled.
Important Bug Fixes
- The migration script from 5.5.x to 5.6.0 was failing
- The block widget now works correctly
All Pull Requests in this Release
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 [email protected].
Thanks!
Full Changelog: Changelog
v5.6.0
OpenC3 COSMOS 5.6.0 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.6.0!
This release brings some great new features, and also includes some important bug fixes. Everyone is encouraged to upgrade.
Important Migration Note
TlmViewer widgets had to be updated to support opening screens from ScriptRunner which caused a breaking change for any plugins containing a custom widget. Plugins with a custom widget will need to update their package.json file to use @openc3/tool-common version 5.6.0 (or later), and be rebuilt/reinstalled.
Open Telemetry Screens in Script Runner
You can now open telemetry screens in ScriptRunner! Either existing screens or using the local_screen feature you can define a unique screen right from your script.
display_screen("INST", "ADCS")
wait(3)
clear_screen("INST", "ADCS")
wait(3)
display_screen("INST", "IMAGE")
wait(3)
clear_all_screens()
wait(3)
definition = '
SCREEN AUTO AUTO 1.0
VERTICALBOX "Test Screen"
LABELVALUE INST HEALTH_STATUS TEMP1
LABELVALUE INST HEALTH_STATUS RECEIVED_TIMEFORMATTED WITH_UNITS 30
END
'
local_screen("TEST", definition)
Widget Generator
Our plugin generators now support custom widgets. Run with: openc3.sh cli generate widget MyWidget
Diff plugin.txt on Plugin Upgrades
Now if you upgrade a plugin and the plugin.txt file was changed, you will be presented with a diff interface that shows the changes and allows you to pick which lines you want to keep.
Install Plugins and Gems from the command line
The openc3cli command has been updated to support loading plugins and gems from your host machine. You can use like follows:
gem install openc3
openc3cli load /path/to/myplugin.gem
openc3cli unload myplugin.gem__12345667
openc3cli geminstall my.gem
openc3cli gemuninstall my.gem
log_message parameter added to cmd() apis
cmd() can now take an optional keyword argument called log_message that allows you to optionally not have a command be printed into the log messages. This is useful if you are frequently sending a command or at a high rate, and don't want to spam the log messages. Note: All commands are always logged to our packet logs.
TlmGrapher Show Limits Updated
TlmGrapher Show Limits has been updated to color in the background for each section of limits. This makes the limits ranges much easier to see.
CRC8 Code
We now ship code to perform CRC8 calculations, on top of our existing CRC16, CRC32, and CRC64 functionality.
Important Bug Fixes
- get_cmd_value and get_cmd_time now work correctly
- The details dialog now works correctly with DERIVED items
- Script instrumentation now handles more complicated cases with lots of newlines
- Fixed run_script and the other script apis from Ruby
- TableManager now properly formats binary fields
- connect_interface now works correctly when given parameters
- inject_tlm now handles packets with a PACKET_TIME
- Fix target_index in packet log files
All Pull Requests in this Release
- float screens by @ryanmelt in #550
- Fix get_cmd_value and get_cmd_time by @ryanmelt in #551
- local screens and screen values by @ryanmelt in #552
- LOG_STREAM instead of LOG_RAW by @jmthomas in #540
- crc8 by @ryanmelt in #563
- Add docker network to scripts by @ryanmelt in #562
- Generate widgets by @jmthomas in #557
- Derived details by @jmthomas in #575
- Improve instrumentation by @ryanmelt in #568
- Validate built gem by @jmthomas in #577
- CmdSender history monospace, Script Report, doc updates by @jmthomas in #574
- Fix run_script by @jmthomas in #591
- Add target folder to load path by @ryanmelt in #610
- Color the limits zones in TlmGrapher by @jmthomas in #599
- Use VWidget to format TableItem by @jmthomas in #601
- Fix connect_interface with params by @jmthomas in #604
- Move limits set to LimitsMonitor and fix limitsbar by @jmthomas in #606
- Remove DONT_LOG and log from interface_model by @jmthomas in #605
- Cleanup logger as debug rather than info by @jmthomas in #611
- Force write_timeout to value and update docs by @jmthomas in #603
- Don't compress txt files by @jmthomas in #602
- Add log_message parameter to cmd() by @jmthomas in #612
- Diff plugin.txt on upgrade by @jmthomas in #607
- Ace edit json dialog and redis by @jmthomas in #608
- Dependencies by @jmthomas in #613
- inject_tlm performed by microservices by @ryanmelt in #614
- Command line plugin and gem install/uninstall outside cluster by @ryanmelt in #615
- fix target_index in packet log writer by @ryanmelt in #617
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 [email protected].
Thanks!
Full Changelog: Changelog
v5.5.2
OpenC3 COSMOS 5.5.2 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.5.2!
Enhanced Local Mode
Local mode now captures tools configurations and global settings. These values are loaded into the system during init.
Note that these files are written to the local volume as they are changed, but are only synced back to the server on a run of the init container.
Docker Compose V2
We've updated our scripts to use "docker compose" instead of "docker-compose" by default. On linux it will fall back to "docker-compose" if "docker compose" is not available.
TlmGrapher Show Limits
TlmGrapher can now include horizontal lines indicating the values of limits for a specific item on graphs.
Multiselect Combobox for Scripts
The combo_box() script method can now support multiselect returning an array of selections.
answer = combo_box("This is a multi-select combo box", 'one', 'two', 'three', multiple: true)
Improved Screen Editing Autocomplete
Fixed some issues with autocomplete in the built-in screen editor.
All Pull Requests in this Release
- Render errors on plugin install by @jmthomas in #527
- Allow multiselect by @jmthomas in #526
- Change include_head to metadata by @jmthomas in #535
- Save and load local tool config by @jmthomas in #530
- Bump @sideway/formula from 3.0.0 to 3.0.1 in /openc3-cosmos-init/plugins by @dependabot in #541
- Changes to support external keycloak for enterprise by @ryanmelt in #543
- Bump webpack from 5.75.0 to 5.76.0 in /openc3-cosmos-init/plugins by @dependabot in #544
- Bump webpack from 5.75.0 to 5.76.0 in /openc3-cosmos-init/plugins/openc3-tool-base by @dependabot in #548
- Change docker-compose to docker compose by @jmthomas in #537
- Fix screen keywords, add choice selections, add SETTING by @jmthomas in #545
- Fix HTTPClient SSL and realm reference by @ryanmelt in #549
- Allow user to graph limits by @jmthomas in #542
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 [email protected].
Thanks!
Full Changelog: Changelog
v5.5.1
OpenC3 COSMOS 5.5.1 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.5.1!
Download Plugins from the Admin Tool
Now you can download installed plugins!
Traefik changed from Redis to HTTP Endpoint
Traefik Redis support doesn't work with Redis Cluster, so we added an HTTP endpoint to our API to give Traefik dynamic configuration.
Create Suites from Script Runner
New option to create a suite from the Script Runner menu.
Updates to the Secrets Framework to Support a secret_store Key
Some secrets systems have a "container" for a grouping of secrets. Added a new secret_store key to the Secrets framework to support this.
Important Bug Fixes
- Multiple TlmViewer Widgets improved and bugs fixed
All Pull Requests in this Release
- Download plugin by @jmthomas in #513
- Switch Traefik to HTTP endpoint for dynamic config by @ryanmelt in #515
- Add new test suite option by @jmthomas in #514
- Document all widgets, fix layout and setting issues by @jmthomas in #512
- Secrets update by @ryanmelt in #516
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 [email protected].
Thanks!
Full Changelog: Changelog
v5.5.0
OpenC3 COSMOS 5.5.0 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.5.0!
Full Support for Bridges with Examples
Bridges are an easy method to give COSMOS access to hardware that doesn't natively speak Ethernet. This release adds full support for bridges and new bridge gems that make them even easier to use. See the docs here: Bridges Documentation
Dynamic Route Support In Traefik
Want to create a plugin that adds a new API to COSMOS and exposes it at a route in Traefik? Now you can. This is implemented using the new ROUTE_PREFIX modifier to MICROSERVICE in plugin.txt. See: ROUTE_PREFIX
Bucket Explorer Upload and Delete Files and Support for Custom Buckets
Bucket Explorer can now upload new files, and delete files from buckets. Also you can add additional buckets to manage by defining environment variables like OPENC3_NAME_BUCKET.
Ruby Websocket Client API
Add a Ruby based client code to access all of our Websocket interfaces. Most importantly the Streaming API can now be accessed directly from Ruby. See: web_socket_api.rb
Command Line Generators for More COSMOS Features
We've expanded our generator code to create scaffolds for more COSMOS features. We now have generators for plugins, targets, microservices, conversions, and limits_responses. See openc3cli generate
Improved TlmGrapher Performance and Support for Reduced Data
TlmGrapher is now much more performant with high rate data. You can also now easily graph reduced minute, hour, and day data!
New NEEDS_DEPENDENCIES keyword for plugin.txt
If your plugin needs access to custom installed gems, but you don't explicitly add them as dependencies in .gemspec (which you probably should...), you can now force access to the /gems volume mount by adding NEEDS_DEPENDENCIES to plugin.txt.
New WriteRejectError Support for Interfaces and Protocols
Want to add a custom protocol the rejects commands but doesn't cause the whole interface to disconnect and then reconnect? Now you can by raising a WriteRejectError exception from your custom Protocol or Interface.
Cleaned Up Environment Variable Support for Scripts
Script Environment variables were a little confusing before, but now we've clarified and improved how they work. You can set global environment variables that are available to all scripts, and you can set individual environment variables for individual script runs.
Environment Variable Support For Not Installing Default Tools
We also added some new environment variables to prevent the installation of the standard tools. You can use these if you have customized one of the tools or simply don't need one of our default tools.
Important Bug Fixes
- Fixed a bug causing poor performance as soon as you had more than 1000 files in Minio
- Fixed an issue where the first script run wouldn't show up in Completed Scripts
- Telemetry items are now case-insensitive in TlmViewer Screens
- Several bug fixes in DataExtractor for large queries
- Starting using Ruby resolv-replace to remove DNS errors in Alpine
All Pull Requests in this Release
- Add additional buckets to .env file by @jmthomas in #459
- Fix various regex issues by @jmthomas in #462
- add resolv-replace to help with alpine dns by @ryanmelt in #463
- Implement upload and delete file by @jmthomas in #466
- Improve Script running/completed scripts by @jmthomas in #469
- Add IRB to cli options by @jmthomas in #470
- Upgrade public js/css automatically by @jmthomas in #472
- Add env vars to toggle default tool installation by @wiatrp in #473
- Support dynamic routes in Traefik for microservices by @ryanmelt in #471
- Data extractor updates by @ryanmelt in #476
- Graph reduced by @jmthomas in #480
- Apply global and then script env vars by @jmthomas in #482
- Calendar creation of timelines and events by @jmthomas in #483
- Default various SETTINGS to px by @jmthomas in #484
- Plugin install check existing name by @jmthomas in #487
- Fix data extractor column logic by @ryanmelt in #488
- Websocket interface by @ryanmelt in #486
- Support rejecting commands from interface / protocols without disconnecting interface by @ryanmelt in #490
- Bump alpine, traefik and break up package_audit by @jmthomas in #492
- Fix TlmGrapher route url parsing by @jmthomas in #498
- Fix warnings and code scan by @jmthomas in #499
- Add optional flag to return object metadata by @wiatrp in #505
- Bridge updates for bridgegem system by @ryanmelt in #504
- Enforce upper case in cmd/tlm api by @jmthomas in #503
- Add NEEDS_DEPENDENCIES keyword for plugins by @jmthomas in #495
- TlmGrapher improvements by @ryanmelt in #508
- Implement generators by @jmthomas in #502
- Target file improvements by @jmthomas in #509
- Init all defined buckets on startup by @wiatrp in #511
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 [email protected].
Thanks!
Full Changelog: Changelog
v5.4.2
OpenC3 COSMOS 5.4.2 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.4.2!
Important Upgrade Notes
We've made a lot of changes in this release to ensure that the user running in the containers is the same user the starts the containers on the host when using Docker Compose. This should solve all permissions issues with local mode. However, if you are upgrading from an earlier version, your existing permissions are now probably incorrect. The easiest fix is to do an openc3.sh cleanup, and then restart. However, if you need to keep existing log files, you should "docker exec --user root -it sh" into the operator container and then run "chmod -R 777 /src", "chmod -R 777 /plugins", and "chmod -R 777 /gems". After that everything should work again.
Patch Release 2
Scripts Now Can List Set Overrides and Warn if Running with Telemetry Overrides
Fixed Regression in Minio Console
Command Only Targets Are Now Supported
Added a force option to openc3.sh cleanup to bypass the are you sure prompt
All Pull Requests in this Release
- Script overrides by @jmthomas in #450
- Minio console working by @jmthomas in #453
- Handle command only target by @ryanmelt in #455
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 [email protected].
Thanks!
Full Changelog: Changelog
v5.4.1
OpenC3 COSMOS 5.4.1 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.4.1!
Patch Release
Add proper permission on linux to the openc3.sh cli command.
Fix for Suite Runner, internal suite detection
All Pull Requests in this Release
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 [email protected].
Thanks!
Full Changelog: Changelog
v5.4.0
OpenC3 COSMOS 5.4.0 - Modern, Production Ready, Command and Control
Welcome to OpenC3 COSMOS 5.4.0!
Bucket Explorer
COSMOS now comes with a new tool called Bucket Explorer that allows browsing files in whatever bucket technology is being used. This provides a cross-cloud solution with a Minio Console-like interface.
Metrics
The CmdTlmServer Status tab now includes a curated list of metrics that can be useful to monitor the health of COSMOS. Includes various counters and latency measurements.
Navigation Categories
The Navigation bar can now be organized into Categories that can be collapsed and expanded.
Permissions Updates to Better Support Local Mode on Linux
Updates to openc3.sh and compose.yaml to better support permissions when running using local mode on linux. This supports running from user ids other than 1000, and makes sure that files written to the host filesystem have the same user id as the user who is running COSMOS.
Better Plugin Installation Errors
Plugin installation errors now include line numbers, and attempts to capture all installation errors, rather than just the first.
Trivy, ClamAV, and CodeQL Scans
Our CI/CD process now includes Trivy scans for finding CVE vulnerabilities and ClamAV scans to check for Malware.
Other Highlighted Improvements In This Release
- DataExtractor updated to handle very large lists of items
- CmdSender nows lists parameter ranges
- Several tools now remember pagination settings
- Always force an install of plugins if using the GUI
- Enabled/Disable limits from Details dialog
Key Bug Fixes
- Removed UNKNOWN from CmdSender target list
All Pull Requests in this Release
- Remove UNKNOWN from target chooser by @jmthomas in #373
- CmdSender display range, set default state value by @jmthomas in #377
- Save graph start/stop times in config by @jmthomas in #378
- Hide ignored, derived last, and * derived by @jmthomas in #374
- Fix unknown in demo by @jmthomas in #380
- Fix github release if checks by @ryanmelt in #381
- Default PV rows to 20, max 1000, store choice to localStorage by @jmthomas in #379
- Support categories in AppNav by @jmthomas in #384
- Data Extractor DataTable instead of list by @jmthomas in #387
- Initial metrics framework by @ryanmelt in #389
- Bucket Explorer by @jmthomas in #388
- Various fixes found during tool documentation updates by @jmthomas in #397
- Check for bad value_type on packet read_item by @jmthomas in #395
- Minor bucket updates by @jmthomas in #407
- Updates for podman permissions by @ryanmelt in #408
- Remove initialize from Suite and Group by @jmthomas in #399
- Add line no & usage info to plugin error by @jmthomas in #401
- Describe changed plugin.txt on install by @jmthomas in #423
- Add first last page options by @jmthomas in #418
- Test trivy scan by @jmthomas in #410
- Always save when starting script, clear breakpoints by @jmthomas in #416
- Only enable Step while running, add step_mode, run_mode, show_backtrace by @jmthomas in #421
- Clamav Scans by @ryanmelt in #427
- Trivy scan local container builds by @jmthomas in #429
- Force install from Plugins tab, add MIT license to plugin template by @jmthomas in #426
- Prompt for cleanup by @jmthomas in #422
- Add :z and OPENC3_REGISTRY to cli by @jmthomas in #417
- Bump json5 from 1.0.1 to 1.0.2 in /openc3-cosmos-init/plugins by @dependabot in #433
- Bump decode-uri-component from 0.2.0 to 0.2.2 in /openc3-cosmos-init/plugins by @dependabot in #432
- Bump json5 from 1.0.1 to 1.0.2 in /openc3-cosmos-init/plugins/openc3-tool-base by @dependabot in #431
- Update dependencies by @jmthomas in #434
- Enable limits from DetailsDialog by @jmthomas in #430
- Support non-1000 user ids on linux with local mode by @ryanmelt in #437
- Add inject_tlm to javascript api by @ryanmelt in #438
- break out reducer microservice by default by @ryanmelt in #439
- Easier to click nav by @ryanmelt in #441
- Update demo microservices to inherit Microservice by @jmthomas in #440
- Simplify DEMO further with PORT by @jmthomas in #442
- Make sure other tools have offline access by @ryanmelt in #443
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 [email protected].
Thanks!
Full Changelog: Changelog