openc3-cosmos-tool-docs 6.0.1 → 6.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/tools/staticdocs/404.html +1 -1
  3. data/tools/staticdocs/assets/js/{019369f3.8413befc.js → 019369f3.1a6a0205.js} +1 -1
  4. data/tools/staticdocs/assets/js/{058ffc22.a4ceeb8e.js → 058ffc22.5cfabd67.js} +1 -1
  5. data/tools/staticdocs/assets/js/{0686a885.ae0a89e8.js → 0686a885.0e2ea47d.js} +1 -1
  6. data/tools/staticdocs/assets/js/{078dbab0.90ef4019.js → 078dbab0.5515d5e3.js} +1 -1
  7. data/tools/staticdocs/assets/js/{0f5d161c.1c827de2.js → 0f5d161c.7697df48.js} +1 -1
  8. data/tools/staticdocs/assets/js/{0ff569c9.3b7f9c95.js → 0ff569c9.f81b787b.js} +1 -1
  9. data/tools/staticdocs/assets/js/{103cc3be.76716a45.js → 103cc3be.e7943c80.js} +1 -1
  10. data/tools/staticdocs/assets/js/{13196248.18801ae0.js → 13196248.ea83002e.js} +1 -1
  11. data/tools/staticdocs/assets/js/{13c1b4e4.4457fa9a.js → 13c1b4e4.eb5250f4.js} +1 -1
  12. data/tools/staticdocs/assets/js/1e02e6a3.f477eca7.js +1 -0
  13. data/tools/staticdocs/assets/js/{2047b354.9470f5c9.js → 2047b354.d91f6c3e.js} +1 -1
  14. data/tools/staticdocs/assets/js/{22b3ac48.ac895789.js → 22b3ac48.0df9587b.js} +1 -1
  15. data/tools/staticdocs/assets/js/26b8abb2.a9f9025d.js +1 -0
  16. data/tools/staticdocs/assets/js/{2bb7bf90.471e10a1.js → 2bb7bf90.4051cf46.js} +1 -1
  17. data/tools/staticdocs/assets/js/31436304.a6b2eb4a.js +1 -0
  18. data/tools/staticdocs/assets/js/3969.afdd070b.js +1 -0
  19. data/tools/staticdocs/assets/js/{3dd7ef3b.d8bb37a8.js → 3dd7ef3b.c3455b97.js} +1 -1
  20. data/tools/staticdocs/assets/js/{40365d27.5f8a5da7.js → 40365d27.5ed2e9b5.js} +1 -1
  21. data/tools/staticdocs/assets/js/{411898ad.c8f67fde.js → 411898ad.f7fc4d80.js} +1 -1
  22. data/tools/staticdocs/assets/js/{42170351.86617d4a.js → 42170351.fbc05869.js} +1 -1
  23. data/tools/staticdocs/assets/js/{43652efd.0c473c25.js → 43652efd.60fa883f.js} +1 -1
  24. data/tools/staticdocs/assets/js/{2124.0e1f26f5.js → 5205.07e5caf3.js} +1 -1
  25. data/tools/staticdocs/assets/js/5328.3e2a53eb.js +1 -0
  26. data/tools/staticdocs/assets/js/53ca7c5b.fe331a71.js +1 -0
  27. data/tools/staticdocs/assets/js/{54d0d530.9ace531c.js → 54d0d530.ef91ba12.js} +1 -1
  28. data/tools/staticdocs/assets/js/5761.e7fabbc9.js +4 -0
  29. data/tools/staticdocs/assets/js/{5b233ba7.565c0c28.js → 5b233ba7.2ea0179c.js} +1 -1
  30. data/tools/staticdocs/assets/js/{5bc719f6.80b7b43c.js → 5bc719f6.b84c55e3.js} +1 -1
  31. data/tools/staticdocs/assets/js/{5c6ce5ec.ed839e0d.js → 5c6ce5ec.67d1d92e.js} +1 -1
  32. data/tools/staticdocs/assets/js/5e3ed378.cc5e2748.js +1 -0
  33. data/tools/staticdocs/assets/js/{5fe211ef.96109971.js → 5fe211ef.5a6390e4.js} +1 -1
  34. data/tools/staticdocs/assets/js/651.a043d7b1.js +1 -0
  35. data/tools/staticdocs/assets/js/6831b732.bb38c0d0.js +1 -0
  36. data/tools/staticdocs/assets/js/{696b4199.34aa1d77.js → 696b4199.2a7ff897.js} +1 -1
  37. data/tools/staticdocs/assets/js/6b210247.ef28d4e5.js +1 -0
  38. data/tools/staticdocs/assets/js/{6b65133b.f71c0e94.js → 6b65133b.0376a397.js} +1 -1
  39. data/tools/staticdocs/assets/js/{6f92e431.c98e31e0.js → 6f92e431.d2ce2753.js} +1 -1
  40. data/tools/staticdocs/assets/js/{72c6d8a8.1053fbd7.js → 72c6d8a8.10f0f9ec.js} +1 -1
  41. data/tools/staticdocs/assets/js/{75e64983.45bf7edc.js → 75e64983.81988bef.js} +1 -1
  42. data/tools/staticdocs/assets/js/{80c97f38.5a408d9c.js → 80c97f38.607160d3.js} +1 -1
  43. data/tools/staticdocs/assets/js/{867640d5.866fe67b.js → 867640d5.2c0fa6d9.js} +1 -1
  44. data/tools/staticdocs/assets/js/89e76475.a76d0072.js +1 -0
  45. data/tools/staticdocs/assets/js/{8f7843ee.59da8025.js → 8f7843ee.abe30983.js} +1 -1
  46. data/tools/staticdocs/assets/js/9357.9a7e89b5.js +101 -0
  47. data/tools/staticdocs/assets/js/{9424f0b3.cc8aa06e.js → 9424f0b3.bc60f3d9.js} +1 -1
  48. data/tools/staticdocs/assets/js/{97535711.94a5b402.js → 97535711.88c7444a.js} +1 -1
  49. data/tools/staticdocs/assets/js/99581c43.5e55992d.js +1 -0
  50. data/tools/staticdocs/assets/js/9d6e81d0.141ccd61.js +1 -0
  51. data/tools/staticdocs/assets/js/9fb6059a.821f7504.js +1 -0
  52. data/tools/staticdocs/assets/js/{a677c089.d8d7a8f5.js → a677c089.7caa32f6.js} +1 -1
  53. data/tools/staticdocs/assets/js/a9987364.81e9c91d.js +1 -0
  54. data/tools/staticdocs/assets/js/{aa6b6c1b.993f091d.js → aa6b6c1b.72eac29d.js} +1 -1
  55. data/tools/staticdocs/assets/js/{b4596165.a5fe2cea.js → b4596165.c648533a.js} +1 -1
  56. data/tools/staticdocs/assets/js/{b6d70f94.5df56282.js → b6d70f94.7813125e.js} +1 -1
  57. data/tools/staticdocs/assets/js/{b9f60ba6.cdb4a698.js → b9f60ba6.4c0bb1dd.js} +1 -1
  58. data/tools/staticdocs/assets/js/{bd0034eb.5fb449fc.js → bd0034eb.8ad39448.js} +1 -1
  59. data/tools/staticdocs/assets/js/{c24eae19.f419c8fb.js → c24eae19.89738127.js} +1 -1
  60. data/tools/staticdocs/assets/js/{c2598f55.85419dc8.js → c2598f55.812cdcd1.js} +1 -1
  61. data/tools/staticdocs/assets/js/{cb8c3f08.9264e5dd.js → cb8c3f08.07d1c9e9.js} +1 -1
  62. data/tools/staticdocs/assets/js/{cd879be4.aa3c877c.js → cd879be4.59af1749.js} +1 -1
  63. data/tools/staticdocs/assets/js/{d1b923aa.de9e8fd6.js → d1b923aa.a73e7e79.js} +1 -1
  64. data/tools/staticdocs/assets/js/d1bfc316.a58b9bbd.js +1 -0
  65. data/tools/staticdocs/assets/js/{d24bf9b6.1cb515f4.js → d24bf9b6.9fef8263.js} +1 -1
  66. data/tools/staticdocs/assets/js/{d57a4b5d.09769a64.js → d57a4b5d.c74b62b1.js} +1 -1
  67. data/tools/staticdocs/assets/js/{d5d77c37.1704d750.js → d5d77c37.e812e6e7.js} +1 -1
  68. data/tools/staticdocs/assets/js/{d66bf9c0.9a597f56.js → d66bf9c0.842d2efa.js} +1 -1
  69. data/tools/staticdocs/assets/js/d8ca4191.f5da7c6d.js +1 -0
  70. data/tools/staticdocs/assets/js/{d9b92eba.5a40eb6d.js → d9b92eba.34e63ba6.js} +1 -1
  71. data/tools/staticdocs/assets/js/{db8fa1d0.f9f65c91.js → db8fa1d0.94b76b52.js} +1 -1
  72. data/tools/staticdocs/assets/js/{dbe31111.dae4b9bd.js → dbe31111.75e9fc53.js} +1 -1
  73. data/tools/staticdocs/assets/js/dc5f7beb.9e4e6681.js +1 -0
  74. data/tools/staticdocs/assets/js/{e501b0d1.cb2ef34f.js → e501b0d1.d3a1e4bc.js} +1 -1
  75. data/tools/staticdocs/assets/js/{ebec1ccb.086b8668.js → ebec1ccb.120a5b80.js} +1 -1
  76. data/tools/staticdocs/assets/js/{f15615f1.afd4ba93.js → f15615f1.49804e96.js} +1 -1
  77. data/tools/staticdocs/assets/js/fd886806.124ffe26.js +1 -0
  78. data/tools/staticdocs/assets/js/main.ed84fc7e.js +36 -0
  79. data/tools/staticdocs/assets/js/runtime~main.91337aca.js +1 -0
  80. data/tools/staticdocs/docs/configuration/accessors.html +2 -2
  81. data/tools/staticdocs/docs/configuration/command.html +2 -2
  82. data/tools/staticdocs/docs/configuration/format.html +2 -2
  83. data/tools/staticdocs/docs/configuration/interfaces.html +2 -2
  84. data/tools/staticdocs/docs/configuration/plugins.html +4 -4
  85. data/tools/staticdocs/docs/configuration/protocols.html +2 -2
  86. data/tools/staticdocs/docs/configuration/ssl-tls.html +2 -2
  87. data/tools/staticdocs/docs/configuration/table.html +2 -2
  88. data/tools/staticdocs/docs/configuration/target.html +2 -2
  89. data/tools/staticdocs/docs/configuration/telemetry-screens.html +2 -2
  90. data/tools/staticdocs/docs/configuration/telemetry.html +2 -2
  91. data/tools/staticdocs/docs/configuration.html +1 -1
  92. data/tools/staticdocs/docs/development/curl.html +2 -2
  93. data/tools/staticdocs/docs/development/developing.html +3 -3
  94. data/tools/staticdocs/docs/development/json-api.html +2 -2
  95. data/tools/staticdocs/docs/development/log-structure.html +2 -2
  96. data/tools/staticdocs/docs/development/roadmap.html +2 -2
  97. data/tools/staticdocs/docs/development/streaming-api.html +2 -2
  98. data/tools/staticdocs/docs/development/testing.html +2 -2
  99. data/tools/staticdocs/docs/development.html +1 -1
  100. data/tools/staticdocs/docs/getting-started/generators.html +2 -2
  101. data/tools/staticdocs/docs/getting-started/gettingstarted.html +2 -2
  102. data/tools/staticdocs/docs/getting-started/installation.html +2 -2
  103. data/tools/staticdocs/docs/getting-started/key_concepts.html +2 -2
  104. data/tools/staticdocs/docs/getting-started/podman.html +2 -2
  105. data/tools/staticdocs/docs/getting-started/requirements.html +2 -2
  106. data/tools/staticdocs/docs/getting-started/upgrading.html +2 -2
  107. data/tools/staticdocs/docs/getting-started.html +1 -1
  108. data/tools/staticdocs/docs/guides/bridges.html +2 -2
  109. data/tools/staticdocs/docs/guides/cfs.html +2 -2
  110. data/tools/staticdocs/docs/guides/custom-widgets.html +2 -2
  111. data/tools/staticdocs/docs/guides/exposing_microservices.html +33 -0
  112. data/tools/staticdocs/docs/guides/little-endian-bitfields.html +2 -2
  113. data/tools/staticdocs/docs/guides/local-mode.html +2 -2
  114. data/tools/staticdocs/docs/guides/logging.html +2 -2
  115. data/tools/staticdocs/docs/guides/monitoring.html +2 -2
  116. data/tools/staticdocs/docs/guides/performance.html +2 -2
  117. data/tools/staticdocs/docs/guides/raspberrypi.html +2 -2
  118. data/tools/staticdocs/docs/guides/script-writing.html +2 -2
  119. data/tools/staticdocs/docs/guides/scripting-api.html +2 -2
  120. data/tools/staticdocs/docs/guides.html +1 -1
  121. data/tools/staticdocs/docs/meta/contributing.html +2 -2
  122. data/tools/staticdocs/docs/meta/licenses.html +2 -2
  123. data/tools/staticdocs/docs/meta/philosophy.html +2 -2
  124. data/tools/staticdocs/docs/meta/xtce.html +2 -2
  125. data/tools/staticdocs/docs/meta.html +1 -1
  126. data/tools/staticdocs/docs/privacy.html +2 -2
  127. data/tools/staticdocs/docs/tools/admin.html +2 -2
  128. data/tools/staticdocs/docs/tools/autonomic.html +2 -2
  129. data/tools/staticdocs/docs/tools/bucket-explorer.html +2 -2
  130. data/tools/staticdocs/docs/tools/calendar.html +2 -2
  131. data/tools/staticdocs/docs/tools/cmd-sender.html +2 -2
  132. data/tools/staticdocs/docs/tools/cmd-tlm-server.html +2 -2
  133. data/tools/staticdocs/docs/tools/command_history.html +2 -2
  134. data/tools/staticdocs/docs/tools/data-extractor.html +2 -2
  135. data/tools/staticdocs/docs/tools/data-viewer.html +2 -2
  136. data/tools/staticdocs/docs/tools/handbooks.html +2 -2
  137. data/tools/staticdocs/docs/tools/limits-monitor.html +2 -2
  138. data/tools/staticdocs/docs/tools/packet-viewer.html +2 -2
  139. data/tools/staticdocs/docs/tools/script-runner.html +2 -2
  140. data/tools/staticdocs/docs/tools/table-manager.html +2 -2
  141. data/tools/staticdocs/docs/tools/tlm-grapher.html +2 -2
  142. data/tools/staticdocs/docs/tools/tlm-viewer.html +2 -2
  143. data/tools/staticdocs/docs/tools.html +1 -1
  144. data/tools/staticdocs/docs.html +2 -2
  145. data/tools/staticdocs/index.html +1 -1
  146. data/tools/staticdocs/lunr-index-1736455916496.json +1 -0
  147. data/tools/staticdocs/lunr-index.json +1 -1
  148. data/tools/staticdocs/markdown-page.html +2 -2
  149. data/tools/staticdocs/search-doc-1736455916496.json +1 -0
  150. data/tools/staticdocs/search-doc.json +1 -1
  151. data/tools/staticdocs/sitemap.xml +1 -1
  152. metadata +82 -80
  153. data/tools/staticdocs/assets/js/1602.1e622848.js +0 -1
  154. data/tools/staticdocs/assets/js/1e02e6a3.8e63f255.js +0 -1
  155. data/tools/staticdocs/assets/js/26b8abb2.45d268b1.js +0 -1
  156. data/tools/staticdocs/assets/js/3040.18a0bb2a.js +0 -4
  157. data/tools/staticdocs/assets/js/3687.6fa52db1.js +0 -101
  158. data/tools/staticdocs/assets/js/4303.a84f454a.js +0 -1
  159. data/tools/staticdocs/assets/js/53ca7c5b.f0e35da3.js +0 -1
  160. data/tools/staticdocs/assets/js/5e3ed378.048e258b.js +0 -1
  161. data/tools/staticdocs/assets/js/6831b732.4008a669.js +0 -1
  162. data/tools/staticdocs/assets/js/6b210247.d37e3087.js +0 -1
  163. data/tools/staticdocs/assets/js/7690.fc05b8e6.js +0 -1
  164. data/tools/staticdocs/assets/js/89e76475.b4e9da15.js +0 -1
  165. data/tools/staticdocs/assets/js/99581c43.ebea1d08.js +0 -1
  166. data/tools/staticdocs/assets/js/9d6e81d0.4bc52207.js +0 -1
  167. data/tools/staticdocs/assets/js/9fb6059a.57936fbe.js +0 -1
  168. data/tools/staticdocs/assets/js/a9987364.2aa836fd.js +0 -1
  169. data/tools/staticdocs/assets/js/d1bfc316.82dd17ab.js +0 -1
  170. data/tools/staticdocs/assets/js/d8ca4191.1861d710.js +0 -1
  171. data/tools/staticdocs/assets/js/dc5f7beb.15fc7cc8.js +0 -1
  172. data/tools/staticdocs/assets/js/fd886806.fa25adc4.js +0 -1
  173. data/tools/staticdocs/assets/js/main.c4acbd62.js +0 -36
  174. data/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js +0 -1
  175. data/tools/staticdocs/lunr-index-1734734383200.json +0 -1
  176. data/tools/staticdocs/search-doc-1734734383200.json +0 -1
