# DraMS DevOps

# Deploy updates to XINA

In order for the [DraMS XINA instance](https://drams.xina.io/) to function as expected, developers need to deploy various updates to XINA to keep it in sync.

DraMS XINA has the following Git repo dependencies:

- [dramsgse](https://sed-gitlab.gsfc.nasa.gov/drams/dramsgse)
    - `apps/linux/struct_extract` - Extracts and converts the telemetry data from the raw packet archives
    - `tmdef/` - Contains the telemetry definitions that are used by `struct_extract` to decode and convert the telemetry data. The telemetry definition files are also converted to XINA's [Mnemonic Definition](https://wiki.xina.io/books/structured-data-standards/page/struct-definitions-reference#bkmrk-mnemonic-definitions) format and then imported into XINA.
- [699util](https://sed-gitlab.gsfc.nasa.gov/699/699util)
    - Contains mining scripts that extract additional data from the raw packet archives such as markers and message logs.

These repositories are not directly cloned on XINA. Instead, snapshots of the repositories are

Break

- Changes to the DraMS Telemetry Definitions (i.e. `DRAMS_TM_Database.txt` or any patch files)
- Changes to `struct_extract`. This may include: 
    - DraMS decoder changes - DraMS decoders are implemented as static plugins, so changes require a new version of `struct_extract` to be released and deployed.
    - General `struct_extract` changes
    - `gselib` changes (or related) that affect all data processing
    - Changes to `dramslib` (or other related code) that impacts how DraMS data is extracted, converted, or processed
- 699util: 
    - `c699util` - this C++ SWIG library is used by the [699util Python tools](https://sed-gitlab.gsfc.nasa.gov/699/699util) which is used to perform mission specific mining