Skip to content

Maryk App Desktop Guide

Maryk App is the desktop UI for Maryk stores. Use it to inspect models, scan records, edit values, and export/import data.

  • JDK 17+.
  • Local store or remote HTTP endpoint.
  • FoundationDB users: install libfdb_c (see /store/foundationdb/).

From repo root:

Terminal window
./gradlew :app:run
  1. Open Stores window.
  2. Add a store config (RocksDB / FoundationDB / Remote).
  3. Open store.
  4. Select model in catalog.
  5. Scan/filter/sort records.
  6. Open a record.
  7. Edit in Form or Raw YAML.
  8. Save and verify in History tab.
  • RocksDB:
    • Local directory path.
    • Single process lock applies.
  • FoundationDB:
    • Directory path.
    • Optional cluster file.
  • Remote:
    • HTTP URL to CLI serve endpoint.
    • Optional SSH tunnel.

Saved configs: ~/.maryk/app/stores.conf.

Server side example:

Terminal window
maryk --exec "serve rocksdb --dir /path/to/store --port 8210"

(--connect is not needed for serve in one-shot mode.)

Then in app:

  1. Add store type Remote.
  2. Set URL (http://host:8210).
  3. If needed, enable SSH tunnel and set host/user/port/identity.

Notes:

  • Remote transport is HTTP; use SSH if transport encryption needed.
  • If server binds to loopback (127.0.0.1) on remote host, set URL to that loopback URL and use SSH tunnel.
  • Stores window:
    • Saved store list.
    • Add/edit/remove/open.
  • Browser window:
    • Left: model catalog.
    • Center: data/model tabs.
    • Right: record inspector.
    • Top bar: connection info, actions, panel toggles.
  • Model search with fuzzy match.
  • Scan paging.
  • Sort by key or index.
  • Filters via builder or raw YAML.
  • Pin model fields to columns.
  • Row actions: open, edit, copy key/data, export, delete.
  • Data tab:
    • Structured tree view.
    • Search.
    • Reference navigation and preview.
  • Raw tab:
    • YAML.
    • Search/copy/edit.
  • History tab:
    • Version timeline.
    • Diff view.

Two modes:

  • Form mode:
    • Typed inputs with inline validation.
    • Supports scalar and complex definitions:
      • List / Set / Map / IncrementingMap.
      • Embedded object/values.
      • MultiType (type select + value editing).
      • Reference, bytes, date/time/datetime, enums, numbers, booleans, strings.
  • Raw YAML mode:
    • Direct YAML edits.
    • Save guarded against stale state.
  • Schema export: JSON, YAML, Proto, Kotlin.
  • Data export: row/model/all.
  • Data import:
    • Auto-detect format/scope.
    • Expects Maryk export structures (metadata + versioned changes where applicable).
  • Cmd/Ctrl+R: reload scan.
  • Cmd/Ctrl+B: toggle catalog.
  • Cmd/Ctrl+I: toggle inspector.
  • Esc: close drawer/dialog.
  • Arrow/PageUp/PageDown: move selection.
  • Enter/Space: open selected record.
  • Cmd/Ctrl+click: multi-select.
  • Shift+click: range select.
  • Cannot open RocksDB:
    • Ensure no other process has the DB open.
  • FoundationDB connect fails:
    • Check libfdb_c, cluster file.
  • Remote connect fails:
    • Verify CLI serve running.
    • Check URL/port/tunnel target.
  • Empty scans:
    • Confirm selected model and filter expression.
  • Store configs: ~/.maryk/app/stores.conf.
  • UI prefs (panel/pins): Java Preferences node io.maryk.app.ui.