@@ -1 +1 @@
1
- <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>Configuration | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width,initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/configuration><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Configuration | OpenC3 Docs"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/configuration><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tools/staticdocs/docs>Documentation</a><a href=https://openc3.com/enterprise/ target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search placeholder=Loading... aria-label=Search class="navbar__search-input search-bar" disabled></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current=page href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/format>File Format</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/plugins>Plugins</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/target>Targets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/command>Commands</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/telemetry>Telemetry</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/interfaces>Interfaces</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/protocols>Protocols</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/accessors>Accessors</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/table>Tables</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/telemetry-screens>Screens</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/ssl-tls>SSL-TLS</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Expand sidebar category 'Development'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=generatedIndexPage_ak01><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/tools/staticdocs/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_JFrk><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Configuration</span><meta itemprop=position content=1></ul></nav><header><h1 class=title_AulG>Configuration</h1></header><article class=margin-top--lg><section class="row list_iQEt"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/format><h2 class="text--truncate cardTitle_HoSo" title="File Format">📄️<!-- --> <!-- -->File Format</h2><p class="text--truncate cardDescription_c27F" title="Structure of a COSMOS file, including using ERB">Structure of a COSMOS file, including using ERB</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/plugins><h2 class="text--truncate cardTitle_HoSo" title=Plugins>🔌<!-- --> <!-- -->Plugins</h2><p class="text--truncate cardDescription_c27F" title="Plugin definition file format and keywords">Plugin definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/target><h2 class="text--truncate cardTitle_HoSo" title=Targets>🛰️<!-- --> <!-- -->Targets</h2><p class="text--truncate cardDescription_c27F" title="Target definition file format and keywords">Target definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/command><h2 class="text--truncate cardTitle_HoSo" title=Commands>📡<!-- --> <!-- -->Commands</h2><p class="text--truncate cardDescription_c27F" title="Command definition file format and keywords">Command definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/telemetry><h2 class="text--truncate cardTitle_HoSo" title=Telemetry>📡<!-- --> <!-- -->Telemetry</h2><p class="text--truncate cardDescription_c27F" title="Telemetry definition file format and keywords">Telemetry definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/interfaces><h2 class="text--truncate cardTitle_HoSo" title=Interfaces>💡<!-- --> <!-- -->Interfaces</h2><p class="text--truncate cardDescription_c27F" title="Built-in COSMOS interfaces including how to create one">Built-in COSMOS interfaces including how to create one</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/protocols><h2 class="text--truncate cardTitle_HoSo" title=Protocols>💡<!-- --> <!-- -->Protocols</h2><p class="text--truncate cardDescription_c27F" title="Built-in COSMOS protocols including how to create one">Built-in COSMOS protocols including how to create one</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/accessors><h2 class="text--truncate cardTitle_HoSo" title=Accessors>✏️<!-- --> <!-- -->Accessors</h2><p class="text--truncate cardDescription_c27F" title="Responsible for reading and writing data to a buffer">Responsible for reading and writing data to a buffer</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/table><h2 class="text--truncate cardTitle_HoSo" title=Tables>📄️<!-- --> <!-- -->Tables</h2><p class="text--truncate cardDescription_c27F" title="Table definition file format and keywords">Table definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/telemetry-screens><h2 class="text--truncate cardTitle_HoSo" title=Screens>🖥️<!-- --> <!-- -->Screens</h2><p class="text--truncate cardDescription_c27F" title="Telemetry Viewer screen definition and widget documentation">Telemetry Viewer screen definition and widget documentation</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/ssl-tls><h2 class="text--truncate cardTitle_HoSo" title=SSL-TLS>🔐<!-- --> <!-- -->SSL-TLS</h2><p class="text--truncate cardDescription_c27F" title="How to configure SSL and TLS">How to configure SSL and TLS</p></a></article></section></article><footer class=margin-top--lg><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/getting-started/podman><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Podman</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/format><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>File Format</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2024 OpenC3, Inc.</div></div></div></footer></div>
1
+ <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Configuration | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/configuration><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Configuration | OpenC3 Docs"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/configuration><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/configuration hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.91337aca.js defer></script><script src=/tools/staticdocs/assets/js/main.ed84fc7e.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tools/staticdocs/docs>Documentation</a><a href=https://openc3.com/enterprise/ target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search placeholder=Loading... aria-label=Search class="navbar__search-input search-bar" disabled></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current=page href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Collapse sidebar category 'Configuration'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/format>File Format</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/plugins>Plugins</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/target>Targets</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/command>Commands</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/telemetry>Telemetry</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/interfaces>Interfaces</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/protocols>Protocols</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/accessors>Accessors</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/table>Tables</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/telemetry-screens>Screens</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/configuration/ssl-tls>SSL-TLS</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Expand sidebar category 'Development'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=generatedIndexPage_ak01><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/tools/staticdocs/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_JFrk><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Configuration</span><meta itemprop=position content=1></ul></nav><header><h1 class=title_AulG>Configuration</h1></header><article class=margin-top--lg><section class="row list_iQEt"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/format><h2 class="text--truncate cardTitle_HoSo" title="File Format">📄️<!-- --> <!-- -->File Format</h2><p class="text--truncate cardDescription_c27F" title="Structure of a COSMOS file, including using ERB">Structure of a COSMOS file, including using ERB</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/plugins><h2 class="text--truncate cardTitle_HoSo" title=Plugins>🔌<!-- --> <!-- -->Plugins</h2><p class="text--truncate cardDescription_c27F" title="Plugin definition file format and keywords">Plugin definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/target><h2 class="text--truncate cardTitle_HoSo" title=Targets>🛰️<!-- --> <!-- -->Targets</h2><p class="text--truncate cardDescription_c27F" title="Target definition file format and keywords">Target definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/command><h2 class="text--truncate cardTitle_HoSo" title=Commands>📡<!-- --> <!-- -->Commands</h2><p class="text--truncate cardDescription_c27F" title="Command definition file format and keywords">Command definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/telemetry><h2 class="text--truncate cardTitle_HoSo" title=Telemetry>📡<!-- --> <!-- -->Telemetry</h2><p class="text--truncate cardDescription_c27F" title="Telemetry definition file format and keywords">Telemetry definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/interfaces><h2 class="text--truncate cardTitle_HoSo" title=Interfaces>💡<!-- --> <!-- -->Interfaces</h2><p class="text--truncate cardDescription_c27F" title="Built-in COSMOS interfaces including how to create one">Built-in COSMOS interfaces including how to create one</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/protocols><h2 class="text--truncate cardTitle_HoSo" title=Protocols>💡<!-- --> <!-- -->Protocols</h2><p class="text--truncate cardDescription_c27F" title="Built-in COSMOS protocols including how to create one">Built-in COSMOS protocols including how to create one</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/accessors><h2 class="text--truncate cardTitle_HoSo" title=Accessors>✏️<!-- --> <!-- -->Accessors</h2><p class="text--truncate cardDescription_c27F" title="Responsible for reading and writing data to a buffer">Responsible for reading and writing data to a buffer</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/table><h2 class="text--truncate cardTitle_HoSo" title=Tables>📄️<!-- --> <!-- -->Tables</h2><p class="text--truncate cardDescription_c27F" title="Table definition file format and keywords">Table definition file format and keywords</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/telemetry-screens><h2 class="text--truncate cardTitle_HoSo" title=Screens>🖥️<!-- --> <!-- -->Screens</h2><p class="text--truncate cardDescription_c27F" title="Telemetry Viewer screen definition and widget documentation">Telemetry Viewer screen definition and widget documentation</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_S8oU" href=/tools/staticdocs/docs/configuration/ssl-tls><h2 class="text--truncate cardTitle_HoSo" title=SSL-TLS>🔐<!-- --> <!-- -->SSL-TLS</h2><p class="text--truncate cardDescription_c27F" title="How to configure SSL and TLS">How to configure SSL and TLS</p></a></article></section></article><footer class=margin-top--lg><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/getting-started/podman><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Podman</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/configuration/format><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>File Format</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
@@ -1,4 +1,4 @@
1
- <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/curl" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>Testing with Curl | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width,initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/curl><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Testing with Curl | OpenC3 Docs"><meta data-rh=true name=description content="How to use Curl to hit the COSMOS APIs"><meta data-rh=true property=og:description content="How to use Curl to hit the COSMOS APIs"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/curl><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tools/staticdocs/docs>Documentation</a><a href=https://openc3.com/enterprise/ target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search placeholder=Loading... aria-label=Search class="navbar__search-input search-bar" disabled></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/development/curl>Testing with Curl</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/developing>Developing COSMOS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/json-api>JSON API</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/log-structure>Log Structure</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/roadmap>Roadmap</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/streaming-api>Streaming API</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/testing>Testing COSMOS</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_YAwJ"><div class=docItemContainer_Rv5Z><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/tools/staticdocs/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_JFrk><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Testing with Curl</span><meta itemprop=position content=2></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type=button class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Testing with Curl</h1></header><div class="theme-admonition theme-admonition-note admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>This documentation is for COSMOS Developers</div><div class=admonitionContent_bl22><p>This information is just generally used behind the scenes in COSMOS tools</div></div>
1
+ <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/curl" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Testing with Curl | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/curl><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Testing with Curl | OpenC3 Docs"><meta data-rh=true name=description content="How to use Curl to hit the COSMOS APIs"><meta data-rh=true property=og:description content="How to use Curl to hit the COSMOS APIs"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/curl><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.91337aca.js defer></script><script src=/tools/staticdocs/assets/js/main.ed84fc7e.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tools/staticdocs/docs>Documentation</a><a href=https://openc3.com/enterprise/ target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search placeholder=Loading... aria-label=Search class="navbar__search-input search-bar" disabled></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/development/curl>Testing with Curl</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/developing>Developing COSMOS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/json-api>JSON API</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/log-structure>Log Structure</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/roadmap>Roadmap</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/streaming-api>Streaming API</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/testing>Testing COSMOS</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_YAwJ"><div class=docItemContainer_Rv5Z><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/tools/staticdocs/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_JFrk><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Testing with Curl</span><meta itemprop=position content=2></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type=button class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Testing with Curl</h1></header><div class="theme-admonition theme-admonition-note admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>This documentation is for COSMOS Developers</div><div class=admonitionContent_bl22><p>This information is just generally used behind the scenes in COSMOS tools</div></div>
2
2
  <p>The COSMOS APIs are all served over HTTP, which means you can use curl to experiment with them. Curl is a great tool for seeing exactly how the API responds to any given request.</p>
