feat: add HAProxy log ingestion server

- Introduced a new Rust-based service for ingesting HAProxy logs, including the necessary database schema and API endpoints.
- Implemented database interactions for managing source status, inserting events, and handling ingestion batches.
- Added validation for incoming log batches to ensure data integrity.
- Configured systemd service for the HAProxy ingestion server with appropriate security settings.
- Updated firewall rules to allow traffic on the ingestion server's port (8444).
- Created necessary PostgreSQL database and user configurations for the ingestion service.
This commit is contained in:
Richie committed 2026-10-16 21:12:37 -04:00
1 parent 3960254b27
commit 438b4e09e6
9 files changed
+1365

No files matched your search

+29
View File
@@ -0,0 +1,29 @@
[package]
name = "haproxy-ingest-server"
version = "0.1.0"
edition = "2024"
description = "HAProxy log ingestion API"
license = "MIT"
[lints]
workspace = true
[dependencies]
anyhow.workspace = true
axum.workspace = true
bytes.workspace = true
chrono = { workspace = true, features = ["serde"] }
clap.workspace = true
haproxy-ingest-proto = { path = "../haproxy_ingest_proto" }
hex.workspace = true
prost.workspace = true
serde.workspace = true
sha2.workspace = true
sqlx.workspace = true
subtle.workspace = true
thiserror.workspace = true
tokio.workspace = true
tower-http.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
zstd.workspace = true