End-to-end log pipeline for Linux hosts, per /docs/architecture.md: - proto: shared gRPC contract (agent <-> ingest), Go bindings checked in - agent: Rust, musl-targeted, journald/file sourcing, RFC5424 parser, mTLS gRPC client, no required config for the common case - ingest: Go, single binary with --mode server|consumer|all; gRPC front end forwards to Redpanda unchanged, consumer normalizes and batch-writes to ClickHouse with at-least-once delivery - storage: ClickHouse schema + a plain SQL-file migration runner - api: minimal SELECT-only query endpoint, plain REST (not gRPC+gateway yet -- see api/README.md) - web: SvelteKit static SPA, one query page - transport: Redpanda compose + topic provisioning - cli: sentryctl ping stub - hack/dev-certs: throwaway CA + cert generation for local mTLS - root docker-compose.yml + docs/phase-0-runbook.md tie it together Not yet run end-to-end against real Docker/ClickHouse/Redpanda -- see the runbook's caveats section before relying on this working as-is.
35 lines
810 B
TOML
35 lines
810 B
TOML
[package]
|
|
name = "sentry-agent"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "Sentry distro-agnostic Linux log collector"
|
|
|
|
[[bin]]
|
|
name = "sentry-agent"
|
|
path = "src/main.rs"
|
|
|
|
[features]
|
|
default = ["journald"]
|
|
journald = []
|
|
file-tail = []
|
|
|
|
[dependencies]
|
|
sentry-parser = { path = "../sentry-parser" }
|
|
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "process", "io-util", "io-std", "time", "fs", "sync", "signal"] }
|
|
tonic = { version = "0.12", features = ["tls"] }
|
|
prost = "0.13"
|
|
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
toml = "0.8"
|
|
|
|
clap = { version = "4", features = ["derive"] }
|
|
anyhow = "1"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
[build-dependencies]
|
|
tonic-build = "0.12"
|