Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
b7aaa13
feat(plugin): aggregator wiring for the log pipeline
medcl Aug 15, 2026
759385e
feat(managed): token exchange — agent mints an API token and register…
medcl Aug 19, 2026
3685836
chore(agent): template configs.enrollment_token ($[[env.ENROLLMENT_TO…
medcl Aug 19, 2026
132ace3
feat(reverse): agent-side reverse channel client
medcl Aug 20, 2026
78d92c6
fix(reverse): hub frames carry a MsgType prefix — requests were silen…
medcl Aug 20, 2026
fabfc6d
feat(logs): kafka queue transport for the logs processor
medcl Aug 27, 2026
44d1d75
feat: register queue API module for local queue stats
medcl Aug 28, 2026
d876a2b
refactor(reverse): move reverse channel to framework modules/configs/…
medcl Sep 1, 2026
d9746a9
feat(harvest): ingest rotated .gz archives + stale-file offset inheri…
medcl Sep 1, 2026
6b8ad30
feat(config): kafka queue bus + transfer receiver port range
medcl Sep 1, 2026
98e5c00
fix(api): whitelist logs_path in elasticsearch log viewing endpoints
medcl Sep 10, 2026
e517d58
fix(api): cover cmdline-derived log dirs and serve the whitelist with…
medcl Sep 10, 2026
02c9a0e
feat(managed): mint agent API token with instance-ops permissions
medcl Sep 10, 2026
e3ba3f6
Merge remote-tracking branch 'origin/main' into agent-api-token-permi…
medcl Sep 17, 2026
49ef185
chore: translate Chinese comments to English
medcl Sep 17, 2026
c7b7110
chore: restore default config, drop hardcoded enterprise imports
medcl Sep 17, 2026
aeb4c4a
fix(api): vendor ReadGuard so the build no longer needs framework#420
medcl Sep 17, 2026
dcee708
chore: drop enterprise plugin mentions from comments
medcl Sep 17, 2026
25a2ade
refactor: drop the two ad-hoc goroutines
medcl Sep 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 146 additions & 4 deletions agent.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
env:
WEB_BINDING: "0.0.0.0:23000"
MANAGED: false
REMOTE_CONFIG_SERVERS: ["http://localhost:22000"]
REMOTE_CONFIG_SERVERS: ["http://localhost:29000"]
REMOTE_CONFIG_INTERVAL: "1s"
ENROLLMENT_TOKEN: ""
SECURITY_ENABLED: true
SECURITY_MANAGED_ENABLED: false

Expand All @@ -11,6 +12,10 @@ path.logs: log
path.configs: "config"
configs.auto_reload: true


transfer:
receiver_port_range: "30000-30100"

resource_limit.cpu.max_num_of_cpus: 1
resource_limit:
memory:
Expand Down Expand Up @@ -49,7 +54,6 @@ api:
enabled: false

web:
embedding_api: false
enabled: true
network:
binding: $[[env.WEB_BINDING]]
Expand All @@ -67,8 +71,6 @@ web:
access_token:
enabled: true

agent:

metrics:
enabled: true

Expand All @@ -79,10 +81,150 @@ configs:
allow_generated_metrics_tasks: false # allow auto-generated metrics tasks (e.g. k8s)
interval: $[[env.REMOTE_CONFIG_INTERVAL]]
servers: $[[env.REMOTE_CONFIG_SERVERS]] # config servers
enrollment_token: $[[env.ENROLLMENT_TOKEN]] # one-time registration pass (required when the server sets enrollment.required; pass via -e ENROLLMENT_TOKEN=et-...)
max_backup_files: 5
soft_delete: false
# tls: #for mTLS connection with config servers
# enabled: true
# cert_file: /etc/ssl.crt
# key_file: /etc/ssl.key
# skip_insecure_verify: false

# ---------------------------------------------------------------------------
# Elasticsearch/Easysearch log viewing whitelist (optional).
#
# /elasticsearch/logs/_list and /elasticsearch/logs/_read only serve
# directories from this whitelist plus the log paths the local search
# nodes report themselves (settings path.logs). System paths (/etc,
# /usr/bin, ...) are never readable. Only needed when discovery cannot
# see the log directory (e.g. logs mounted elsewhere); changes apply
# within a minute or after restart.
# ---------------------------------------------------------------------------
#elasticsearch_logs:
# allowed_paths:
# - /var/log/easysearch

# ---------------------------------------------------------------------------
# Log pipeline egress (opt-in): process collected logs and ship them to
# the gateway's OTLP/gRPC intake.
#
# Flow: logs_processor writes envelopes to the local "logs" disk queue ->
# consumer drains batches -> for_each splits records and runs the
# transform chain (dissect + field_standardize) in place ->
# otlp_export ships one OTLP ExportLogsServiceRequest to the gateway.
#
# Enable by setting enabled:true and pointing endpoint at the gateway.
# ---------------------------------------------------------------------------
pipeline:
- name: logs_otlp_egress
enabled: false
auto_start: true
keep_running: true
singleton: true
processor:
- consumer:
queue_selector:
keys:
- logs
consumer:
group: agent-logs-otlp
message_field: messages
processor:
- for_each:
message_field: messages
processor:
- dissect:
pattern: "%{log_level} %{service_name}: %{remainder}"
ignore_failure: true
- field_standardize:
mode: underscore
normalize_case: true
- otlp_export:
endpoint: "127.0.0.1:4317"
insecure: true
timeout: 10s
message_field: messages

# ---------------------------------------------------------------------------
# Syslog collection (opt-in): listen for RFC3164/RFC5424 messages and
# feed them onto the local "logs" queue in the same envelope as file
# collection, so the shared processing chain (consumer -> for_each ->
# dissect/field_standardize -> otlp_export) applies unchanged.
#
# Point remote syslog senders at this address, e.g. in rsyslog:
# *.* @127.0.0.1:5140 # UDP
# *.* @@127.0.0.1:5140 # TCP
# ---------------------------------------------------------------------------
- name: syslog_intake
enabled: false
auto_start: true
keep_running: true
processor:
- syslog_processor:
protocol: udp
bind: ":5140"
queue_name: logs

# ---------------------------------------------------------------------------
# Kafka output (opt-in): route the local queues to Kafka instead of the
# disk queue. With kafka_queue.default=true the existing queue.Push
# calls publish to Kafka unchanged — no code change needed.
#
# disk_queue:
# default: false
# kafka_queue:
# enabled: true
# default: true
# brokers:
# - "127.0.0.1:9092"
# num_of_partition: 1
# num_of_replica: 1
# ---------------------------------------------------------------------------

# ---------------------------------------------------------------------------
# File collection follow-tail (opt-in): set scan_interval on the
# logs_processor to keep re-scanning the logs path while the agent runs
# (close-to-live tailing plus rename/move-safe offset inheritance):
#
# - logs_processor:
# scan_interval: 2s
# patterns:
# - pattern: '\.log$'
# type: text
# ---------------------------------------------------------------------------

# ---------------------------------------------------------------------------
# Direct-ship mode (opt-in): file sources can bypass the local queue
# entirely — the file itself plus offset checkpoints provide durability
# (offsets only advance after successful delivery), so the same bytes
# are not written to disk twice. Envelopes are batched in memory
# (ship_batch_size / ship_flush_interval) and shipped straight to the
# gateway's OTLP intake with load balancing, failover and retries.
# ship_config takes the same keys as the otlp_export processor.
#
# The consumer -> for_each -> otlp_export egress pipeline above is NOT
# needed for a ship_direct source; edge processors can still run via
# the queue path by leaving ship_direct off.
#
# pipeline:
# - name: logs_intake
# auto_start: true
# keep_running: true
# processor:
# - logs:
# queue_name: logs
# ship_direct: true
# ship_batch_size: 500 # events per in-flight batch
# ship_flush_interval: 1s # flush at least this often
# ship_config:
# endpoints:
# - "127.0.0.1:4317"
# insecure: true
# timeout: 10s
# scan_interval: 2s
# logs_path: /var/log/myapp
# patterns:
# - pattern: '\.log$'
# type: text
# ---------------------------------------------------------------------------

25 changes: 15 additions & 10 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,11 @@ replace infini.sh/framework => ../framework
replace github.com/cihub/seelog => ../framework/lib/seelog

require (
github.com/cespare/xxhash/v2 v2.3.0
github.com/cihub/seelog v0.0.0-00010101000000-000000000000
github.com/dlclark/regexp2 v1.12.0
github.com/pkg/errors v0.9.1
github.com/shirou/gopsutil/v4 v4.26.3
github.com/stretchr/testify v1.11.1
golang.org/x/crypto v0.53.0
golang.org/x/sys v0.47.0
golang.org/x/text v0.38.0
gopkg.in/yaml.v3 v3.0.1
infini.sh/framework v0.0.0-00010101000000-000000000000
)

Expand All @@ -27,15 +22,18 @@ require (
github.com/arl/statsviz v0.6.0 // indirect
github.com/bits-and-blooms/bitset v1.12.0 // indirect
github.com/bkaradzic/go-lz4 v1.0.0 // indirect
github.com/buger/jsonparser v1.1.2 // indirect
github.com/buger/jsonparser v1.2.0 // indirect
github.com/caddyserver/certmagic v0.25.3 // indirect
github.com/caddyserver/zerossl v0.1.5 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/dgraph-io/ristretto v0.2.0 // indirect
github.com/dlclark/regexp2 v1.12.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/ebitengine/purego v0.10.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/fsnotify/fsnotify v1.10.1 // indirect
github.com/go-jose/go-jose/v4 v4.1.4 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
github.com/golang/protobuf v1.5.4 // indirect
Expand All @@ -56,29 +54,33 @@ require (
github.com/josharian/intern v1.0.0 // indirect
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect
github.com/kardianos/service v1.2.2 // indirect
github.com/klauspost/compress v1.18.0 // indirect
github.com/klauspost/compress v1.18.7 // indirect
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
github.com/libdns/libdns v1.1.1 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
github.com/mailru/easyjson v0.9.0 // indirect
github.com/mailru/easyjson v0.9.2 // indirect
github.com/mark3labs/mcp-go v0.57.0 // indirect
github.com/mholt/acmez/v3 v3.1.6 // indirect
github.com/miekg/dns v1.1.72 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/mschoch/smat v0.2.0 // indirect
github.com/pierrec/lz4/v4 v4.1.26 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
github.com/r3labs/diff/v2 v2.15.1 // indirect
github.com/rs/cors v1.11.1 // indirect
github.com/rs/xid v1.6.0 // indirect
github.com/ryanuber/go-glob v1.0.0 // indirect
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect
github.com/savsgio/gotils v0.0.0-20250408102913-196191ec6287 // indirect
github.com/savsgio/gotils v0.0.0-20250924091648-bce9a52d7761 // indirect
github.com/segmentio/asm v1.1.3 // indirect
github.com/segmentio/encoding v0.4.1 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/tklauser/go-sysconf v0.3.16 // indirect
github.com/tklauser/numcpus v0.11.0 // indirect
github.com/twmb/franz-go v1.21.6 // indirect
github.com/twmb/franz-go/pkg/kadm v1.18.0 // indirect
github.com/twmb/franz-go/pkg/kmsg v1.13.1 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
Expand All @@ -87,13 +89,16 @@ require (
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.1 // indirect
go.uber.org/zap/exp v0.3.0 // indirect
golang.org/x/crypto v0.53.0 // indirect
golang.org/x/mod v0.37.0 // indirect
golang.org/x/net v0.56.0 // indirect
golang.org/x/oauth2 v0.36.0 // indirect
golang.org/x/sync v0.21.0 // indirect
golang.org/x/sys v0.47.0 // indirect
golang.org/x/term v0.44.0 // indirect
golang.org/x/time v0.11.0 // indirect
golang.org/x/tools v0.47.0 // indirect
google.golang.org/appengine v1.6.6 // indirect
google.golang.org/protobuf v1.36.11 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
32 changes: 20 additions & 12 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ github.com/bits-and-blooms/bitset v1.12.0 h1:U/q1fAF7xXRhFCrhROzIfffYnu+dlS38vCZ
github.com/bits-and-blooms/bitset v1.12.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
github.com/bkaradzic/go-lz4 v1.0.0 h1:RXc4wYsyz985CkXXeX04y4VnZFGG8Rd43pRaHsOXAKk=
github.com/bkaradzic/go-lz4 v1.0.0/go.mod h1:0YdlkowM3VswSROI7qDxhRvJ3sLhlFrRRwjwegp5jy4=
github.com/buger/jsonparser v1.1.2 h1:frqHqw7otoVbk5M8LlE/L7HTnIq2v9RX6EJ48i9AxJk=
github.com/buger/jsonparser v1.1.2/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
github.com/buger/jsonparser v1.2.0 h1:4EFcvK1kD4jyj6YqNK6skK6w+y7FHHBR+XBCtxwu/6g=
github.com/buger/jsonparser v1.2.0/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
github.com/caddyserver/certmagic v0.25.3 h1:mGf5ba8F7xA4c5jfDZZbK2buY1VEkbnwpMDixaju94A=
github.com/caddyserver/certmagic v0.25.3/go.mod h1:YVs43D5+H/Dckt4bTga1KSO/xYfFBfVZainGDywYPAA=
github.com/caddyserver/zerossl v0.1.5 h1:dkvOjBAEEtY6LIGAHei7sw2UgqSD6TrWweXpV7lvEvE=
Expand All @@ -37,10 +37,10 @@ github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-jose/go-jose/v4 v4.1.3 h1:CVLmWDhDVRa6Mi/IgCgaopNosCaHz7zrMeF9MlZRkrs=
github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
github.com/fsnotify/fsnotify v1.10.1 h1:b0/UzAf9yR5rhf3RPm9gf3ehBPpf0oZKIjtpKrx59Ho=
github.com/fsnotify/fsnotify v1.10.1/go.mod h1:TLheqan6HD6GBK6PrDWyDPBaEV8LspOxvPSjC+bVfgo=
github.com/go-jose/go-jose/v4 v4.1.4 h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA=
github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss=
Expand Down Expand Up @@ -88,8 +88,8 @@ github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uia
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
github.com/kardianos/service v1.2.2 h1:ZvePhAHfvo0A7Mftk/tEzqEZ7Q4lgnR8sGz4xu1YX60=
github.com/kardianos/service v1.2.2/go.mod h1:CIMRFEJVL+0DS1a3Nx06NaMn4Dz63Ng6O7dl0qH0zVM=
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
github.com/klauspost/compress v1.18.7 h1:aUyZsS4kH3QTKurYhAOwAHxllVPnOthb3vPfnF1Ehjw=
github.com/klauspost/compress v1.18.7/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ=
github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y=
github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
Expand All @@ -106,8 +106,8 @@ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE=
github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
github.com/mailru/easyjson v0.9.2 h1:dX8U45hQsZpxd80nLvDGihsQ/OxlvTkVUXH2r/8cb2M=
github.com/mailru/easyjson v0.9.2/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
github.com/mark3labs/mcp-go v0.57.0 h1:jzWKyCzdWnwnZt05cvcQQ+ngiUl2RnixXJa7Kj4qP1E=
github.com/mark3labs/mcp-go v0.57.0/go.mod h1:+8WclSK1ZUweCP3hvktSji8n8ABG/95QaEkeVE/Uwas=
github.com/mattn/go-isatty v0.0.24 h1:tGZZoVgT/KiqK1c8ocVLeDS8BSWMRd47J3Lbz7vsReI=
Expand All @@ -126,6 +126,8 @@ github.com/nsqio/nsq v1.3.0 h1:v7NtyO844ieTIOCQEqQ7IUSSi1ImhgrTTto1rgIYGEU=
github.com/nsqio/nsq v1.3.0/go.mod h1:RxNr6UC0kSkNF44LnJrlN3U3CQnQGTXk+QKfSZLzqvc=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pierrec/lz4/v4 v4.1.26 h1:GrpZw1gZttORinvzBdXPUXATeqlJjqUG/D87TKMnhjY=
github.com/pierrec/lz4/v4 v4.1.26/go.mod h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
Expand All @@ -149,8 +151,8 @@ github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsF
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 h1:KRzFb2m7YtdldCEkzs6KqmJw4nqEVZGK7IN2kJkjTuQ=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
github.com/savsgio/gotils v0.0.0-20250408102913-196191ec6287 h1:qIQ0tWF9vxGtkJa24bR+2i53WBCz1nW/Pc47oVYauC4=
github.com/savsgio/gotils v0.0.0-20250408102913-196191ec6287/go.mod h1:sM7Mt7uEoCeFSCBM+qBrqvEo+/9vdmj19wzp3yzUhmg=
github.com/savsgio/gotils v0.0.0-20250924091648-bce9a52d7761 h1:McifyVxygw1d67y6vxUqls2D46J8W9nrki9c8c0eVvE=
github.com/savsgio/gotils v0.0.0-20250924091648-bce9a52d7761/go.mod h1:Vi9gvHvTw4yCUHIznFl5TPULS7aXwgaTByGeBY75Wko=
github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc=
github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg=
github.com/segmentio/encoding v0.4.1 h1:KLGaLSW0jrmhB58Nn4+98spfvPvmo4Ci1P/WIQ9wn7w=
Expand Down Expand Up @@ -180,6 +182,12 @@ github.com/tklauser/go-sysconf v0.3.16 h1:frioLaCQSsF5Cy1jgRBrzr6t502KIIwQ0MArYI
github.com/tklauser/go-sysconf v0.3.16/go.mod h1:/qNL9xxDhc7tx3HSRsLWNnuzbVfh3e7gh/BmM179nYI=
github.com/tklauser/numcpus v0.11.0 h1:nSTwhKH5e1dMNsCdVBukSZrURJRoHbSEQjdEbY+9RXw=
github.com/tklauser/numcpus v0.11.0/go.mod h1:z+LwcLq54uWZTX0u/bGobaV34u6V7KNlTZejzM6/3MQ=
github.com/twmb/franz-go v1.21.6 h1:+v0dQJVIIuw9uPmPWmPrkoUHs1pPeV8MSwA4eU/Y2kY=
github.com/twmb/franz-go v1.21.6/go.mod h1:wMepkgCatAdV9vCsuwM+wr+C1fl7KV/41+uHGAjt/wc=
github.com/twmb/franz-go/pkg/kadm v1.18.0 h1:WRf/LZmDdcDXwX7WMbtDU++v+b3NzYh2bCGoPMmzirw=
github.com/twmb/franz-go/pkg/kadm v1.18.0/go.mod h1:XeLhGoLXLFzK8/ryv5FfpxPxGwj4oFEGpPJMB/x6KDE=
github.com/twmb/franz-go/pkg/kmsg v1.13.1 h1:fG5kItwysTk5UXqVwb64EpQEy3TydF3vYYK21nUQ+bI=
github.com/twmb/franz-go/pkg/kmsg v1.13.1/go.mod h1:+DPt4NC8RmI6hqb8G09+3giKObE6uD2Eya6CfqBpeJY=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI=
Expand Down
Loading
Loading