Commit Graph

3846 Commits

Author SHA1 Message Date
dependabot[bot]
d19c2e6ce5 build: bump github.com/google/renameio/v2 from 2.0.0 to 2.0.1
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Bumps [github.com/google/renameio/v2](https://github.com/google/renameio) from 2.0.0 to 2.0.1.
- [Commits](https://github.com/google/renameio/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: github.com/google/renameio/v2
  dependency-version: 2.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 08:04:44 +01:00
github-actions[bot]
45e9cbc66a build: update Nix dependency hashes 2025-11-25 04:03:43 +00:00
vincentbernat
d1845c0cb2 build: flake.lock automated update for nixpkgs
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Update Nix dependency hashes / Update dependency hashes (push) Has been cancelled
2025-11-24 19:44:04 +01:00
Vincent Bernat
8886f4a212 Revert "common/kafka: disable client telemetry"
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
This reverts commit c2b7754c15. This is
fixed in franz-go 1.20.5.
2025-11-24 18:13:13 +01:00
dependabot[bot]
cfb2023baf build: bump github.com/twmb/franz-go in the franz-go group
Bumps the franz-go group with 1 update: [github.com/twmb/franz-go](https://github.com/twmb/franz-go).


Updates `github.com/twmb/franz-go` from 1.20.4 to 1.20.5
- [Changelog](https://github.com/twmb/franz-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/twmb/franz-go/compare/v1.20.4...v1.20.5)

---
updated-dependencies:
- dependency-name: github.com/twmb/franz-go
  dependency-version: 1.20.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: franz-go
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 18:12:38 +01:00
dependabot[bot]
cd62466c11 build: bump google.golang.org/grpc from 1.76.0 to 1.77.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.76.0 to 1.77.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.76.0...v1.77.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.77.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 17:18:34 +01:00
Vincent Bernat
be36f8c00a docs: update documentation to use docker compose up --wait 2025-11-24 11:29:45 +01:00
Vincent Bernat
bd37c1d553 common/httpserver: listen on an abstract Unix socket
And make healthcheck command use it by default. This makes the
healthcheck command works whatever port the user has configured for the
HTTP service.
2025-11-24 11:29:45 +01:00
Vincent Bernat
9d8547116f cmd/healthcheck: remove shorthand flag for --host
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
2025-11-24 06:25:38 +01:00
Vincent Bernat
468f9a77e5 build: fix test around docker healthchecks
Recent versions of Docker Compose switched to emitting invalid JSON when
using `--json`.
2025-11-24 06:01:46 +01:00
Vincent Bernat
e0c6b878fa cmd/healthcheck: add --host and --port flags
But really, this could be autodiscovered through an abstract Unix socket
instead.
2025-11-24 05:53:56 +01:00
Vincent Bernat
61dd6bd7d7 build: no need for clang when building for Nix
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Update Nix dependency hashes / Update dependency hashes (push) Has been cancelled
Update Go toolchain / Update Go toolchain (push) Has been cancelled
Update Nix flake.lock / Update Nix lockfile (asn2org) (push) Has been cancelled
Update Nix flake.lock / Update Nix lockfile (iana-assignments) (push) Has been cancelled
Update Nix flake.lock / Update Nix lockfile (nixpkgs) (push) Has been cancelled
Like for other targets, we use precompiled BPF programs. Keep it in the
development environment.
2025-11-23 10:05:46 +01:00
Vincent Bernat
756d0a9580 cmd: replace reflect.MethodByName() with an interface check
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Update Nix dependency hashes / Update dependency hashes (push) Has been cancelled
Using `reflect.MethodByName()` with a constant string does not disable
DCE. However, using an interface is cleaner either way and we also check
the function signature this way!
2025-11-22 10:53:59 +01:00
Vincent Bernat
5ae5d96643 build: disable tracing support for gRPC
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Update Nix dependency hashes / Update dependency hashes (push) Has been cancelled
The goal is to be able to reenable full dead code elimination that is
prevented by non-constant calls to reflect.MethodByName(). There are
many other culprits for this:

```
 08:04 ❱ go  build -o /dev/null -tags release,grpcnotrace -ldflags=-dumpdep  .  |& go run github.com/aarzilli/whydeadcode@latest
github.com/go-playground/validator/v10.tryCallValidateFn reachable from:
         github.com/go-playground/validator/v10.isValidateFn
         github.com/go-playground/validator/v10.isValidateFn·f
         github.com/go-playground/validator/v10.map.init.11
         github.com/go-playground/validator/v10.bakedInValidators
         github.com/go-playground/validator/v10.New
         akvorado/common/helpers.init.1
         akvorado/common/helpers..inittask
         go:main.inittasks
         _

github.com/expr-lang/expr/builtin.get reachable from:
         github.com/expr-lang/expr/builtin.get·f
         github.com/expr-lang/expr/builtin..stmp_53
         github.com/expr-lang/expr/builtin..stmp_0
         github.com/expr-lang/expr/builtin.init
         github.com/expr-lang/expr/builtin..inittask
         go:main.inittasks
         _

github.com/expr-lang/expr/checker/nature.Nature.All reachable from:
         type:github.com/expr-lang/expr/checker/nature.Nature
         type:func() github.com/expr-lang/expr/checker/nature.Nature
         type:github.com/expr-lang/expr/ast.Node
         type:github.com/expr-lang/expr/vm.Program
         type:*github.com/expr-lang/expr/vm.Program
         type:akvorado/outlet/core.ExporterClassifierRule
         type:[]akvorado/outlet/core.ExporterClassifierRule
         type:akvorado/outlet/core.Configuration
         type:akvorado/cmd.OutletConfiguration
         type:[]akvorado/cmd.OutletConfiguration
         type:akvorado/cmd.OrchestratorConfiguration
         type:*akvorado/cmd.OrchestratorConfiguration
         internal/abi..dict.TypeFor[akvorado/cmd.OrchestratorConfiguration]
         reflect..dict.TypeFor[akvorado/cmd.OrchestratorConfiguration]
         akvorado/cmd.init.6.orchestratorClickHouseMigrationHook.func2
         akvorado/cmd.init.6.orchestratorClickHouseMigrationHook.func2·f
         akvorado/cmd.init.6
         akvorado/cmd..inittask
         go:main.inittasks
         _

text/template.(*state).evalField reachable from:
         text/template.(*state).evalFieldChain
         text/template.(*state).evalCommand
         text/template.(*state).evalPipeline
         text/template.(*state).walk
         text/template.(*Template).execute
         akvorado/console/authentication.(*Component).UserAuthentication.func1
         akvorado/console/authentication.(*Component).UserAuthentication
         type:*akvorado/console/authentication.Component
         akvorado/cmd.consoleStart
         akvorado/cmd.init.func3
         akvorado/cmd.init.func3·f
         akvorado/cmd..stmp_2
         akvorado/cmd.init
         akvorado/cmd..inittask
         go:main.inittasks
         _

gorm.io/gorm/schema.ParseWithSpecialTableName reachable from:
         gorm.io/gorm.(*DB).assignInterfacesToValue
         gorm.io/gorm.(*DB).FirstOrInit
         type:*gorm.io/gorm.DB
         type:akvorado/console/database.Component
         akvorado/cmd.consoleStart
         akvorado/cmd.init.func3
         akvorado/cmd.init.func3·f
         akvorado/cmd..stmp_2
         akvorado/cmd.init
         akvorado/cmd..inittask
         go:main.inittasks
         _

gorm.io/gorm/schema.ParseWithSpecialTableName reachable from:
         gorm.io/gorm.(*DB).assignInterfacesToValue
         gorm.io/gorm.(*DB).FirstOrInit
         type:*gorm.io/gorm.DB
         type:akvorado/console/database.Component
         type:*akvorado/console/database.Component
         akvorado/cmd.consoleStart
         akvorado/cmd.init.func3
         akvorado/cmd.init.func3·f
         akvorado/cmd..stmp_2
         akvorado/cmd.init
         akvorado/cmd..inittask
         go:main.inittasks
         _

github.com/expr-lang/expr/vm/runtime.FetchMethod reachable from:
         github.com/expr-lang/expr/vm.(*VM).Run
         github.com/expr-lang/expr/vm.Run
         akvorado/outlet/core.(*ExporterClassifierRule).exec
         akvorado/outlet/core.(*Component).classifyExporter
         akvorado/outlet/core.(*worker).enrichFlow
         akvorado/outlet/core.(*worker).processIncomingFlow.func1
         akvorado/outlet/core.(*worker).processIncomingFlow
         akvorado/outlet/core.(*worker).processIncomingFlow-fm
         akvorado/outlet/core.(*Component).newWorker
         akvorado/outlet/core.(*Component).newWorker-fm
         akvorado/outlet/core.(*Component).Start
         type:*akvorado/outlet/core.Component
         akvorado/cmd.outletStart
         akvorado/cmd.init.func7
         akvorado/cmd.init.func7·f
         akvorado/cmd..stmp_6
         akvorado/cmd.init
         akvorado/cmd..inittask
         go:main.inittasks
         _
```

For gorm, we have https://github.com/go-gorm/gorm/pull/7643. We could
replace text/template by something else as our usage is quite light. For
validator, it may be addressable upstream by disallowing calls to
configurable validator function through a tag. For expr, it looks more
complex.

Then, regression should be detected by CI.
2025-11-21 08:03:30 +01:00
Vincent Bernat
c4d3c59ae0 docs: document last commit
Also, wrap markdown.
2025-11-20 23:03:07 +01:00
rastsislau-matusevich
f2dfe55d27 orchestrator: add manage-topic flag and document skip-migrations (#2109)
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Update Nix dependency hashes / Update dependency hashes (push) Has been cancelled
2025-11-20 22:58:41 +01:00
Vincent Bernat
75922e6300 docker: restart geoip container on reboot
When no restart policy is provided, the container won't be automatically
be restarted on boot, unlike the other containers.

Fix #2110
2025-11-20 22:45:33 +01:00
Vincent Bernat
08b86db25d docker: ensure cleaner contexts for Docker builds
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Build IPinfo geoipupdate image / Build Docker images (push) Has been cancelled
Update Nix dependency hashes / Update dependency hashes (push) Has been cancelled
`make docker` builds the context from a tarball. We don't use git
archive as we want to allow local modifications without committing them.
This is not unlike nix work.

For the other Docker files, use a tailored `.dockerignore`:

 - dev, ignore everything except bin/akvorado
 - ipinfo-geoipupdate, ignore everything except the update script
 - nix, let nix handle it from the Git repository
v2.0.3
2025-11-19 20:41:47 +01:00
Vincent Bernat
20da0c1d2f build: also clean generated files for tests 2025-11-19 18:32:37 +01:00
Vincent Bernat
5e47cc9c24 build: always pull Docker images when building
This prevents usage of outdated images.
2025-11-19 17:54:42 +01:00
Vincent Bernat
bc7364a023 docs: prepare for release 2025-11-19 17:51:26 +01:00
Vincent Bernat
c2b7754c15 common/kafka: disable client telemetry
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Temporarily disable client telemetry (not enabled by default in the
Docker Compose setup). This is until
https://github.com/twmb/franz-go/pull/1174 is merged.
2025-11-19 09:59:48 +01:00
Vincent Bernat
39e3287136 docker: update Kafbat to 1.4.2 2025-11-19 06:28:57 +01:00
Vincent Bernat
a072ad38e0 docker: update Kafka to 4.1.1
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
2025-11-19 06:27:05 +01:00
github-actions[bot]
3c04bef68a build: update Nix dependency hashes 2025-11-19 04:00:28 +00:00
Vincent Bernat
f6042144f5 Merge pull request #2101 from akvorado/fix/outlet-shutdown
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Update Nix dependency hashes / Update dependency hashes (push) Has been cancelled
outlet/kafka: prevent discarding flows on shutdown
2025-11-18 21:25:39 +01:00
Vincent Bernat
cb92fc7199 outlet/flow: persist decoders' state
Currently, for NetFlow, persist data/options templates and options. This
should allow the outlet to restart without loosing any message.

Fix #2100
2025-11-18 21:13:51 +01:00
dependabot[bot]
4f6af79a25 build: bump golang.org/x/text in the golang-org-x group
Bumps the golang-org-x group with 1 update: [golang.org/x/text](https://github.com/golang/text).


Updates `golang.org/x/text` from 0.30.0 to 0.31.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-version: 0.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: golang-org-x
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 18:45:07 +01:00
vincentbernat
f4c38c891c build: flake.lock automated update for nixpkgs 2025-11-18 18:44:45 +01:00
Vincent Bernat
7c0a8db76d build: add delve as a go tool 2025-11-18 14:28:06 +01:00
Vincent Bernat
ca0daeaffd outlet/kafka: make scaling test more robust 2025-11-18 08:44:51 +01:00
Vincent Bernat
61eb082db5 common/helpers: replace custom code for atomic file writing
Use github.com/google/renameio/v2 instead.
2025-11-18 08:44:51 +01:00
Vincent Bernat
9385f4e0e2 outlet/flow: use custom template and option store for IPFIX
In preparation of storing them to disk, replace the mix of
custom/upstream template and option store for NetFlow/IPFIX by our own
one.
2025-11-18 08:44:51 +01:00
Vincent Bernat
ee7d4d7f76 inlet/kafka: use exporter as a key for Kafka
Otherwise, messages are reaching the outlet unordered and missing IPFIX
templates may make more flows lost. Moreover, when using several
outlets, some of them may not get the templates.
2025-11-18 08:44:31 +01:00
vincentbernat
96b74a2a9d build: flake.lock automated update for asn2org
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
2025-11-18 07:58:13 +01:00
github-actions[bot]
2b3326df1c build: update Nix dependency hashes 2025-11-18 04:00:48 +00:00
Vincent Bernat
1a7fbf66cb outlet/kafka: prevent discarding flows on shutdown
When shutting down the outlet, the core component is first shutdown, and
only after that Kafka and ClickHouse. This means we were still consuming
messages from Kafka and throwing them away. Instead, let the core
component stop the Kafka workers before shutting down itself.

Fix #2100
2025-11-17 21:54:45 +01:00
Vincent Bernat
6b27794dd2 common/kafka: fix logger for kfake 2025-11-17 21:54:45 +01:00
Vincent Bernat
7b093e5bc9 outlet/kafka: explicitely set behavior when resetting offset
We want to start at the end to avoid flow duplication. This was already
the case before this change, but this way, we explicitely set our
expectation.
2025-11-17 21:54:45 +01:00
Vincent Bernat
2b056ff843 docker: add a stop grace period for outlet
We are not in a hurry and it may flush data to ClickHouse.
2025-11-17 21:54:45 +01:00
dependabot[bot]
04e071b497 build: bump github.com/bits-and-blooms/bitset from 1.24.3 to 1.24.4
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Update Nix dependency hashes / Update dependency hashes (push) Has been cancelled
Bumps [github.com/bits-and-blooms/bitset](https://github.com/bits-and-blooms/bitset) from 1.24.3 to 1.24.4.
- [Release notes](https://github.com/bits-and-blooms/bitset/releases)
- [Commits](https://github.com/bits-and-blooms/bitset/compare/v1.24.3...v1.24.4)

---
updated-dependencies:
- dependency-name: github.com/bits-and-blooms/bitset
  dependency-version: 1.24.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 21:13:15 +01:00
Vincent Bernat
6e1d3c30d2 outlet/core: accept flows where interface names are missing
This matches the pre-2.0.0 behavior. This may not be a bug, but the idea
is that one interface is enough to be valid. Some implementations seem
to use bogus indexes.

See https://github.com/akvorado/akvorado/discussions/1998#discussioncomment-14992940
2025-11-17 21:08:03 +01:00
dependabot[bot]
12d6cfcc1c build: bump github.com/twmb/franz-go in the franz-go group
Bumps the franz-go group with 1 update: [github.com/twmb/franz-go](https://github.com/twmb/franz-go).


Updates `github.com/twmb/franz-go` from 1.20.3 to 1.20.4
- [Changelog](https://github.com/twmb/franz-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/twmb/franz-go/compare/v1.20.3...v1.20.4)

---
updated-dependencies:
- dependency-name: github.com/twmb/franz-go
  dependency-version: 1.20.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: franz-go
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 16:06:00 +01:00
Vincent Bernat
44b37e8a82 build: format a bit the list of tools
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Update Nix dependency hashes / Update dependency hashes (push) Has been cancelled
Update Go toolchain / Update Go toolchain (push) Has been cancelled
Update Nix flake.lock / Update Nix lockfile (asn2org) (push) Has been cancelled
Update Nix flake.lock / Update Nix lockfile (iana-assignments) (push) Has been cancelled
Update Nix flake.lock / Update Nix lockfile (nixpkgs) (push) Has been cancelled
2025-11-15 15:55:33 +01:00
Vincent Bernat
674192d652 build: rename buf.gen.yaml to .buf.gen.yaml
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
2025-11-15 10:57:05 +01:00
Vincent Bernat
7b272fc965 build: rename revive.toml to .revive.toml 2025-11-15 10:57:05 +01:00
vincentbernat
bb5a881c09 build: flake.lock automated update for asn2org 2025-11-15 07:52:57 +01:00
vincentbernat
76a32a7645 build: flake.lock automated update for iana-assignments 2025-11-15 07:52:47 +01:00
Vincent Bernat
7bfd14e444 build: enforce use of the same toolchain for external tools 2025-11-15 07:35:21 +01:00
Vincent Bernat
9afe57b32c outlet/kafka: decrease if we have many scale down requests
Don't wait for a majority. Just a third of them should be enough. We
have a 10-factor between underloaded and overloaded.
2025-11-15 06:36:55 +01:00