Public docs

Logtura Docs

How the hosted control panel, open-source forwarder, and deployment model fit together.

GitHub

Open source

The CLI and libraries work without a Logtura account or hosted service. They use your provider credentials to build a forwarder that sends logs to your destinations.

Repository: github.com/logtura/logtura

Install the CLI

npm install -g @logtura/cli
logt --help

logt is the primary command; logtura is an alias. The default configuration is logt.yaml, with logtura.yaml accepted for existing projects.

Standalone configuration

schema_version: 1
providers:
  cloudflare:
    provider: cloudflare
    display_name: My Cloudflare account
    account_id: env:CLOUDFLARE_ACCOUNT_ID
    credentials:
      api_token: env:CLOUDFLARE_API_TOKEN

sources:
  workers:
    source: cloudflare-worker-tail
    provider: cloudflare
    scripts: [api-worker]

sinks:
  alerts:
    sink: slack
    webhook_url: env:SLACK_WEBHOOK_URL

monitors:
  - name: worker-errors
    filter: [errors]
    sinks: [alerts]

metrics: none

Keep credentials in your environment or a private companion .env file. The configuration uses references instead of embedding tokens or webhook URLs.

You can write this file yourself or use logt init, logt connect cloudflare, logt source add cloudflare-worker-tail, and the sink/monitor commands. Connect verifies credentials and discovers inventory locally; it does not require signing in to the hosted service.

Validate and bundle

logt -c logt.yaml env --check
logt -c logt.yaml validate
logt -c logt.yaml bundle -o dist/logtura-forwarder

Validation parses the configuration, checks driver requirements and renders the Vector topology. It does not claim that provider log delivery has been tested. The bundle contains a Dockerfile, Vector configuration, component manifest, required runtime assets, and a private environment file. Protect that directory because it includes credentials.

Run the forwarder

docker build -t logtura-forwarder dist/logtura-forwarder
docker run --rm --env-file dist/logtura-forwarder/.env logtura-forwarder

The standalone bundle does not require hosted heartbeat, metrics or configuration reporting. logt deploy fly also supports standalone deployment through your local Fly CLI. See the CLI documentation for provider setup and deployment options.

Portable graphs and local metrics

logt -c logt.yaml config export -o portable.yaml
logt -c portable.yaml config hash
logt stats --metrics metrics.ndjson

Portable graphs retain stable connection, source, monitor and sink identities. Private payloads remain in environment references. Local stats read Vector's internal-metrics JSON or NDJSON without contacting the hosted service.

Use a website deployment from the CLI

logt login --service https://logtura.com
logt pull dep_your_deployment -o linked.yaml
logt -c linked.yaml config status
logt -c linked.yaml source select con_your_connection your-worker
logt -c linked.yaml push

Use the deployment and connection IDs belonging to your account. Login requires browser approval; pull writes the portable graph and private companion files. Push updates the existing website deployment's desired configuration. Website configuration changes are captured by a later pull, so both interfaces operate on the same deployment. Review local edits before using pull --force to replace them.

Push does not restart the forwarder. A linked Fly update requires an immutable runtime image, an existing checkpoint volume and a supported single-machine existing deployment. The CLI waits for an accepted applied report; the website shows whether the forwarder is waiting, has an update pending, or is in sync. See the linked Fly apply instructions for requirements and recovery commands.

Libraries and drivers

PackageRole
@logtura/corePortable configuration, topology generation, manifests, metrics and runtime contracts
@logtura/cliStandalone and linked configuration/deployment commands
@logtura/driver-cloudflare-worker-tailCloudflare Workers tail
@logtura/driver-cloudflare-ai-gatewayAI Gateway logs
@logtura/driver-fly-log-tailFly logs
@logtura/driver-railway-logsRailway logs
@logtura/driver-supabase-edge-logsSupabase edge function logs
@logtura/driver-vercel-logsVercel logs
@logtura/destination-slackSlack incoming webhooks
@logtura/destination-webhookGeneric HTTPS delivery
@logtura/destination-datadog-metricsDatadog metrics
@logtura/destination-prometheus-remote-writePrometheus remote write
@logtura/custom-vectorCustom Vector source, transform and sink fragments

Drivers implement the public contracts in @logtura/core. They must not depend on the hosted control plane. See the core library documentation for typed inputs, rendering and driver integration.