Skip to content

feat(transports/axiom): add new Axiom transport#86

Merged
theogravity merged 6 commits into
mainfrom
feature/axiom-transport
May 6, 2026
Merged

feat(transports/axiom): add new Axiom transport#86
theogravity merged 6 commits into
mainfrom
feature/axiom-transport

Conversation

@theogravity
Copy link
Copy Markdown
Contributor

Summary

Adds a new transport that ships structured logs to Axiom using the official axiom-go SDK.

What it does:

  • Accepts a caller-supplied *axiom.Client (similar to gcplogging pattern)
  • Serializes log entries as NDJSON and sends via Client.Ingest()
  • Configurable message field key
  • Supports all standard loglayer features: fields, metadata, errors, context

Files added:

  • transports/axiom/ - Full transport implementation with tests and examples
    • axiom.go - Core transport with Config, New(), Build(), SendToLogger()
    • errors.go - ErrClientRequired, ErrDatasetNameRequired
    • axiom_test.go - 12 tests including contract tests
    • example_test.go - Usage examples
    • livetest_test.go - Live test against real Axiom API (build-tag gated)
  • docs/src/transports/axiom.md - Documentation page

Configuration updates:

  • monorel.toml - Register axiom module for releases
  • .changeset/jolly-bear.md - Initial major release changeset
  • AGENTS.md, CONTRIBUTING.md - Monorel installation, major version for new modules
  • docs/.vitepress/config.ts - Sidebar entry under "Cloud"
  • docs/src/transports/_partials/transport-list.md - Transport catalog entry
  • docs/src/whats-new.md - Release announcement

Testing:

  • All contract tests pass (go test ./transports/axiom/)
  • Live test against real Axiom API passes with provided credentials
  • Build and vet checks pass across all modules
  • Docs build clean

Verification

# Tests
go test ./transports/axiom/
go test -tags=livetest ./transports/axiom/

# Build
bash scripts/foreach-module.sh build

# Live test (requires AXIOM_TOKEN and AXIOM_DATASET env vars)
AXIOM_TOKEN=<token> AXIOM_DATASET=test go test -tags=livetest ./transports/axiom/

@theogravity theogravity merged commit ed97ab3 into main May 6, 2026
13 checks passed
@theogravity theogravity deleted the feature/axiom-transport branch May 6, 2026 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant