openc3 6.10.4 → 7.0.0.pre.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -1
- data/Guardfile +4 -9
- data/LICENSE.md +85 -0
- data/README.md +8 -8
- data/Rakefile +3 -9
- data/bin/cstol_converter +3 -8
- data/bin/openc3cli +64 -35
- data/data/config/command_modifiers.yaml +9 -1
- data/data/config/interface_modifiers.yaml +0 -2
- data/data/config/plugins.yaml +14 -18
- data/data/config/screen.yaml +1 -1
- data/data/config/target.yaml +26 -79
- data/data/config/telemetry_modifiers.yaml +6 -0
- data/data/config/widgets.yaml +32 -32
- data/ext/openc3/ext/array/array.c +4 -9
- data/ext/openc3/ext/buffered_file/buffered_file.c +4 -9
- data/ext/openc3/ext/burst_protocol/burst_protocol.c +3 -8
- data/ext/openc3/ext/config_parser/config_parser.c +2 -7
- data/ext/openc3/ext/crc/crc.c +3 -8
- data/ext/openc3/ext/openc3_io/openc3_io.c +4 -9
- data/ext/openc3/ext/packet/packet.c +7 -9
- data/ext/openc3/ext/platform/platform.c +3 -8
- data/ext/openc3/ext/polynomial_conversion/polynomial_conversion.c +16 -12
- data/ext/openc3/ext/string/string.c +4 -9
- data/ext/openc3/ext/structure/structure.c +5 -9
- data/ext/openc3/ext/tabbed_plots_config/tabbed_plots_config.c +4 -9
- data/ext/openc3/ext/telemetry/telemetry.c +8 -12
- data/lib/cosmos.rb +4 -9
- data/lib/cosmosc2.rb +4 -9
- data/lib/openc3/accessors/accessor.rb +3 -8
- data/lib/openc3/accessors/binary_accessor.rb +9 -10
- data/lib/openc3/accessors/cbor_accessor.rb +3 -8
- data/lib/openc3/accessors/form_accessor.rb +4 -9
- data/lib/openc3/accessors/html_accessor.rb +3 -8
- data/lib/openc3/accessors/http_accessor.rb +4 -9
- data/lib/openc3/accessors/json_accessor.rb +4 -9
- data/lib/openc3/accessors/template_accessor.rb +4 -9
- data/lib/openc3/accessors/xml_accessor.rb +4 -9
- data/lib/openc3/accessors.rb +3 -8
- data/lib/openc3/api/README.md +1 -1
- data/lib/openc3/api/api.rb +3 -8
- data/lib/openc3/api/authorized_api.rb +4 -9
- data/lib/openc3/api/cmd_api.rb +3 -8
- data/lib/openc3/api/config_api.rb +3 -8
- data/lib/openc3/api/interface_api.rb +4 -9
- data/lib/openc3/api/limits_api.rb +3 -8
- data/lib/openc3/api/metrics_api.rb +2 -19
- data/lib/openc3/api/offline_access_api.rb +2 -7
- data/lib/openc3/api/router_api.rb +5 -10
- data/lib/openc3/api/settings_api.rb +3 -8
- data/lib/openc3/api/stash_api.rb +2 -7
- data/lib/openc3/api/target_api.rb +3 -8
- data/lib/openc3/api/tlm_api.rb +15 -38
- data/lib/openc3/bridge/bridge.rb +3 -8
- data/lib/openc3/bridge/bridge_config.rb +5 -10
- data/lib/openc3/bridge/bridge_interface_thread.rb +4 -9
- data/lib/openc3/bridge/bridge_router_thread.rb +4 -9
- data/lib/openc3/ccsds/ccsds_packet.rb +4 -9
- data/lib/openc3/ccsds/ccsds_parser.rb +3 -8
- data/lib/openc3/config/config_parser.rb +3 -8
- data/lib/openc3/config/meta_config_parser.rb +3 -8
- data/lib/openc3/conversions/bit_reverse_conversion.rb +3 -8
- data/lib/openc3/conversions/conversion.rb +3 -8
- data/lib/openc3/conversions/generic_conversion.rb +3 -8
- data/lib/openc3/conversions/ip_read_conversion.rb +3 -8
- data/lib/openc3/conversions/ip_write_conversion.rb +3 -8
- data/lib/openc3/conversions/object_read_conversion.rb +3 -8
- data/lib/openc3/conversions/object_write_conversion.rb +3 -8
- data/lib/openc3/conversions/packet_time_formatted_conversion.rb +4 -9
- data/lib/openc3/conversions/packet_time_seconds_conversion.rb +4 -9
- data/lib/openc3/conversions/polynomial_conversion.rb +6 -8
- data/lib/openc3/conversions/processor_conversion.rb +3 -8
- data/lib/openc3/conversions/received_count_conversion.rb +4 -9
- data/lib/openc3/conversions/received_time_formatted_conversion.rb +4 -9
- data/lib/openc3/conversions/received_time_seconds_conversion.rb +4 -9
- data/lib/openc3/conversions/segmented_polynomial_conversion.rb +6 -8
- data/lib/openc3/conversions/unix_time_conversion.rb +3 -8
- data/lib/openc3/conversions/unix_time_formatted_conversion.rb +3 -8
- data/lib/openc3/conversions/unix_time_seconds_conversion.rb +3 -8
- data/lib/openc3/conversions.rb +3 -8
- data/lib/openc3/core_ext/array.rb +3 -8
- data/lib/openc3/core_ext/binding.rb +4 -9
- data/lib/openc3/core_ext/class.rb +4 -9
- data/lib/openc3/core_ext/exception.rb +3 -8
- data/lib/openc3/core_ext/file.rb +4 -9
- data/lib/openc3/core_ext/io.rb +4 -9
- data/lib/openc3/core_ext/kernel.rb +3 -8
- data/lib/openc3/core_ext/math.rb +4 -9
- data/lib/openc3/core_ext/matrix.rb +4 -9
- data/lib/openc3/core_ext/objectspace.rb +4 -9
- data/lib/openc3/core_ext/openc3_io.rb +4 -9
- data/lib/openc3/core_ext/range.rb +4 -9
- data/lib/openc3/core_ext/socket.rb +4 -9
- data/lib/openc3/core_ext/string.rb +3 -8
- data/lib/openc3/core_ext/stringio.rb +4 -9
- data/lib/openc3/core_ext/tempfile.rb +4 -9
- data/lib/openc3/core_ext/time.rb +3 -8
- data/lib/openc3/core_ext.rb +3 -8
- data/lib/openc3/interfaces/file_interface.rb +3 -8
- data/lib/openc3/interfaces/http_client_interface.rb +3 -8
- data/lib/openc3/interfaces/http_server_interface.rb +3 -8
- data/lib/openc3/interfaces/interface.rb +3 -8
- data/lib/openc3/interfaces/mqtt_interface.rb +3 -8
- data/lib/openc3/interfaces/mqtt_stream_interface.rb +3 -8
- data/lib/openc3/interfaces/protocols/burst_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/cmd_response_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/cobs_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/crc_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/fixed_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/ignore_packet_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/length_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/preidentified_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/slip_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/template_protocol.rb +3 -8
- data/lib/openc3/interfaces/protocols/terminated_protocol.rb +3 -8
- data/lib/openc3/interfaces/serial_interface.rb +3 -8
- data/lib/openc3/interfaces/simulated_target_interface.rb +3 -8
- data/lib/openc3/interfaces/stream_interface.rb +3 -8
- data/lib/openc3/interfaces/tcpip_client_interface.rb +3 -8
- data/lib/openc3/interfaces/tcpip_server_interface.rb +3 -8
- data/lib/openc3/interfaces/udp_interface.rb +3 -8
- data/lib/openc3/interfaces.rb +3 -8
- data/lib/openc3/io/buffered_file.rb +4 -9
- data/lib/openc3/io/io_multiplexer.rb +4 -9
- data/lib/openc3/io/json_api.rb +3 -8
- data/lib/openc3/io/json_api_object.rb +4 -9
- data/lib/openc3/io/json_drb.rb +3 -8
- data/lib/openc3/io/json_drb_object.rb +4 -9
- data/lib/openc3/io/json_drb_rack.rb +4 -9
- data/lib/openc3/io/json_rpc.rb +3 -8
- data/lib/openc3/io/posix_serial_driver.rb +3 -8
- data/lib/openc3/io/serial_driver.rb +3 -8
- data/lib/openc3/io/stderr.rb +4 -9
- data/lib/openc3/io/stdout.rb +4 -9
- data/lib/openc3/io/udp_sockets.rb +3 -8
- data/lib/openc3/io/win32_serial_driver.rb +4 -9
- data/lib/openc3/logs/buffered_packet_log_reader.rb +3 -8
- data/lib/openc3/logs/buffered_packet_log_writer.rb +3 -8
- data/lib/openc3/logs/log_writer.rb +3 -8
- data/lib/openc3/logs/packet_log_constants.rb +3 -8
- data/lib/openc3/logs/packet_log_reader.rb +3 -8
- data/lib/openc3/logs/packet_log_writer.rb +3 -8
- data/lib/openc3/logs/stream_log.rb +3 -8
- data/lib/openc3/logs/stream_log_pair.rb +3 -8
- data/lib/openc3/logs/text_log_writer.rb +3 -8
- data/lib/openc3/logs.rb +3 -8
- data/lib/openc3/microservices/cleanup_microservice.rb +4 -14
- data/lib/openc3/microservices/decom_microservice.rb +3 -8
- data/lib/openc3/microservices/interface_decom_common.rb +3 -8
- data/lib/openc3/microservices/interface_microservice.rb +5 -9
- data/lib/openc3/microservices/log_microservice.rb +3 -8
- data/lib/openc3/microservices/microservice.rb +24 -12
- data/lib/openc3/microservices/multi_microservice.rb +2 -7
- data/lib/openc3/microservices/periodic_microservice.rb +3 -8
- data/lib/openc3/microservices/plugin_microservice.rb +3 -8
- data/lib/openc3/microservices/queue_microservice.rb +3 -8
- data/lib/openc3/microservices/router_microservice.rb +3 -8
- data/lib/openc3/microservices/scope_cleanup_microservice.rb +3 -8
- data/lib/openc3/microservices/text_log_microservice.rb +3 -8
- data/lib/openc3/migrations/20251213120000_reinstall_plugins.rb +45 -0
- data/lib/openc3/migrations/20260204000000_remove_decom_reducer.rb +60 -0
- data/lib/openc3/models/activity_model.rb +4 -8
- data/lib/openc3/models/auth_model.rb +57 -38
- data/lib/openc3/models/cvt_model.rb +202 -61
- data/lib/openc3/models/environment_model.rb +4 -9
- data/lib/openc3/models/gem_model.rb +3 -8
- data/lib/openc3/models/info_model.rb +4 -9
- data/lib/openc3/models/interface_model.rb +6 -10
- data/lib/openc3/models/interface_status_model.rb +4 -9
- data/lib/openc3/models/metadata_model.rb +3 -8
- data/lib/openc3/models/metric_model.rb +3 -8
- data/lib/openc3/models/microservice_model.rb +16 -10
- data/lib/openc3/models/microservice_status_model.rb +3 -8
- data/lib/openc3/models/migration_model.rb +3 -8
- data/lib/openc3/models/model.rb +3 -8
- data/lib/openc3/models/news_model.rb +3 -8
- data/lib/openc3/models/note_model.rb +3 -8
- data/lib/openc3/models/offline_access_model.rb +3 -8
- data/lib/openc3/models/ping_model.rb +4 -9
- data/lib/openc3/models/plugin_model.rb +11 -8
- data/lib/openc3/models/plugin_store_model.rb +21 -17
- data/lib/openc3/models/process_status_model.rb +4 -9
- data/lib/openc3/models/python_package_model.rb +3 -8
- data/lib/openc3/models/queue_model.rb +3 -8
- data/lib/openc3/models/reaction_model.rb +9 -10
- data/lib/openc3/models/router_model.rb +4 -9
- data/lib/openc3/models/router_status_model.rb +4 -9
- data/lib/openc3/models/scope_model.rb +4 -9
- data/lib/openc3/models/script_engine_model.rb +3 -8
- data/lib/openc3/models/script_status_model.rb +3 -8
- data/lib/openc3/models/secret_model.rb +3 -8
- data/lib/openc3/models/setting_model.rb +3 -8
- data/lib/openc3/models/sorted_model.rb +3 -8
- data/lib/openc3/models/stash_model.rb +3 -8
- data/lib/openc3/models/target_model.rb +99 -229
- data/lib/openc3/models/timeline_model.rb +3 -8
- data/lib/openc3/models/tool_config_model.rb +3 -8
- data/lib/openc3/models/tool_model.rb +10 -10
- data/lib/openc3/models/trigger_group_model.rb +3 -8
- data/lib/openc3/models/trigger_model.rb +3 -8
- data/lib/openc3/models/widget_model.rb +3 -8
- data/lib/openc3/operators/microservice_operator.rb +7 -8
- data/lib/openc3/operators/operator.rb +3 -8
- data/lib/openc3/packets/command_validator.rb +3 -8
- data/lib/openc3/packets/commands.rb +32 -14
- data/lib/openc3/packets/json_packet.rb +7 -19
- data/lib/openc3/packets/limits.rb +3 -8
- data/lib/openc3/packets/limits_response.rb +3 -8
- data/lib/openc3/packets/packet.rb +35 -28
- data/lib/openc3/packets/packet_config.rb +15 -11
- data/lib/openc3/packets/packet_item.rb +3 -8
- data/lib/openc3/packets/packet_item_limits.rb +3 -8
- data/lib/openc3/packets/parsers/format_string_parser.rb +3 -8
- data/lib/openc3/packets/parsers/limits_parser.rb +3 -8
- data/lib/openc3/packets/parsers/limits_response_parser.rb +3 -8
- data/lib/openc3/packets/parsers/packet_item_parser.rb +7 -8
- data/lib/openc3/packets/parsers/packet_parser.rb +3 -8
- data/lib/openc3/packets/parsers/processor_parser.rb +3 -8
- data/lib/openc3/packets/parsers/state_parser.rb +3 -8
- data/lib/openc3/packets/parsers/xtce_converter.rb +3 -8
- data/lib/openc3/packets/parsers/xtce_parser.rb +3 -8
- data/lib/openc3/packets/structure.rb +14 -11
- data/lib/openc3/packets/structure_item.rb +3 -8
- data/lib/openc3/packets/telemetry.rb +7 -11
- data/lib/openc3/processors/processor.rb +5 -10
- data/lib/openc3/processors/statistics_processor.rb +4 -9
- data/lib/openc3/processors/watermark_processor.rb +4 -9
- data/lib/openc3/processors.rb +4 -9
- data/lib/openc3/script/api_shared.rb +8 -37
- data/lib/openc3/script/autonomic.rb +3 -8
- data/lib/openc3/script/calendar.rb +3 -8
- data/lib/openc3/script/commands.rb +3 -8
- data/lib/openc3/script/critical_cmd.rb +3 -8
- data/lib/openc3/script/exceptions.rb +4 -9
- data/lib/openc3/script/extract.rb +3 -8
- data/lib/openc3/script/limits.rb +3 -8
- data/lib/openc3/script/metadata.rb +3 -8
- data/lib/openc3/script/packages.rb +3 -8
- data/lib/openc3/script/plugins.rb +3 -8
- data/lib/openc3/script/queue.rb +3 -8
- data/lib/openc3/script/screen.rb +7 -8
- data/lib/openc3/script/script.rb +3 -8
- data/lib/openc3/script/script_runner.rb +3 -8
- data/lib/openc3/script/storage.rb +6 -10
- data/lib/openc3/script/suite.rb +3 -8
- data/lib/openc3/script/suite_results.rb +3 -8
- data/lib/openc3/script/suite_runner.rb +3 -8
- data/lib/openc3/script/tables.rb +3 -8
- data/lib/openc3/script/telemetry.rb +3 -8
- data/lib/openc3/script/web_socket_api.rb +8 -13
- data/lib/openc3/script.rb +4 -9
- data/lib/openc3/script_engines/script_engine.rb +3 -8
- data/lib/openc3/streams/mqtt_stream.rb +3 -8
- data/lib/openc3/streams/serial_stream.rb +3 -8
- data/lib/openc3/streams/stream.rb +3 -8
- data/lib/openc3/streams/tcpip_client_stream.rb +3 -8
- data/lib/openc3/streams/tcpip_socket_stream.rb +3 -8
- data/lib/openc3/streams/web_socket_client_stream.rb +3 -8
- data/lib/openc3/system/system.rb +3 -8
- data/lib/openc3/system/target.rb +3 -8
- data/lib/openc3/system.rb +3 -8
- data/lib/openc3/tools/cmd_tlm_server/api.rb +4 -9
- data/lib/openc3/tools/cmd_tlm_server/interface_thread.rb +3 -8
- data/lib/openc3/tools/table_manager/table.rb +3 -8
- data/lib/openc3/tools/table_manager/table_config.rb +3 -8
- data/lib/openc3/tools/table_manager/table_item.rb +4 -9
- data/lib/openc3/tools/table_manager/table_item_parser.rb +3 -8
- data/lib/openc3/tools/table_manager/table_manager_core.rb +3 -8
- data/lib/openc3/tools/table_manager/table_parser.rb +3 -8
- data/lib/openc3/tools/test_runner/test.rb +4 -9
- data/lib/openc3/top_level.rb +3 -8
- data/lib/openc3/topics/autonomic_topic.rb +4 -9
- data/lib/openc3/topics/calendar_topic.rb +4 -9
- data/lib/openc3/topics/command_decom_topic.rb +14 -17
- data/lib/openc3/topics/command_topic.rb +14 -10
- data/lib/openc3/topics/config_topic.rb +3 -8
- data/lib/openc3/topics/decom_interface_topic.rb +3 -8
- data/lib/openc3/topics/interface_topic.rb +3 -8
- data/lib/openc3/topics/limits_event_topic.rb +3 -8
- data/lib/openc3/topics/notebook_topic.rb +32 -0
- data/lib/openc3/topics/queue_topic.rb +3 -8
- data/lib/openc3/topics/router_topic.rb +3 -8
- data/lib/openc3/topics/system_events_topic.rb +3 -8
- data/lib/openc3/topics/telemetry_decom_topic.rb +12 -12
- data/lib/openc3/topics/telemetry_topic.rb +3 -8
- data/lib/openc3/topics/timeline_topic.rb +4 -9
- data/lib/openc3/topics/topic.rb +3 -8
- data/lib/openc3/utilities/authentication.rb +29 -10
- data/lib/openc3/utilities/authorization.rb +4 -9
- data/lib/openc3/utilities/aws_bucket.rb +126 -16
- data/lib/openc3/utilities/bucket.rb +9 -9
- data/lib/openc3/utilities/bucket_file_cache.rb +3 -13
- data/lib/openc3/utilities/bucket_require.rb +3 -8
- data/lib/openc3/utilities/bucket_utilities.rb +3 -10
- data/lib/openc3/utilities/cli_generator.rb +11 -16
- data/lib/openc3/utilities/cmd_log.rb +3 -8
- data/lib/openc3/utilities/crc.rb +3 -8
- data/lib/openc3/utilities/csv.rb +4 -9
- data/lib/openc3/utilities/local_bucket.rb +5 -10
- data/lib/openc3/utilities/local_mode.rb +14 -18
- data/lib/openc3/utilities/logger.rb +3 -8
- data/lib/openc3/utilities/message_log.rb +3 -8
- data/lib/openc3/utilities/metric.rb +3 -8
- data/lib/openc3/utilities/migration.rb +3 -8
- data/lib/openc3/utilities/open_telemetry.rb +3 -8
- data/lib/openc3/utilities/process_manager.rb +3 -8
- data/lib/openc3/utilities/python_proxy.rb +3 -8
- data/lib/openc3/utilities/quaternion.rb +3 -8
- data/lib/openc3/utilities/questdb_client.rb +209 -0
- data/lib/openc3/utilities/redis_secrets.rb +3 -8
- data/lib/openc3/utilities/ruby_lex_utils.rb +3 -8
- data/lib/openc3/utilities/running_script.rb +11 -10
- data/lib/openc3/utilities/s3_autoload.rb +9 -2
- data/lib/openc3/utilities/secrets.rb +8 -9
- data/lib/openc3/utilities/simulated_target.rb +4 -9
- data/lib/openc3/utilities/sleeper.rb +3 -8
- data/lib/openc3/utilities/store.rb +4 -9
- data/lib/openc3/utilities/store_autoload.rb +7 -14
- data/lib/openc3/utilities/store_queued.rb +6 -9
- data/lib/openc3/utilities/target_file.rb +3 -8
- data/lib/openc3/utilities/thread_manager.rb +3 -8
- data/lib/openc3/utilities/throttle.rb +3 -8
- data/lib/openc3/utilities/zip.rb +4 -9
- data/lib/openc3/utilities.rb +4 -9
- data/lib/openc3/version.rb +8 -8
- data/lib/openc3/win32/excel.rb +4 -9
- data/lib/openc3/win32/win32.rb +4 -9
- data/lib/openc3/win32/win32_main.rb +3 -8
- data/lib/openc3.rb +3 -12
- data/tasks/gemfile_stats.rake +4 -9
- data/tasks/spec.rake +4 -9
- data/templates/plugin/README.md +2 -2
- data/templates/plugin/plugin.gemspec +1 -1
- data/templates/tool_angular/package.json +1 -1
- data/templates/tool_vue/package.json +3 -3
- data/templates/tool_vue/vite.config.js +2 -1
- data/templates/widget/package.json +3 -3
- data/templates/widget/vite.config.js +1 -1
- metadata +49 -26
- data/LICENSE.txt +0 -729
- data/bin/rubysloc +0 -142
- data/ext/openc3/ext/reducer_microservice/extconf.rb +0 -13
- data/ext/openc3/ext/reducer_microservice/reducer_microservice.c +0 -165
- data/lib/openc3/microservices/reducer_microservice.rb +0 -640
- data/lib/openc3/models/reducer_model.rb +0 -72
- data/lib/openc3/topics/telemetry_reduced_topics.rb +0 -80
- /data/templates/plugin/{LICENSE.txt → LICENSE.md} +0 -0
- /data/templates/widget/{LICENSE.txt → LICENSE.md} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 716b55f22220d1ee722f05550fcb177cea96e9898356a62bfa970e4222f7c7fa
|
|
4
|
+
data.tar.gz: 2a8db01e57ce7215d352d38682f3c25893828c8a500d8fd5d8f0e3b09ab854e7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c74aaf9e7b3f4a0c176c002cc54b53388d291d50377814c16e13ab7276d8d567a38634c0a2fa51d6c5e9738270fcd1f851c0ea36b03ab3f4ea5ea499f43f3550
|
|
7
|
+
data.tar.gz: 2c97ee833cb18b8725caeab3b2ebe0347d85f8e6c4dcb4d531395f1c7c9e3be68d6405bd8d65a151bf989c4a66a945753c160b9a7fc05227d6f54f60dcc84c02
|
data/Gemfile
CHANGED
|
@@ -7,6 +7,7 @@ gemspec :name => 'openc3'
|
|
|
7
7
|
# Include the rails gems for the convenience of custom microservice plugins
|
|
8
8
|
gem 'bootsnap', '>= 1.9.3', require: false
|
|
9
9
|
gem 'rack-cors', '~> 3.0'
|
|
10
|
-
gem 'rails', '~>
|
|
10
|
+
gem 'rails', '~> 8.1.0'
|
|
11
11
|
gem 'tzinfo-data'
|
|
12
12
|
gem 'ruby-termios', '>= 1.0'
|
|
13
|
+
gem 'argon2', '~> 2.3', '>= 2.3.2'
|
data/Guardfile
CHANGED
|
@@ -3,21 +3,16 @@
|
|
|
3
3
|
# Copyright 2022 Ball Aerospace & Technologies Corp.
|
|
4
4
|
# All Rights Reserved.
|
|
5
5
|
#
|
|
6
|
-
# This program is free software; you can modify and/or redistribute it
|
|
7
|
-
# under the terms of the GNU Affero General Public License
|
|
8
|
-
# as published by the Free Software Foundation; version 3 with
|
|
9
|
-
# attribution addendums as found in the LICENSE.txt
|
|
10
|
-
#
|
|
11
6
|
# This program is distributed in the hope that it will be useful,
|
|
12
7
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
14
|
-
#
|
|
8
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
9
|
+
# See LICENSE.md for more details.
|
|
15
10
|
|
|
16
11
|
# Modified by OpenC3, Inc.
|
|
17
|
-
# All changes Copyright
|
|
12
|
+
# All changes Copyright 2026, OpenC3, Inc.
|
|
18
13
|
# All Rights Reserved
|
|
19
14
|
#
|
|
20
|
-
# This file may also be used under the terms of a commercial license
|
|
15
|
+
# This file may also be used under the terms of a commercial license
|
|
21
16
|
# if purchased from OpenC3, Inc.
|
|
22
17
|
|
|
23
18
|
# A sample Guardfile
|
data/LICENSE.md
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# OpenC3 Builder’s License
|
|
2
|
+
|
|
3
|
+
## Acceptance
|
|
4
|
+
|
|
5
|
+
By using the software, you agree to all of the terms and conditions below.
|
|
6
|
+
|
|
7
|
+
## Copyright License
|
|
8
|
+
|
|
9
|
+
The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license to use, copy, distribute, make available, and prepare derivative works of the software, in each case subject to the limitations and conditions below.
|
|
10
|
+
|
|
11
|
+
## Limitations
|
|
12
|
+
|
|
13
|
+
- You may not provide the software or its functionality to third parties as any part of a hosted or managed service.
|
|
14
|
+
- You may not distribute any changes made to the software on a commercial basis.
|
|
15
|
+
- You may not alter, remove, or obscure any licensing, copyright, or other notices of the licensor in the software. Any use of the licensor’s trademarks is subject to applicable law.
|
|
16
|
+
|
|
17
|
+
## Patents
|
|
18
|
+
|
|
19
|
+
The licensor grants you a license, under any patent claims the licensor can license, or becomes able to license, to make, have made, use, sell, offer for sale, import and have imported the software, in each case subject to the limitations and conditions in this license. This license does not cover any patent claims that you cause to be infringed by modifications or additions to the software. If you or your company make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
|
|
20
|
+
|
|
21
|
+
## Notices
|
|
22
|
+
|
|
23
|
+
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms.
|
|
24
|
+
|
|
25
|
+
If you modify the software, you must include in any modified copies of the software prominent notices stating that you have modified the software.
|
|
26
|
+
|
|
27
|
+
# No Other Rights
|
|
28
|
+
|
|
29
|
+
These terms do not imply any licenses other than those expressly granted in these terms.
|
|
30
|
+
|
|
31
|
+
## Termination
|
|
32
|
+
|
|
33
|
+
If you use the software in violation of these terms, such use is not licensed, and your licenses will automatically terminate. If the licensor provides you with a notice of your violation, and you cease all violation of this license no later than 30 days after you receive that notice, your licenses may be reinstated retroactively. However, if you violate these terms after such reinstatement, any additional violation of these terms will cause your licenses to terminate automatically and permanently.
|
|
34
|
+
|
|
35
|
+
## No Liability
|
|
36
|
+
|
|
37
|
+
As far as the law allows, the software comes as is, without any warranty or condition, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE and the licensor will not be liable to you, or any recipients of the software, for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.
|
|
38
|
+
|
|
39
|
+
## Contributions
|
|
40
|
+
|
|
41
|
+
By submitting a Contribution, you agree to the following terms:
|
|
42
|
+
|
|
43
|
+
1. **Grant of License**: You hereby grant to OpenC3, Inc. a perpetual, irrevocable, worldwide, royalty-free, fully paid-up, non-exclusive, sublicensable, and transferable license to use, reproduce, prepare derivative works of, publicly display, publicly perform, distribute, sublicense, sell, and otherwise exploit your Contribution and any derivative works thereof, for any purpose whatsoever, without restriction or obligation to you.
|
|
44
|
+
|
|
45
|
+
2. **Grant of Patent License**: You hereby grant to OpenC3, Inc. a perpetual, irrevocable, worldwide, royalty-free, fully paid-up, non-exclusive, sublicensable, and transferable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer your Contribution, where such license applies only to those patent claims licensable by you that are necessarily infringed by your Contribution alone or by combination of your Contribution with the Software.
|
|
46
|
+
|
|
47
|
+
3. **Representation of Authority**: You represent that you are legally entitled to grant the above licenses. If your employer has rights to intellectual property you create, you represent that you have received permission to make the Contribution on behalf of your employer, or that your employer has waived such rights for your Contribution.
|
|
48
|
+
|
|
49
|
+
4. **Representation of Originality**: You represent that each Contribution is your original creation and that you have the right to grant the licenses herein. You will identify any third-party licenses or restrictions associated with any part of your Contribution.
|
|
50
|
+
|
|
51
|
+
5. **No Obligation**: You acknowledge that OpenC3, Inc. is under no obligation to accept, use, or include any Contribution.
|
|
52
|
+
|
|
53
|
+
6. **No Expectation of Compensation**: Contributions are provided voluntarily. You have no expectation of compensation, royalties, or other payment for any Contribution, regardless of how OpenC3, Inc. uses it.
|
|
54
|
+
|
|
55
|
+
## Governing Law
|
|
56
|
+
|
|
57
|
+
This license shall be governed by and construed in accordance with the laws of the State of Delaware, without regard to its conflict of law provisions.
|
|
58
|
+
|
|
59
|
+
## Commercial Licensing and Contact Information
|
|
60
|
+
|
|
61
|
+
This software may also be used under the terms of a commercial license purchased from OpenC3, Inc.
|
|
62
|
+
|
|
63
|
+
For licensing inquiries, including requests for commercial licenses, please contact:
|
|
64
|
+
|
|
65
|
+
sales@openc3.com
|
|
66
|
+
|
|
67
|
+
## Definitions
|
|
68
|
+
|
|
69
|
+
**Contribution** means any original work of authorship, including any modification or addition to existing work, that is submitted for inclusion in the Software. A Contribution is considered "submitted" when any form of electronic, verbal, or written communication is received by Licensor, including but not limited to communications on electronic mailing lists, source code control systems, issue tracking systems, and pull requests that are managed by or on behalf of Licensor for the purpose of discussing or improving the Software. Communications conspicuously marked "Not a Contribution" are excluded.
|
|
70
|
+
|
|
71
|
+
The **licensor** is the entity offering these terms, and the **software** is the software the licensor makes available under these terms, including any portion of it.
|
|
72
|
+
|
|
73
|
+
**you** refers to the individual or entity agreeing to these terms.
|
|
74
|
+
|
|
75
|
+
**your company** is any legal entity, sole proprietorship, or other kind of organization that you work for or with, plus all organizations that have control over, are under the control of, or are under common control with that organization. control means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
76
|
+
|
|
77
|
+
**your licenses** are all the licenses granted to you for the software under these terms.
|
|
78
|
+
|
|
79
|
+
**use** means anything you do with the software requiring one of your licenses.
|
|
80
|
+
|
|
81
|
+
**trademark** means trademarks, service marks, and similar rights.
|
|
82
|
+
|
|
83
|
+
## Attribution
|
|
84
|
+
|
|
85
|
+
This license is based on the Elastic License 2.0, modified by OpenC3, Inc.
|
data/README.md
CHANGED
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
```
|
|
16
16
|
set OPENC3_REDIS_USERNAME=openc3
|
|
17
17
|
set OPENC3_REDIS_PASSWORD=openc3password
|
|
18
|
-
set OPENC3_BUCKET_USERNAME=
|
|
19
|
-
set OPENC3_BUCKET_PASSWORD=
|
|
18
|
+
set OPENC3_BUCKET_USERNAME=openc3bucket
|
|
19
|
+
set OPENC3_BUCKET_PASSWORD=openc3bucketpassword
|
|
20
20
|
set OPENC3_SR_REDIS_USERNAME=scriptrunner
|
|
21
21
|
set OPENC3_SR_REDIS_PASSWORD=scriptrunnerpassword
|
|
22
|
-
set OPENC3_SR_BUCKET_USERNAME=
|
|
23
|
-
set OPENC3_SR_BUCKET_PASSWORD=
|
|
22
|
+
set OPENC3_SR_BUCKET_USERNAME=scriptrunnerbucket
|
|
23
|
+
set OPENC3_SR_BUCKET_PASSWORD=scriptrunnerbucketpassword
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
## Linux Environment variables
|
|
@@ -28,10 +28,10 @@ set OPENC3_SR_BUCKET_PASSWORD=scriptrunnerminiopassword
|
|
|
28
28
|
```
|
|
29
29
|
OPENC3_REDIS_USERNAME=openc3
|
|
30
30
|
OPENC3_REDIS_PASSWORD=openc3password
|
|
31
|
-
OPENC3_BUCKET_USERNAME=
|
|
32
|
-
OPENC3_BUCKET_PASSWORD=
|
|
31
|
+
OPENC3_BUCKET_USERNAME=openc3bucket
|
|
32
|
+
OPENC3_BUCKET_PASSWORD=openc3bucketpassword
|
|
33
33
|
OPENC3_SR_REDIS_USERNAME=scriptrunner
|
|
34
34
|
OPENC3_SR_REDIS_PASSWORD=scriptrunnerpassword
|
|
35
|
-
OPENC3_SR_BUCKET_USERNAME=
|
|
36
|
-
OPENC3_SR_BUCKET_PASSWORD=
|
|
35
|
+
OPENC3_SR_BUCKET_USERNAME=scriptrunnerbucket
|
|
36
|
+
OPENC3_SR_BUCKET_PASSWORD=scriptrunnerbucketpassword
|
|
37
37
|
```
|
data/Rakefile
CHANGED
|
@@ -3,18 +3,13 @@
|
|
|
3
3
|
# Copyright 2022 Ball Aerospace & Technologies Corp.
|
|
4
4
|
# All Rights Reserved.
|
|
5
5
|
#
|
|
6
|
-
# This program is free software; you can modify and/or redistribute it
|
|
7
|
-
# under the terms of the GNU Affero General Public License
|
|
8
|
-
# as published by the Free Software Foundation; version 3 with
|
|
9
|
-
# attribution addendums as found in the LICENSE.txt
|
|
10
|
-
#
|
|
11
6
|
# This program is distributed in the hope that it will be useful,
|
|
12
7
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
14
|
-
#
|
|
8
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
9
|
+
# See LICENSE.md for more details.
|
|
15
10
|
|
|
16
11
|
# Modified by OpenC3, Inc.
|
|
17
|
-
# All changes Copyright
|
|
12
|
+
# All changes Copyright 2026, OpenC3, Inc.
|
|
18
13
|
# All Rights Reserved
|
|
19
14
|
#
|
|
20
15
|
# This file may also be used under the terms of a commercial license
|
|
@@ -65,7 +60,6 @@ task :build => [:devkit] do
|
|
|
65
60
|
'packet',
|
|
66
61
|
'platform',
|
|
67
62
|
'buffered_file',
|
|
68
|
-
'reducer_microservice'
|
|
69
63
|
]
|
|
70
64
|
|
|
71
65
|
extensions.each do |extension_name|
|
data/bin/cstol_converter
CHANGED
|
@@ -4,18 +4,13 @@
|
|
|
4
4
|
# Copyright 2022 Ball Aerospace & Technologies Corp.
|
|
5
5
|
# All Rights Reserved.
|
|
6
6
|
#
|
|
7
|
-
# This program is free software; you can modify and/or redistribute it
|
|
8
|
-
# under the terms of the GNU Affero General Public License
|
|
9
|
-
# as published by the Free Software Foundation; version 3 with
|
|
10
|
-
# attribution addendums as found in the LICENSE.txt
|
|
11
|
-
#
|
|
12
7
|
# This program is distributed in the hope that it will be useful,
|
|
13
8
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
15
|
-
#
|
|
9
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
10
|
+
# See LICENSE.md for more details.
|
|
16
11
|
|
|
17
12
|
# Modified by OpenC3, Inc.
|
|
18
|
-
# All changes Copyright
|
|
13
|
+
# All changes Copyright 2026, OpenC3, Inc.
|
|
19
14
|
# All Rights Reserved
|
|
20
15
|
#
|
|
21
16
|
# This file may also be used under the terms of a commercial license
|
data/bin/openc3cli
CHANGED
|
@@ -4,18 +4,13 @@
|
|
|
4
4
|
# Copyright 2022 Ball Aerospace & Technologies Corp.
|
|
5
5
|
# All Rights Reserved.
|
|
6
6
|
#
|
|
7
|
-
# This program is free software; you can modify and/or redistribute it
|
|
8
|
-
# under the terms of the GNU Affero General Public License
|
|
9
|
-
# as published by the Free Software Foundation; version 3 with
|
|
10
|
-
# attribution addendums as found in the LICENSE.txt
|
|
11
|
-
#
|
|
12
7
|
# This program is distributed in the hope that it will be useful,
|
|
13
8
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
15
|
-
#
|
|
9
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
10
|
+
# See LICENSE.md for more details.
|
|
16
11
|
|
|
17
12
|
# Modified by OpenC3, Inc.
|
|
18
|
-
# All changes Copyright
|
|
13
|
+
# All changes Copyright 2026, OpenC3, Inc.
|
|
19
14
|
# All Rights Reserved
|
|
20
15
|
#
|
|
21
16
|
# This file may also be used under the terms of a commercial license
|
|
@@ -47,6 +42,8 @@ require 'redis'
|
|
|
47
42
|
require 'erb'
|
|
48
43
|
require 'irb'
|
|
49
44
|
require 'irb/completion'
|
|
45
|
+
require 'digest'
|
|
46
|
+
require 'argon2'
|
|
50
47
|
|
|
51
48
|
$redis_url = "redis://#{ENV['OPENC3_REDIS_HOSTNAME']}:#{ENV['OPENC3_REDIS_PORT']}"
|
|
52
49
|
|
|
@@ -76,7 +73,6 @@ def print_usage
|
|
|
76
73
|
puts " cli bridgesetup CONFIG_FILENAME # Create a default config file"
|
|
77
74
|
puts " cli pkginstall PKGFILENAME SCOPE # Install loaded package (Ruby gem or python package)"
|
|
78
75
|
puts " cli pkguninstall PKGFILENAME SCOPE # Uninstall loaded package (Ruby gem or python package)"
|
|
79
|
-
puts " cli rubysloc # DEPRECATED: Please use scc (https://github.com/boyter/scc)"
|
|
80
76
|
puts " cli xtce_converter # Convert to and from the XTCE format. Run with --help for more info."
|
|
81
77
|
puts " cli cstol_converter # Converts CSTOL files (.prc) to COSMOS. Run with --help for more info."
|
|
82
78
|
puts ""
|
|
@@ -108,7 +104,7 @@ def xtce_converter(args)
|
|
|
108
104
|
options = {}
|
|
109
105
|
option_parser = OptionParser.new do |opts|
|
|
110
106
|
opts.banner = "Usage: xtce_converter [options] --import input_xtce_filename --output output_dir\n"+
|
|
111
|
-
" xtce_converter [options] --plugin /PATH/FILENAME.gem --output output_dir "+
|
|
107
|
+
" xtce_converter [options] --plugin /PATH/FILENAME.gem --output output_dir "+
|
|
112
108
|
" --variables variables.txt --root_target root_target_name --time_association_name time_association_name"
|
|
113
109
|
opts.separator("")
|
|
114
110
|
opts.on("-h", "--help", "Show this message") do
|
|
@@ -595,33 +591,39 @@ end
|
|
|
595
591
|
def cli_script_monitor(script_id)
|
|
596
592
|
ret_code = ERROR_CODE
|
|
597
593
|
require 'openc3/script'
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
594
|
+
begin
|
|
595
|
+
OpenC3::RunningScriptWebSocketApi.new(id: script_id) do |api|
|
|
596
|
+
while (resp = api.read) do
|
|
597
|
+
# see ScriptRunner.vue for types and states
|
|
598
|
+
case resp['type']
|
|
599
|
+
when 'file'
|
|
600
|
+
puts "Filename #{resp['filename']} scope #{resp['scope']}"
|
|
601
|
+
when 'line'
|
|
602
|
+
fn = resp['filename'].nil? ? '<no file>' : resp['filename']
|
|
603
|
+
puts "At [#{fn}:#{resp['line_no']}] state [#{resp['state']}]"
|
|
604
|
+
if resp['state'] == 'error' or resp['state'] == 'crashed'
|
|
605
|
+
$script_interrupt_text = ''
|
|
606
|
+
puts 'script failed'
|
|
607
|
+
break
|
|
608
|
+
end
|
|
609
|
+
when 'output'
|
|
610
|
+
puts resp['line']
|
|
611
|
+
when 'complete'
|
|
608
612
|
$script_interrupt_text = ''
|
|
609
|
-
puts 'script
|
|
613
|
+
puts 'script complete'
|
|
614
|
+
ret_code = 0
|
|
610
615
|
break
|
|
616
|
+
# These conditions are all handled by the else
|
|
617
|
+
# when 'running', 'breakpoint', 'waiting', 'time'
|
|
618
|
+
else
|
|
619
|
+
puts resp.pretty_inspect
|
|
611
620
|
end
|
|
612
|
-
when 'output'
|
|
613
|
-
puts resp['line']
|
|
614
|
-
when 'complete'
|
|
615
|
-
$script_interrupt_text = ''
|
|
616
|
-
puts 'script complete'
|
|
617
|
-
ret_code = 0
|
|
618
|
-
break
|
|
619
|
-
# These conditions are all handled by the else
|
|
620
|
-
# when 'running', 'breakpoint', 'waiting', 'time'
|
|
621
|
-
else
|
|
622
|
-
puts resp.pretty_inspect
|
|
623
621
|
end
|
|
624
622
|
end
|
|
623
|
+
ensure
|
|
624
|
+
# Force flush output streams to ensure all data is written
|
|
625
|
+
STDOUT.flush
|
|
626
|
+
STDERR.flush
|
|
625
627
|
end
|
|
626
628
|
return ret_code
|
|
627
629
|
end
|
|
@@ -877,9 +879,35 @@ def cli_script(args=[])
|
|
|
877
879
|
else
|
|
878
880
|
abort 'openc3cli internal error: parsing arguments'
|
|
879
881
|
end
|
|
882
|
+
# Ensure output is flushed before exit
|
|
883
|
+
STDOUT.flush
|
|
884
|
+
STDERR.flush
|
|
885
|
+
|
|
886
|
+
# Kill any non-daemon threads that might prevent exit
|
|
887
|
+
# This is necessary because WebSocket/TCP streams may create background threads
|
|
888
|
+
Thread.list.each do |thread|
|
|
889
|
+
thread.kill unless thread == Thread.current || thread == Thread.main
|
|
890
|
+
end
|
|
891
|
+
|
|
880
892
|
exit(ret_code)
|
|
881
893
|
end
|
|
882
894
|
|
|
895
|
+
def migrate_password_hash
|
|
896
|
+
password = ENV['OPENC3_API_PASSWORD']
|
|
897
|
+
argon2_profile = ENV["OPENC3_ARGON2_PROFILE"]&.to_sym || :rfc_9106_low_memory
|
|
898
|
+
if password.nil? or password.empty?
|
|
899
|
+
abort "OPENC3_API_PASSWORD environment variable is required for password migration"
|
|
900
|
+
end
|
|
901
|
+
redis = Redis.new(url: $redis_url, username: ENV['OPENC3_REDIS_USERNAME'], password: ENV['OPENC3_REDIS_PASSWORD'])
|
|
902
|
+
old_pw_hash = redis.get('OPENC3__TOKEN')
|
|
903
|
+
abort "Password hash already migrated" if old_pw_hash.start_with?('$argon2')
|
|
904
|
+
abort "OPENC3_API_PASSWORD incorrect" unless old_pw_hash == Digest::SHA256.hexdigest(password)
|
|
905
|
+
new_pw_hash = Argon2::Password.create(password, profile: argon2_profile)
|
|
906
|
+
redis.set('OPENC3__TOKEN', new_pw_hash)
|
|
907
|
+
puts "Password migrated successfully."
|
|
908
|
+
exit 0
|
|
909
|
+
end
|
|
910
|
+
|
|
883
911
|
if not ARGV[0].nil? # argument(s) given
|
|
884
912
|
|
|
885
913
|
# Handle each task
|
|
@@ -1088,9 +1116,6 @@ if not ARGV[0].nil? # argument(s) given
|
|
|
1088
1116
|
# ruby -Iopenc3/lib openc3/bin/openc3cli generate ...
|
|
1089
1117
|
OpenC3::CliGenerator.generate(ARGV[1..-1])
|
|
1090
1118
|
|
|
1091
|
-
when 'rubysloc'
|
|
1092
|
-
puts `ruby /openc3/bin/rubysloc #{ARGV[1..-1].join(' ')}`
|
|
1093
|
-
|
|
1094
1119
|
when 'cstol_converter'
|
|
1095
1120
|
puts `ruby /openc3/bin/cstol_converter #{ARGV[1..-1].join(' ')}`
|
|
1096
1121
|
|
|
@@ -1329,6 +1354,7 @@ if not ARGV[0].nil? # argument(s) given
|
|
|
1329
1354
|
end
|
|
1330
1355
|
end
|
|
1331
1356
|
client.ensure_public(ENV['OPENC3_TOOLS_BUCKET'])
|
|
1357
|
+
client.ensure_scriptrunner_policy(ENV['OPENC3_CONFIG_BUCKET'], ENV['OPENC3_LOGS_BUCKET'])
|
|
1332
1358
|
|
|
1333
1359
|
when 'runmigrations'
|
|
1334
1360
|
if ARGV[1] == '--help' || ARGV[1] == '-h'
|
|
@@ -1342,6 +1368,9 @@ if not ARGV[0].nil? # argument(s) given
|
|
|
1342
1368
|
end
|
|
1343
1369
|
run_migrations(ARGV[1])
|
|
1344
1370
|
|
|
1371
|
+
when 'migratepassword'
|
|
1372
|
+
migrate_password_hash()
|
|
1373
|
+
|
|
1345
1374
|
else # Unknown task
|
|
1346
1375
|
print_usage()
|
|
1347
1376
|
abort("Unknown task: #{ARGV[0]}")
|
|
@@ -38,7 +38,10 @@ APPEND_PARAMETER:
|
|
|
38
38
|
ID_PARAMETER:
|
|
39
39
|
modifiers:
|
|
40
40
|
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
41
|
-
summary: Defines an identification command parameter in the current command packet
|
|
41
|
+
summary: Defines an identification command parameter in the current command packet.
|
|
42
|
+
Note, packets defined without one or more ID_PARAMETERs are "catch-all" packets which
|
|
43
|
+
will match all incoming data. A warning will be generated for packets without ID_PARAMETERs
|
|
44
|
+
unless the CATCHALL keyword is used.
|
|
42
45
|
description: ID parameters are used to identify the binary block of data as a
|
|
43
46
|
particular command. A command packet may have one or more ID_PARAMETERs and all
|
|
44
47
|
must match the binary data for the command to be identified.
|
|
@@ -325,6 +328,11 @@ SCREEN:
|
|
|
325
328
|
description: Screen Name of related telemetry screen
|
|
326
329
|
values: .+
|
|
327
330
|
since: 5.14.0
|
|
331
|
+
CATCHALL:
|
|
332
|
+
summary: Marks this packet as an intentional catch-all packet
|
|
333
|
+
description: Suppresses the warning that is normally generated for packets defined without ID_PARAMETERs.
|
|
334
|
+
Use this when a packet is intentionally designed to match all incoming data that doesn't match other packets.
|
|
335
|
+
since: 7.0.0
|
|
328
336
|
VIRTUAL:
|
|
329
337
|
summary: Marks this packet as virtual and not participating in identification
|
|
330
338
|
description: Used for packet definitions that can be used as structures for items with a given packet.
|
|
@@ -61,8 +61,6 @@ DISABLE_DISCONNECT:
|
|
|
61
61
|
Use this keyword to prevent the user from disconnecting from the interface.
|
|
62
62
|
This is typically used in a 'production' environment where you would not want
|
|
63
63
|
the user to inadvertently disconnect from a target.
|
|
64
|
-
LOG_RAW:
|
|
65
|
-
summary: Deprecated, use LOG_STREAM
|
|
66
64
|
LOG_STREAM:
|
|
67
65
|
summary: Log all data on the interface exactly as it is sent and received
|
|
68
66
|
description:
|
data/data/config/plugins.yaml
CHANGED
|
@@ -15,42 +15,38 @@ VARIABLE:
|
|
|
15
15
|
values: .+
|
|
16
16
|
VARIABLE_DESCRIPTION:
|
|
17
17
|
summary: Add a description to a plugin variable
|
|
18
|
-
description: The VARIABLE_DESCRIPTION keyword adds a human-readable description to a previously defined VARIABLE.
|
|
18
|
+
description: The VARIABLE_DESCRIPTION keyword adds a human-readable description to a previously defined VARIABLE.
|
|
19
|
+
This description appears as hint text below the variable input field during plugin installation.
|
|
20
|
+
Must follow a VARIABLE definition.
|
|
19
21
|
since: 7.0.0
|
|
20
22
|
example: |
|
|
21
23
|
VARIABLE port 8080
|
|
22
|
-
VARIABLE_DESCRIPTION
|
|
24
|
+
VARIABLE_DESCRIPTION "TCP port for the target connection"
|
|
23
25
|
parameters:
|
|
24
|
-
- name: Variable Name
|
|
25
|
-
required: true
|
|
26
|
-
description: Name of the variable to describe. Must match a previously defined VARIABLE name.
|
|
27
|
-
values: .+
|
|
28
26
|
- name: Description
|
|
29
27
|
required: true
|
|
30
28
|
description: Human-readable description of the variable's purpose
|
|
31
29
|
values: .+
|
|
32
30
|
VARIABLE_STATE:
|
|
33
31
|
summary: Add a selectable state for a plugin variable
|
|
34
|
-
description: The VARIABLE_STATE keyword defines a selectable state for a previously defined VARIABLE.
|
|
32
|
+
description: The VARIABLE_STATE keyword defines a selectable state for a previously defined VARIABLE.
|
|
33
|
+
When states are defined for a variable, it renders as a dropdown/combobox in the plugin installation dialog instead of a text field.
|
|
34
|
+
Users can still type custom values if needed. Multiple VARIABLE_STATE keywords can be used to define multiple states.
|
|
35
|
+
Must follow a VARIABLE definition.
|
|
35
36
|
since: 7.0.0
|
|
36
37
|
example: |
|
|
37
|
-
VARIABLE
|
|
38
|
-
|
|
39
|
-
VARIABLE_STATE
|
|
40
|
-
VARIABLE_STATE target_name INST2 "Secondary instrument"
|
|
38
|
+
VARIABLE log_retain_time 172800
|
|
39
|
+
VARIABLE_STATE "24 hours" 86400
|
|
40
|
+
VARIABLE_STATE "48 hours" 172800
|
|
41
41
|
parameters:
|
|
42
|
-
- name:
|
|
43
|
-
required:
|
|
44
|
-
description:
|
|
42
|
+
- name: State Description
|
|
43
|
+
required: false
|
|
44
|
+
description: Human-readable description of what this state represents. Appears as option in the dropdown.
|
|
45
45
|
values: .+
|
|
46
46
|
- name: State Value
|
|
47
47
|
required: true
|
|
48
48
|
description: The value that will be used when this state is selected
|
|
49
49
|
values: .+
|
|
50
|
-
- name: State Description
|
|
51
|
-
required: false
|
|
52
|
-
description: Human-readable description of what this state represents. Appears as subtitle in the dropdown.
|
|
53
|
-
values: .+
|
|
54
50
|
NEEDS_DEPENDENCIES:
|
|
55
51
|
summary: Indicates the plugin needs dependencies and sets the GEM_HOME environment variable
|
|
56
52
|
description: If the plugin has a top level lib folder or lists runtime dependencies in the gemspec,
|
data/data/config/screen.yaml
CHANGED
|
@@ -16,7 +16,7 @@ SCREEN:
|
|
|
16
16
|
values: \d+
|
|
17
17
|
- name: Polling Period
|
|
18
18
|
required: true
|
|
19
|
-
description: Number of seconds between screen updates
|
|
19
|
+
description: Number of seconds between screen updates. 0 means disable polling.
|
|
20
20
|
values: '[0-9]*\.?[0-9]+'
|
|
21
21
|
example: |
|
|
22
22
|
SCREEN AUTO AUTO 1.0
|
data/data/config/target.yaml
CHANGED
|
@@ -9,8 +9,7 @@ TARGET:
|
|
|
9
9
|
values: .*
|
|
10
10
|
- name: Name
|
|
11
11
|
required: true
|
|
12
|
-
description:
|
|
13
|
-
The target name. While this typically matches the Folder Name
|
|
12
|
+
description: The target name. While this typically matches the Folder Name
|
|
14
13
|
it can be different to create multiple targets based on the same target definition.
|
|
15
14
|
As in the Example Usage, the target folder is KEYSIGHT_N6700 but the target name is PWR_SUPPLY1.
|
|
16
15
|
To create multiple targets from the same folder, just define multiple TARGET entries
|
|
@@ -48,27 +47,6 @@ TARGET:
|
|
|
48
47
|
required: true
|
|
49
48
|
description: Number of seconds to keep raw command logs (default = nil = Forever)
|
|
50
49
|
values: \d+
|
|
51
|
-
CMD_DECOM_LOG_CYCLE_TIME:
|
|
52
|
-
summary: Command decommutation logs can be cycled on a time interval.
|
|
53
|
-
parameters:
|
|
54
|
-
- name: Time
|
|
55
|
-
required: true
|
|
56
|
-
description: Maximum time between files in seconds (default = 600)
|
|
57
|
-
values: \d+
|
|
58
|
-
CMD_DECOM_LOG_CYCLE_SIZE:
|
|
59
|
-
summary: Command decommutation logs can be cycled after a certain log file size is reached.
|
|
60
|
-
parameters:
|
|
61
|
-
- name: Size
|
|
62
|
-
required: true
|
|
63
|
-
description: Maximum file size in bytes (default = 50_000_000)
|
|
64
|
-
values: \d+
|
|
65
|
-
CMD_DECOM_LOG_RETAIN_TIME:
|
|
66
|
-
summary: How long to keep decom command logs in seconds.
|
|
67
|
-
parameters:
|
|
68
|
-
- name: Time
|
|
69
|
-
required: true
|
|
70
|
-
description: Number of seconds to keep decom command logs (default = nil = Forever)
|
|
71
|
-
values: \d+
|
|
72
50
|
TLM_BUFFER_DEPTH:
|
|
73
51
|
summary: Number of telemetry packets to buffer to ensure logged in order
|
|
74
52
|
since: 5.2.0
|
|
@@ -98,48 +76,34 @@ TARGET:
|
|
|
98
76
|
required: true
|
|
99
77
|
description: Number of seconds to keep raw telemetry logs (default = nil = Forever)
|
|
100
78
|
values: \d+
|
|
101
|
-
|
|
102
|
-
summary:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
values: \d+
|
|
108
|
-
TLM_DECOM_LOG_CYCLE_SIZE:
|
|
109
|
-
summary: Telemetry decommutation logs can be cycled after a certain log file size is reached.
|
|
110
|
-
parameters:
|
|
111
|
-
- name: Size
|
|
112
|
-
required: true
|
|
113
|
-
description: Maximum file size in bytes (default = 50_000_000)
|
|
114
|
-
values: \d+
|
|
115
|
-
TLM_DECOM_LOG_RETAIN_TIME:
|
|
116
|
-
summary: How long to keep decom telemetry logs in seconds.
|
|
117
|
-
parameters:
|
|
118
|
-
- name: Time
|
|
119
|
-
required: true
|
|
120
|
-
description: Number of seconds to keep decom telemetry logs (default = nil = Forever)
|
|
121
|
-
values: \d+
|
|
122
|
-
REDUCED_MINUTE_LOG_RETAIN_TIME:
|
|
123
|
-
summary: How long to keep reduced minute telemetry logs in seconds.
|
|
124
|
-
parameters:
|
|
125
|
-
- name: Time
|
|
126
|
-
required: true
|
|
127
|
-
description: Number of seconds to keep reduced minute telemetry logs (default = nil = Forever)
|
|
128
|
-
values: \d+
|
|
129
|
-
REDUCED_HOUR_LOG_RETAIN_TIME:
|
|
130
|
-
summary: How long to keep reduced hour telemetry logs in seconds.
|
|
79
|
+
CMD_DECOM_RETAIN_TIME:
|
|
80
|
+
summary: How long to keep command decommutation records in the TSDB.
|
|
81
|
+
description:
|
|
82
|
+
Sets the retention time directly on QuestDB tables for automatic data expiration.
|
|
83
|
+
QuestDB will automatically remove data older than this retention time.
|
|
84
|
+
since: 7.0.0
|
|
131
85
|
parameters:
|
|
132
86
|
- name: Time
|
|
133
87
|
required: true
|
|
134
|
-
description:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
88
|
+
description:
|
|
89
|
+
Retention time value with unit (e.g., "24h" for 24 hours, "30d" for 30 days, "1y" for 1 year).
|
|
90
|
+
Supported units are h (hours), d (days), w (weeks), M (months), y (years).
|
|
91
|
+
Default = nil = Forever
|
|
92
|
+
values: \d+[hdwMy]
|
|
93
|
+
TLM_DECOM_RETAIN_TIME:
|
|
94
|
+
summary: How long to keep telemetry decommutation records in the TSDB.
|
|
95
|
+
description:
|
|
96
|
+
Sets the retention time directly on QuestDB tables for automatic data expiration.
|
|
97
|
+
QuestDB will automatically remove data older than this retention time.
|
|
98
|
+
since: 7.0.0
|
|
138
99
|
parameters:
|
|
139
100
|
- name: Time
|
|
140
101
|
required: true
|
|
141
|
-
description:
|
|
142
|
-
|
|
102
|
+
description:
|
|
103
|
+
Retention time value with unit (e.g., "24h" for 24 hours, "30d" for 30 days, "1y" for 1 year).
|
|
104
|
+
Supported units are h (hours), d (days), w (weeks), M (months), y (years).
|
|
105
|
+
Default = nil = Forever
|
|
106
|
+
values: \d+[hdwMy]
|
|
143
107
|
LOG_RETAIN_TIME:
|
|
144
108
|
summary: How long to keep all regular telemetry logs in seconds.
|
|
145
109
|
parameters:
|
|
@@ -147,28 +111,12 @@ TARGET:
|
|
|
147
111
|
required: true
|
|
148
112
|
description: Number of seconds to keep all regular telemetry logs (default = nil = Forever)
|
|
149
113
|
values: \d+
|
|
150
|
-
REDUCED_LOG_RETAIN_TIME:
|
|
151
|
-
summary: How long to keep all reduced telemetry logs in seconds.
|
|
152
|
-
parameters:
|
|
153
|
-
- name: Time
|
|
154
|
-
required: true
|
|
155
|
-
description: Number of seconds to keep all reduced telemetry logs (default = nil = Forever)
|
|
156
|
-
values: \d+
|
|
157
114
|
CLEANUP_POLL_TIME:
|
|
158
115
|
summary: Period at which to run the cleanup process.
|
|
159
116
|
parameters:
|
|
160
117
|
- name: Time
|
|
161
118
|
required: true
|
|
162
|
-
description: Number of seconds between runs of the cleanup process (default =
|
|
163
|
-
values: \d+
|
|
164
|
-
REDUCER_DISABLE:
|
|
165
|
-
summary: Disables the data reduction microservice for the target
|
|
166
|
-
REDUCER_MAX_CPU_UTILIZATION:
|
|
167
|
-
summary: Maximum amount of CPU utilization to apply to data reduction
|
|
168
|
-
parameters:
|
|
169
|
-
- name: Percentage
|
|
170
|
-
required: true
|
|
171
|
-
description: 0 to 100 percent (default = 30)
|
|
119
|
+
description: Number of seconds between runs of the cleanup process (default = 3600 = 1 hour)
|
|
172
120
|
values: \d+
|
|
173
121
|
TARGET_MICROSERVICE:
|
|
174
122
|
summary: Breaks a target microservice out into its own process.
|
|
@@ -180,8 +128,7 @@ TARGET:
|
|
|
180
128
|
parameters:
|
|
181
129
|
- name: Type
|
|
182
130
|
required: true
|
|
183
|
-
description: The target microservice type. Must be one of
|
|
184
|
-
DECOM, COMMANDLOG, DECOMCMDLOG, PACKETLOG, DECOMLOG, REDUCER, or CLEANUP
|
|
131
|
+
description: The target microservice type. Must be one of DECOM, COMMANDLOG, PACKETLOG, or CLEANUP
|
|
185
132
|
values: .*
|
|
186
133
|
PACKET:
|
|
187
134
|
summary: Packet Name to allocate to the current TARGET_MICROSERVICE.
|
|
@@ -190,7 +137,7 @@ TARGET:
|
|
|
190
137
|
- name: Packet Name
|
|
191
138
|
required: true
|
|
192
139
|
description: The packet name. Does not apply to
|
|
193
|
-
|
|
140
|
+
CLEANUP target microservice type.
|
|
194
141
|
values: .*
|
|
195
142
|
DISABLE_ERB:
|
|
196
143
|
summary: Disable ERB processing
|