3
3
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=curl-example-with-openc3-cosmos-open-source>Curl Example with OpenC3 COSMOS Open Source<a href=#curl-example-with-openc3-cosmos-open-source class=hash-link aria-label="Direct link to Curl Example with OpenC3 COSMOS Open Source" title="Direct link to Curl Example with OpenC3 COSMOS Open Source">​</a></h2>
4
4
  <p>OpenC3 COSMOS Open Source just has a single user account, so all you need to do is pass the single password as the token with your requests like this.</p>
@@ -35,4 +35,4 @@
35
35
  <li>Request Result (this URL is a little different because the results are saved in redis)</li>
36
36
  </ol>
37
37
  <p>Below is a bash script which does all the above given some options. It requires <code>curl</code> for the web requests and <code>jq</code> for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result.</p>
38
- <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_qZBB><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token shebang important">#!/bin/bash</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-e</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">TARGET</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${1</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TARGET'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${2</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'procedures</span><span class="token variable operator" style="color:rgb(127, 219, 202)">/</span><span class="token variable" style="color:rgb(214, 222, 235)">cmd_tlm_test.rb'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SUITE</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${3</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TestSuite'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">COSMOS_HOST</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">'http://localhost:2900'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_API</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/script-api"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"scripts/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$TARGET</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">CURL_ARGS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Authorization: password'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept-Language: en-US,en;q=0.9'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Connection: keep-alive'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Content-Type: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--insecure</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--silent</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Lock script #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">/lock?scope=DEFAULT"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"POST"</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run script #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">cat</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">&lt;&lt;-</span><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">{</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "environment": [],</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suiteRunner": {</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "method": "start",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suite": "</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SUITE</span><span class="token variable string" style="color:rgb(173, 219, 103)">",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "options": [</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "continueAfterError"</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> ]</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> }</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">}</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"></span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable operator" style="color:rgb(127, 219, 202)">&lt;&lt;&lt;</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-rc</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">ID</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token variable string" style="color:rgb(173, 219, 103)">/run?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> --data-raw </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Starting Script '</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">' at </span><span class="token string variable" style="color:rgb(214, 222, 235)">$(</span><span class="token string variable function" style="color:rgb(130, 170, 255)">date</span><span class="token string variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)"> (may take up to 15 minutes)"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"You can monitor it in Script Runner here: </span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/tools/scriptrunner/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Loop while Script ID is still running #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token keyword" style="color:rgb(127, 219, 202)">while</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(127, 219, 202)">do</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_STATUS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"$(curl "</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/running-script?scope=DEFAULT" "</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">" | jq ".[]|select(.id==</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">)"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> if [[ -z </span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_STATUS</span><span class="token string" style="color:rgb(173, 219, 103)"> ]]; then</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> break;</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> fi</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> sleep 2</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">done</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"># Request results #</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">BUCKET_FILE_URI="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/completed-scripts?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable string" style="color:rgb(173, 219, 103)">'[.[]|select(.name | test("'</span><span class="token variable" style="color:rgb(214, 222, 235)">"$</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token variable comment" style="color:rgb(99, 119, 119);font-style:italic">#scripts/}"' ")</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> .log </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> @uri' -r</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">URL="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable string" style="color:rgb(173, 219, 103)">/openc3-api/storage/download/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$BUCKET_FILE_URI</span><span class="token variable string" style="color:rgb(173, 219, 103)">?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable" style="color:rgb(214, 222, 235)">jq .url </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-r</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">curl "</span><span class="token variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable" style="color:rgb(214, 222, 235)">$URL</span><span class="token string" style="color:rgb(173, 219, 103)">" "</span><span class="token variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable" style="color:rgb(214, 222, 235)">}</span><span class="token plain">"</span><br></span></code></pre><div class=buttonGroup_TNwR><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_MVhB aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_yxgH><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_QJLJ><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/curl.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_UohW aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/development><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Development</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/development/developing><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Developing COSMOS</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#curl-example-with-openc3-cosmos-open-source class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Open Source</a><li><a href=#curl-example-with-openc3-cosmos-enterprise class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Enterprise</a><li><a href=#suite-runner-example class="table-of-contents__link toc-highlight">Suite Runner Example</a></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2024 OpenC3, Inc.</div></div></div></footer></div>
38
+ <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_qZBB><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token shebang important">#!/bin/bash</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-e</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">TARGET</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${1</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TARGET'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${2</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'procedures</span><span class="token variable operator" style="color:rgb(127, 219, 202)">/</span><span class="token variable" style="color:rgb(214, 222, 235)">cmd_tlm_test.rb'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SUITE</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${3</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TestSuite'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">COSMOS_HOST</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">'http://localhost:2900'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_API</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/script-api"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"scripts/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$TARGET</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">CURL_ARGS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Authorization: password'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept-Language: en-US,en;q=0.9'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Connection: keep-alive'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Content-Type: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--insecure</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--silent</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Lock script #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">/lock?scope=DEFAULT"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"POST"</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run script #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">cat</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">&lt;&lt;-</span><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">{</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "environment": [],</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suiteRunner": {</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "method": "start",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suite": "</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SUITE</span><span class="token variable string" style="color:rgb(173, 219, 103)">",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "options": [</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "continueAfterError"</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> ]</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> }</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">}</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"></span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable operator" style="color:rgb(127, 219, 202)">&lt;&lt;&lt;</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-rc</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">ID</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token variable string" style="color:rgb(173, 219, 103)">/run?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> --data-raw </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Starting Script '</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">' at </span><span class="token string variable" style="color:rgb(214, 222, 235)">$(</span><span class="token string variable function" style="color:rgb(130, 170, 255)">date</span><span class="token string variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)"> (may take up to 15 minutes)"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"You can monitor it in Script Runner here: </span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/tools/scriptrunner/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Loop while Script ID is still running #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token keyword" style="color:rgb(127, 219, 202)">while</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(127, 219, 202)">do</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_STATUS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"$(curl "</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/running-script?scope=DEFAULT" "</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">" | jq ".[]|select(.id==</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">)"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> if [[ -z </span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_STATUS</span><span class="token string" style="color:rgb(173, 219, 103)"> ]]; then</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> break;</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> fi</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> sleep 2</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">done</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"># Request results #</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">BUCKET_FILE_URI="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/completed-scripts?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable string" style="color:rgb(173, 219, 103)">'[.[]|select(.name | test("'</span><span class="token variable" style="color:rgb(214, 222, 235)">"$</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token variable comment" style="color:rgb(99, 119, 119);font-style:italic">#scripts/}"' ")</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> .log </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> @uri' -r</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">URL="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable string" style="color:rgb(173, 219, 103)">/openc3-api/storage/download/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$BUCKET_FILE_URI</span><span class="token variable string" style="color:rgb(173, 219, 103)">?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable" style="color:rgb(214, 222, 235)">jq .url </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-r</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">curl "</span><span class="token variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable" style="color:rgb(214, 222, 235)">$URL</span><span class="token string" style="color:rgb(173, 219, 103)">" "</span><span class="token variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable" style="color:rgb(214, 222, 235)">}</span><span class="token plain">"</span><br></span></code></pre><div class=buttonGroup_TNwR><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_MVhB aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_yxgH><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_QJLJ><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/curl.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_UohW aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/development><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Development</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/development/developing><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Developing COSMOS</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#curl-example-with-openc3-cosmos-open-source class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Open Source</a><li><a href=#curl-example-with-openc3-cosmos-enterprise class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Enterprise</a><li><a href=#suite-runner-example class="table-of-contents__link toc-highlight">Suite Runner Example</a></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
@@ -1,4 +1,4 @@
1
- <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/developing" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>Developing COSMOS | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width,initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/developing><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Developing COSMOS | OpenC3 Docs"><meta data-rh=true name=description content="Building COSMOS and developing the frontend and backend"><meta data-rh=true property=og:description content="Building COSMOS and developing the frontend and backend"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/developing><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tools/staticdocs/docs>Documentation</a><a href=https://openc3.com/enterprise/ target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search placeholder=Loading... aria-label=Search class="navbar__search-input search-bar" disabled></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/curl>Testing with Curl</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/development/developing>Developing COSMOS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/json-api>JSON API</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/log-structure>Log Structure</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/roadmap>Roadmap</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/streaming-api>Streaming API</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/testing>Testing COSMOS</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_YAwJ"><div class=docItemContainer_Rv5Z><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/tools/staticdocs/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_JFrk><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Developing COSMOS</span><meta itemprop=position content=2></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type=button class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Developing COSMOS</h1></header>
1
+ <!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/developing" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Developing COSMOS | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/developing><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Developing COSMOS | OpenC3 Docs"><meta data-rh=true name=description content="Building COSMOS and developing the frontend and backend"><meta data-rh=true property=og:description content="Building COSMOS and developing the frontend and backend"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/developing><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.91337aca.js defer></script><script src=/tools/staticdocs/assets/js/main.ed84fc7e.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_G6ar href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tools/staticdocs/docs>Documentation</a><a href=https://openc3.com/enterprise/ target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search placeholder=Loading... aria-label=Search class="navbar__search-input search-bar" disabled></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_UyTV"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><div class=sidebar_vJCc><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs>Introduction</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/curl>Testing with Curl</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/development/developing>Developing COSMOS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/json-api>JSON API</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/log-structure>Log Structure</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/roadmap>Roadmap</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/streaming-api>Streaming API</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/testing>Testing COSMOS</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_YAwJ"><div class=docItemContainer_Rv5Z><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/tools/staticdocs/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_JFrk><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Developing COSMOS</span><meta itemprop=position content=2></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type=button class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Developing COSMOS</h1></header>
2
2
  <p>So you want to help develop COSMOS? All of our open source COSMOS code is on <a href=https://github.com/ target=_blank rel="noopener noreferrer">Github</a> so the first thing to do is get an <a href=https://github.com/join target=_blank rel="noopener noreferrer">account</a>. Next <a href=https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository target=_blank rel="noopener noreferrer">clone</a> the <a href=https://github.com/openc3/cosmos target=_blank rel="noopener noreferrer">COSMOS</a> repository. We accept contributions from others as <a href=https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests target=_blank rel="noopener noreferrer">Pull Requests</a>.</p>
3
3
  <h2 class="anchor anchorWithStickyNavbar_fF9Z" id=development-tools>Development Tools<a href=#development-tools class=hash-link aria-label="Direct link to Development Tools" title="Direct link to Development Tools">​</a></h2>
4
4
  <p>The core COSMOS team develops with the <a href=https://code.visualstudio.com/ target=_blank rel="noopener noreferrer">Visual Studio Code</a> editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our <code>openc3.code-workspace</code> configuration for VSCode to help configure these plugins. You also need <a href=https://www.docker.com/products/docker-desktop target=_blank rel="noopener noreferrer">Docker Desktop</a> which you should already have as it is a requirement to run COSMOS. You'll also need <a href=https://nodejs.org/en/download/ target=_blank rel="noopener noreferrer">NodeJS</a> and <a href=https://yarnpkg.com/getting-started/install target=_blank rel="noopener noreferrer">yarn</a> installed.</p>
@@ -41,7 +41,7 @@ In the console paste:</p>
41
41
  <p>Refresh and you should see <code>{...}</code> in the bottom right<br>
42
42
  Click the Default button next to the application (@openc3/tool-scriptrunner)<br>
43
43
  Paste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner)</p>
44
- <p><a href=http://localhost:2914/tools/scriptrunner/js/app.js target=_blank rel="noopener noreferrer">http://localhost:2914/tools/scriptrunner/js/app.js</a></p>
44
+ <p><a href=http://localhost:2914/tools/scriptrunner/main.js target=_blank rel="noopener noreferrer">http://localhost:2914/tools/scriptrunner/main.js</a></p>
45
45
  <ol>
46
46
  <li>Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like <code>console.log</code>) the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser's <a href=https://developer.chrome.com/docs/devtools/overview/ target=_blank rel="noopener noreferrer">development tools</a> if you plan to do frontend development.</li>
47
47
  </ol>
@@ -57,4 +57,4 @@ Paste in the development path which is dependent on the port returned by the loc
57
57
  <div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_qZBB><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> openc3-cosmos-cmd-tlm-api</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">ps</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Look for the container with name including cmd-tlm-api</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> stop cosmos-openc3-cosmos-cmd-tlm-api-1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run the following on Windows:</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> dev_server.bat</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># In Linux, set all the environment variables in the .env file, but override REDIS to be local</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> -a</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">source</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">/.env</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> +a</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_REDIS_HOSTNAME</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_REDIS_EPHEMERAL_HOSTNAME</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % bundle </span><span class="token function" style="color:rgb(130, 170, 255)">install</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % bundle </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">exec</span><span class="token plain"> rails s</span><br></span></code></pre><div class=buttonGroup_TNwR><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_MVhB aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_yxgH><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_QJLJ><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
58
58
  <ol>
59
59
  <li>Once the <code>bundle exec rails s</code> command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect.</li>
60
- </ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/developing.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_UohW aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/development/curl><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Testing with Curl</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/development/json-api><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>JSON API</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#development-tools class="table-of-contents__link toc-highlight">Development Tools</a><li><a href=#running-a-frontend-application class="table-of-contents__link toc-highlight">Running a Frontend Application</a><li><a href=#running-a-backend-server class="table-of-contents__link toc-highlight">Running a Backend Server</a></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2024 OpenC3, Inc.</div></div></div></footer></div>
60
+ </ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/developing.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_UohW aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/development/curl><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Testing with Curl</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/development/json-api><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>JSON API</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#development-tools class="table-of-contents__link toc-highlight">Development Tools</a><li><a href=#running-a-frontend-application class="table-of-contents__link toc-highlight">Running a Frontend Application</a><li><a href=#running-a-backend-server class="table-of-contents__link toc-highlight">Running a Backend Server</a></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_awgD><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>