Skip to content

feat: LiveTail support in cx (parity with cxctl livetail) #222

Description

@naamanhirschfeld-armis

Summary

cx currently has no LiveTail equivalent. The migration note in docs/configuration.md states this explicitly:

cx replaces the older Scala-based cxctl. … cx does not currently cover all legacy surfaces, including LiveTail and account invite flows.

We'd like to request LiveTail as a first-class cx subcommand so that cxctl can be retired.

Why this matters to us

LiveTail is the only cxctl surface we still depend on. We wrap it in an internal developer CLI, roughly:

cxctl livetail --region <region> --api-key <key> --format <fmt> | jq -r '<expr>'

The blocker is architecture, not features. cxctl is published only as cxctl-Linux.gz and cxctl-macOS.gz, and the macOS build is x86_64-only:

$ file cxctl-macOS
cxctl-macOS: Mach-O 64-bit executable x86_64

We checked every version in the public bucket (v0.3.1 through v0.3.26, plus latest) and none ships an arm64 or aarch64 asset. We're migrating our developer machines and build fleet to arm64 (Apple Silicon and Graviton), so cxctl is the one tool that still requires Rosetta / emulation.

cx already solves this — you publish aarch64-apple-darwin and aarch64-unknown-linux-musl builds. LiveTail parity would let us drop the emulated dependency entirely.

What would be sufficient

A streaming subcommand that follows new logs until interrupted, with:

  • region / endpoint and API-key auth consistent with the rest of cx
  • a filter or query expression to scope the stream (subsystem/application, or DataPrime)
  • line-oriented output suitable for piping — NDJSON or a raw format, so downstream jq still works
  • non-zero exit on auth/connection failure

We don't need feature parity with cxctl's flag surface; a documented streaming primitive we can build on is enough.

Alternatives we considered

  • Keep cxctl under emulation. Works today, and is our interim plan, but it means keeping Rosetta on every workstation for a single binary.
  • Call the LiveTail API directly. Viable, since we already use the query API, but we'd rather depend on a supported CLI than an endpoint we'd be reverse-engineering.

Happy to test a preview build if that's useful. Thanks for cx — the arm64 and static-musl builds are appreciated.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions