openc3 7.0.0.pre.rc2 → 7.0.0

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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/bin/openc3cli +13 -4
  3. data/bin/pipinstall +6 -7
  4. data/bin/pipuninstall +3 -5
  5. data/data/config/interface_modifiers.yaml +1 -1
  6. data/data/config/item_modifiers.yaml +18 -6
  7. data/data/config/telemetry.yaml +1 -1
  8. data/data/config/widgets.yaml +10 -0
  9. data/lib/openc3/accessors/json_accessor.rb +1 -1
  10. data/lib/openc3/api/cmd_api.rb +2 -0
  11. data/lib/openc3/api/settings_api.rb +2 -0
  12. data/lib/openc3/api/tlm_api.rb +3 -3
  13. data/lib/openc3/config/config_parser.rb +4 -4
  14. data/lib/openc3/conversions/conversion.rb +3 -3
  15. data/lib/openc3/core_ext/faraday.rb +4 -0
  16. data/lib/openc3/logs/log_writer.rb +24 -6
  17. data/lib/openc3/logs/packet_log_writer.rb +1 -4
  18. data/lib/openc3/logs/stream_log_pair.rb +11 -4
  19. data/lib/openc3/logs/text_log_writer.rb +1 -4
  20. data/lib/openc3/microservices/interface_microservice.rb +8 -2
  21. data/lib/openc3/microservices/log_microservice.rb +7 -2
  22. data/lib/openc3/microservices/microservice.rb +10 -4
  23. data/lib/openc3/microservices/queue_microservice.rb +9 -2
  24. data/lib/openc3/microservices/scope_cleanup_microservice.rb +116 -1
  25. data/lib/openc3/microservices/text_log_microservice.rb +4 -1
  26. data/lib/openc3/migrations/20241208080000_no_critical_cmd.rb +1 -1
  27. data/lib/openc3/migrations/20250402000000_periodic_only_default.rb +1 -1
  28. data/lib/openc3/migrations/20260203000000_remove_store_id.rb +28 -0
  29. data/lib/openc3/migrations/20260204000000_remove_decom_reducer.rb +29 -1
  30. data/lib/openc3/models/activity_model.rb +41 -9
  31. data/lib/openc3/models/auth_model.rb +54 -19
  32. data/lib/openc3/models/cvt_model.rb +2 -265
  33. data/lib/openc3/models/model.rb +16 -0
  34. data/lib/openc3/models/plugin_model.rb +18 -12
  35. data/lib/openc3/models/plugin_store_model.rb +1 -1
  36. data/lib/openc3/models/python_package_model.rb +2 -2
  37. data/lib/openc3/models/queue_model.rb +5 -3
  38. data/lib/openc3/models/script_engine_model.rb +1 -1
  39. data/lib/openc3/models/target_model.rb +75 -42
  40. data/lib/openc3/models/tool_config_model.rb +12 -0
  41. data/lib/openc3/models/tool_model.rb +18 -5
  42. data/lib/openc3/models/trigger_model.rb +1 -1
  43. data/lib/openc3/models/widget_model.rb +2 -9
  44. data/lib/openc3/operators/operator.rb +9 -7
  45. data/lib/openc3/packets/json_packet.rb +2 -0
  46. data/lib/openc3/packets/packet.rb +1 -0
  47. data/lib/openc3/packets/packet_config.rb +28 -12
  48. data/lib/openc3/script/calendar.rb +8 -0
  49. data/lib/openc3/script/script.rb +19 -0
  50. data/lib/openc3/script/storage.rb +6 -6
  51. data/lib/openc3/script/web_socket_api.rb +1 -1
  52. data/lib/openc3/system/system.rb +6 -6
  53. data/lib/openc3/tools/cmd_tlm_server/interface_thread.rb +0 -2
  54. data/lib/openc3/top_level.rb +15 -63
  55. data/lib/openc3/topics/command_topic.rb +1 -0
  56. data/lib/openc3/topics/limits_event_topic.rb +1 -1
  57. data/lib/openc3/utilities/authentication.rb +46 -7
  58. data/lib/openc3/utilities/authorization.rb +8 -1
  59. data/lib/openc3/utilities/aws_bucket.rb +2 -3
  60. data/lib/openc3/utilities/bucket_utilities.rb +3 -1
  61. data/lib/openc3/utilities/cli_generator.rb +7 -0
  62. data/lib/openc3/utilities/cmd_log.rb +1 -1
  63. data/lib/openc3/utilities/local_mode.rb +3 -0
  64. data/lib/openc3/utilities/process_manager.rb +1 -1
  65. data/lib/openc3/utilities/python_proxy.rb +11 -4
  66. data/lib/openc3/utilities/questdb_client.rb +764 -2
  67. data/lib/openc3/utilities/running_script.rb +25 -7
  68. data/lib/openc3/utilities/script.rb +452 -0
  69. data/lib/openc3/utilities/secrets.rb +1 -1
  70. data/lib/openc3/version.rb +5 -5
  71. data/templates/conversion/conversion.py +0 -8
  72. data/templates/conversion/conversion.rb +0 -11
  73. data/templates/tool_angular/package.json +2 -2
  74. data/templates/tool_react/package.json +1 -1
  75. data/templates/tool_svelte/package.json +1 -1
  76. data/templates/tool_vue/package.json +3 -3
  77. data/templates/widget/package.json +2 -2
  78. metadata +19 -19
  79. data/lib/openc3/migrations/20251022000000_remove_unique_id.rb +0 -23
  80. data/lib/openc3/migrations/20251213120000_reinstall_plugins.rb +0 -45
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openc3
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0.pre.rc2
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -10,6 +10,20 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 1980-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '8.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '8.0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: erb
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -654,20 +668,6 @@ dependencies:
654
668
  - - "~>"
655
669
  - !ruby/object:Gem::Version
656
670
  version: '2.9'
657
- - !ruby/object:Gem::Dependency
658
- name: diff-lcs
659
- requirement: !ruby/object:Gem::Requirement
660
- requirements:
661
- - - "~>"
662
- - !ruby/object:Gem::Version
663
- version: '1.4'
664
- type: :development
665
- prerelease: false
666
- version_requirements: !ruby/object:Gem::Requirement
667
- requirements:
668
- - - "~>"
669
- - !ruby/object:Gem::Version
670
- version: '1.4'
671
671
  - !ruby/object:Gem::Dependency
672
672
  name: faraday-follow_redirects
673
673
  requirement: !ruby/object:Gem::Requirement
@@ -814,14 +814,14 @@ dependencies:
814
814
  requirements:
815
815
  - - "~>"
816
816
  - !ruby/object:Gem::Version
817
- version: '1.4'
817
+ version: '2.0'
818
818
  type: :development
819
819
  prerelease: false
820
820
  version_requirements: !ruby/object:Gem::Requirement
821
821
  requirements:
822
822
  - - "~>"
823
823
  - !ruby/object:Gem::Version
824
- version: '1.4'
824
+ version: '2.0'
825
825
  - !ruby/object:Gem::Dependency
826
826
  name: simplecov
827
827
  requirement: !ruby/object:Gem::Requirement
@@ -1102,8 +1102,7 @@ files:
1102
1102
  - lib/openc3/migrations/20241208080001_no_trigger_group.rb
1103
1103
  - lib/openc3/migrations/20250108060000_news_feed.rb
1104
1104
  - lib/openc3/migrations/20250402000000_periodic_only_default.rb
1105
- - lib/openc3/migrations/20251022000000_remove_unique_id.rb
1106
- - lib/openc3/migrations/20251213120000_reinstall_plugins.rb
1105
+ - lib/openc3/migrations/20260203000000_remove_store_id.rb
1107
1106
  - lib/openc3/migrations/20260204000000_remove_decom_reducer.rb
1108
1107
  - lib/openc3/models/activity_model.rb
1109
1108
  - lib/openc3/models/auth_model.rb
@@ -1262,6 +1261,7 @@ files:
1262
1261
  - lib/openc3/utilities/ruby_lex_utils.rb
1263
1262
  - lib/openc3/utilities/running_script.rb
1264
1263
  - lib/openc3/utilities/s3_autoload.rb
1264
+ - lib/openc3/utilities/script.rb
1265
1265
  - lib/openc3/utilities/secrets.rb
1266
1266
  - lib/openc3/utilities/simulated_target.rb
1267
1267
  - lib/openc3/utilities/sleeper.rb
@@ -1,23 +0,0 @@
1
- require 'openc3/utilities/migration'
2
- require 'openc3/models/scope_model'
3
- require 'openc3/models/microservice_model'
4
-
5
- module OpenC3
6
- class RemoveUniqueId < Migration
7
- def self.run
8
- ScopeModel.get_all_models(scope: nil).each do |scope, scope_model|
9
- target_models = TargetModel.all(scope: scope)
10
- target_models.each do |name, target_model|
11
- target_model.delete("cmd_unique_id_mode")
12
- target_model.delete("tlm_unique_id_mode")
13
- model = TargetModel.from_json(target_model, scope: scope)
14
- model.update()
15
- end
16
- end
17
- end
18
- end
19
- end
20
-
21
- unless ENV['OPENC3_NO_MIGRATE']
22
- OpenC3::RemoveUniqueId.run
23
- end
@@ -1,45 +0,0 @@
1
- require 'openc3/utilities/migration'
2
- require 'openc3/utilities/bucket'
3
- require 'openc3/models/scope_model'
4
- require 'openc3/models/plugin_model'
5
-
6
- module OpenC3
7
- class ReinstallPlugins < Migration
8
- def self.run
9
- # Check if required buckets exist - if not, this is a fresh install and we skip
10
- # This handles the case where we're migrating to a new storage backend (e.g., MINIO -> versitygw)
11
- client = Bucket.getClient()
12
- unless client.exist?('config') && client.exist?('tools')
13
- Logger.info("Skipping plugin reinstall migration - buckets do not exist yet (fresh install or new storage backend)")
14
- return
15
- end
16
-
17
- # Get all scopes
18
- ScopeModel.get_all_models(scope: nil).each do |scope, scope_model|
19
- # Get all plugins for this scope
20
- plugins = PluginModel.all(scope: scope)
21
- plugins.each do |plugin_name, plugin_data|
22
- begin
23
- Logger.info("Reinstalling plugin #{plugin_name} in scope #{scope}")
24
-
25
- # Get the plugin model
26
- plugin_model = PluginModel.from_json(plugin_data, scope: scope)
27
-
28
- # Undeploy and then restore (reinstall) the plugin
29
- plugin_model.undeploy
30
- plugin_model.restore
31
-
32
- Logger.info("Successfully reinstalled plugin #{plugin_name} in scope #{scope}")
33
- rescue Exception => e
34
- Logger.error("Error reinstalling plugin #{plugin_name} in scope #{scope}: #{e.formatted}")
35
- # Continue with other plugins even if one fails
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
42
-
43
- unless ENV['OPENC3_NO_MIGRATE']
44
- OpenC3::ReinstallPlugins.run
45
- end