Commit Graph

3454 Commits

Author SHA1 Message Date
Vincent Bernat
ec3c6e8ffa console: ensure main table is used when required even when no data
The user will get empty data, it may be better than an empty table. Add
more tests as well.

Fix #1935
2025-09-04 14:54:26 +02:00
dependabot[bot]
04ce99602f build: bump @codemirror/autocomplete
Bumps the codemirror group in /console/frontend with 1 update: [@codemirror/autocomplete](https://github.com/codemirror/autocomplete).


Updates `@codemirror/autocomplete` from 6.18.6 to 6.18.7
- [Changelog](https://github.com/codemirror/autocomplete/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/autocomplete/compare/6.18.6...6.18.7)

---
updated-dependencies:
- dependency-name: "@codemirror/autocomplete"
  dependency-version: 6.18.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: codemirror
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 10:49:39 +02:00
dependabot[bot]
76944df473 build: bump github.com/spf13/cobra from 1.9.1 to 1.10.1
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.9.1 to 1.10.1.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.9.1...v1.10.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 10:49:24 +02:00
dependabot[bot]
bdc68cc6f3 build: bump gorm.io/gorm from 1.30.1 to 1.30.2
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.30.1 to 1.30.2.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.30.1...v1.30.2)

---
updated-dependencies:
- dependency-name: gorm.io/gorm
  dependency-version: 1.30.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 10:49:14 +02:00
Vincent Bernat
7b0b2403bd console/frontend: upgrade eslint stuff
This is such a pain.
2025-09-04 10:15:50 +02:00
Vincent Bernat
6334173705 build: fix paths in embed.zip 2025-09-04 09:58:06 +02:00
Vincent Bernat
e69b919d1c build: remove embedded drawio diagrams from embedded SVG
Using only sed to not require some complex tool.
2025-09-04 07:41:08 +02:00
Vincent Bernat
74146e428d console: use a less hacky way to pass context to build SQL templates
Instead of trying to embed that in the template, provide a list of
templates with their associated input contexts and join them with UNION
ALL.
2025-09-04 07:41:08 +02:00
github-actions[bot]
d3448222fc build: update Nix dependency hashes 2025-09-04 03:51:45 +00:00
dependabot[bot]
7257778b7f build: bump the vue group across 1 directory with 3 updates
Bumps the vue group with 3 updates in the /console/frontend directory: [vue](https://github.com/vuejs/core), [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) and [@vue/language-server](https://github.com/vuejs/language-tools/tree/HEAD/packages/language-server).


Updates `vue` from 3.5.18 to 3.5.21
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.18...v3.5.21)

Updates `vue-tsc` from 3.0.5 to 3.0.6
- [Release notes](https://github.com/vuejs/language-tools/releases)
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/language-tools/commits/v3.0.6/packages/tsc)

Updates `@vue/language-server` from 3.0.5 to 3.0.6
- [Release notes](https://github.com/vuejs/language-tools/releases)
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/language-tools/commits/v3.0.6/packages/language-server)

---
updated-dependencies:
- dependency-name: vue
  dependency-version: 3.5.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vue
- dependency-name: vue-tsc
  dependency-version: 3.0.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vue
- dependency-name: "@vue/language-server"
  dependency-version: 3.0.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: vue
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-03 13:44:16 +02:00
Vincent Bernat
42679b1f2d build: use hurl for end-to-end tests 2025-09-03 08:49:00 +02:00
Vincent Bernat
f8154d7bcd build: put all e2e test results into a well-defined directory 2025-09-03 08:18:12 +02:00
Vincent Bernat
81c24d731c build: use ubuntu-latest instead of ubuntu-22.04 2025-09-03 08:09:15 +02:00
Vincent Bernat
ec9380289e docker: fix broken /metrics endpoint for inlet
Add some tests in e2e.
2025-09-03 08:06:46 +02:00
Vincent Bernat
8041854e80 github: update @vue/tsconfig along the other typescript dependencies 2025-09-03 07:34:17 +02:00
dependabot[bot]
3ee5a0ac2e build: bump the vueuse group in /console/frontend with 2 updates
Bumps the vueuse group in /console/frontend with 2 updates: [@vueuse/core](https://github.com/vueuse/vueuse/tree/HEAD/packages/core) and [@vueuse/router](https://github.com/vueuse/vueuse/tree/HEAD/packages/router).


Updates `@vueuse/core` from 13.7.0 to 13.9.0
- [Release notes](https://github.com/vueuse/vueuse/releases)
- [Commits](https://github.com/vueuse/vueuse/commits/v13.9.0/packages/core)

Updates `@vueuse/router` from 13.7.0 to 13.9.0
- [Release notes](https://github.com/vueuse/vueuse/releases)
- [Commits](https://github.com/vueuse/vueuse/commits/v13.9.0/packages/router)

---
updated-dependencies:
- dependency-name: "@vueuse/core"
  dependency-version: 13.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vueuse
- dependency-name: "@vueuse/router"
  dependency-version: 13.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vueuse
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-03 07:29:24 +02:00
dependabot[bot]
82232d78cc build: bump vite in /console/frontend in the dev-dependencies group
Bumps the dev-dependencies group in /console/frontend with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 7.1.3 to 7.1.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-03 07:28:43 +02:00
dependabot[bot]
f0e7d78884 build: bump @codemirror/view
Bumps the codemirror group in /console/frontend with 1 update: [@codemirror/view](https://github.com/codemirror/view).


Updates `@codemirror/view` from 6.38.1 to 6.38.2
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.38.1...6.38.2)

---
updated-dependencies:
- dependency-name: "@codemirror/view"
  dependency-version: 6.38.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: codemirror
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-03 07:28:22 +02:00
Vincent Bernat
b1d6382585 common/embed: replace all go:embed use by an embedded archive
Some of the files were quite big:

- asns.csv ~ 3 MB
- index.js ~ 1.5 MB
- *.svg ~ 2 MB

Use a ZIP archive to put them all and embed it. This reduce the binary
size from 89 MB to 82 MB. 🤯

This also pulls some code modernization (use of http.ServeFileFS).
2025-09-03 00:00:05 +02:00
Vincent Bernat
d102e5f20e docker: delete unused JMX-related files
We don't use JMX anymore to monitor Kafka.
2025-09-02 23:38:27 +02:00
Vincent Bernat
c155d34a43 inlet/outlet: add compile-time interface implementation check
For "plugins" only.
2025-09-02 22:28:28 +02:00
Vincent Bernat
1bdfbd9994 docs: prefer "docker compose run" to "docker compose exec"
The former works even if the container is not running properly.
2025-09-02 19:57:47 +02:00
Vincent Bernat
bee9a5de67 docker: enable HTTP compression for Traefik
Also disable healthcheck. It triggers spurious errors (which eventually
get fixed).
2025-09-02 19:47:02 +02:00
Vincent Bernat
2c787ff75c console: use mux to simplify static assets serving 2025-09-02 17:53:59 +02:00
Vincent Bernat
b785a571dd console: don't serve content twice 2025-09-02 08:41:54 +02:00
Vincent Bernat
032cd1336d console: display missing images in documentation
And don't embed SVG. This is wasteful.
2025-09-02 08:30:32 +02:00
Vincent Bernat
37ed015448 outlet/routing: avoid live generation of random routes
This is not fast enough for many operations. Store the random routes in
a slice.

```
goos: linux
goarch: amd64
pkg: akvorado/outlet/routing/provider/bmp
cpu: AMD Ryzen 5 5600X 6-Core Processor
                                       │      1       │                   2                   │
                                       │  sec/route   │  sec/route    vs base                 │
RandomRealWorldRoutes4-12                107.0n ± ∞ ¹   121.0n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBInsertion/1000_routes,_1_peers-12     577.2n ± ∞ ¹   465.1n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBInsertion/1000_routes,_2_peers-12     573.5n ± ∞ ¹   471.8n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBInsertion/1000_routes,_5_peers-12     580.1n ± ∞ ¹   472.6n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBInsertion/10000_routes,_1_peers-12    585.3n ± ∞ ¹   492.5n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBInsertion/10000_routes,_2_peers-12    616.8n ± ∞ ¹   530.9n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBInsertion/10000_routes,_5_peers-12    675.9n ± ∞ ¹   576.6n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBInsertion/100000_routes,_1_peers-12   741.3n ± ∞ ¹   631.0n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBInsertion/100000_routes,_2_peers-12   829.1n ± ∞ ¹   698.8n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBInsertion/100000_routes,_5_peers-12   930.9n ± ∞ ¹   816.9n ± ∞ ¹        ~ (p=1.000 n=1) ²
geomean                                  556.9n         482.3n        -13.39%
¹ need >= 6 samples for confidence interval at level 0.95
² need >= 4 samples to detect a difference at alpha level 0.05

                                    │       1       │                   2                   │
                                    │    sec/op     │    sec/op     vs base                 │
RIBLookup/1000_routes,_1_peers-12     186.00n ± ∞ ¹   82.55n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBLookup/1000_routes,_2_peers-12     183.70n ± ∞ ¹   82.12n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBLookup/1000_routes,_5_peers-12     189.80n ± ∞ ¹   82.75n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBLookup/10000_routes,_1_peers-12    197.00n ± ∞ ¹   86.38n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBLookup/10000_routes,_2_peers-12    208.20n ± ∞ ¹   89.91n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBLookup/10000_routes,_5_peers-12    217.40n ± ∞ ¹   99.10n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBLookup/100000_routes,_1_peers-12    229.3n ± ∞ ¹   114.7n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBLookup/100000_routes,_2_peers-12    254.7n ± ∞ ¹   123.0n ± ∞ ¹        ~ (p=1.000 n=1) ²
RIBLookup/100000_routes,_5_peers-12    266.9n ± ∞ ¹   123.1n ± ∞ ¹        ~ (p=1.000 n=1) ²
RTAHash-12                             15.35n ± ∞ ¹   15.45n ± ∞ ¹        ~ (p=1.000 n=1) ²
RTAEqual-12                            7.537n ± ∞ ¹   9.104n ± ∞ ¹        ~ (p=1.000 n=1) ²
geomean                                123.8n         66.11n        -46.58%
¹ need >= 6 samples for confidence interval at level 0.95
² need >= 4 samples to detect a difference at alpha level 0.05

                                   │      1       │                  2                   │
                                   │    ms/op     │    ms/op      vs base                │
RIBFlush/1000_routes,_1_peers-12     270.6m ± ∞ ¹   275.1m ± ∞ ¹       ~ (p=1.000 n=1) ²
RIBFlush/1000_routes,_2_peers-12     466.0m ± ∞ ¹   465.8m ± ∞ ¹       ~ (p=1.000 n=1) ²
RIBFlush/1000_routes,_5_peers-12     960.3m ± ∞ ¹   994.6m ± ∞ ¹       ~ (p=1.000 n=1) ²
RIBFlush/10000_routes,_1_peers-12     2.900 ± ∞ ¹    2.820 ± ∞ ¹       ~ (p=1.000 n=1) ²
RIBFlush/10000_routes,_2_peers-12     5.385 ± ∞ ¹    5.659 ± ∞ ¹       ~ (p=1.000 n=1) ²
RIBFlush/10000_routes,_5_peers-12     13.29 ± ∞ ¹    13.57 ± ∞ ¹       ~ (p=1.000 n=1) ²
RIBFlush/100000_routes,_1_peers-12    52.91 ± ∞ ¹    45.54 ± ∞ ¹       ~ (p=1.000 n=1) ²
RIBFlush/100000_routes,_2_peers-12    92.71 ± ∞ ¹    86.24 ± ∞ ¹       ~ (p=1.000 n=1) ²
RIBFlush/100000_routes,_5_peers-12    183.8 ± ∞ ¹    179.0 ± ∞ ¹       ~ (p=1.000 n=1) ²
geomean                               6.565          6.453        -1.71%
¹ need >= 6 samples for confidence interval at level 0.95
² need >= 4 samples to detect a difference at alpha level 0.05
```
2025-09-01 08:50:50 +02:00
Vincent Bernat
0d4a82cccb build: no need to run static checks in "build-linux" job
They are run in "build-go" job.
2025-09-01 08:29:18 +02:00
github-actions[bot]
dad5dd6493 build: update Nix dependency hashes 2025-09-01 04:07:00 +00:00
Vincent Bernat
405df30a11 build: enable demo profile for end-to-end tests 2025-08-31 16:05:35 +02:00
Vincent Bernat
e35f0a8225 docs: show how to stop the containers as well when we are done 2025-08-31 16:03:58 +02:00
Vincent Bernat
871fc59814 docs: make it even easier to hack on the console
We add a parameter to disable the healthcheck, making the console
available quickly.
2025-08-31 15:59:41 +02:00
Vincent Bernat
e41bae008b docs: make it a bit simpler to hack Akvorado
Add ability to enable the demo flows just with a profile instead of
modifying .env. Add more instructions on how to use Docker Compose and
how to hack on the console.
2025-08-31 15:46:14 +02:00
Vincent Bernat
fa9e48d16a build: run a third job for misc tests 2025-08-31 15:27:59 +02:00
Vincent Bernat
3ed9aaba13 build: do not create too many Docker image tags
They are hard to delete. Just use one tag and hope the digest does not
get immediately deleted.
2025-08-31 15:09:35 +02:00
Vincent Bernat
5fc4ae80dd build: use a temporary tag when pushing temporary Docker image 2025-08-31 14:41:59 +02:00
Vincent Bernat
8b0dcee14f build: build Docker image earlier but tag later
This should speed up the CI too...
2025-08-31 14:22:10 +02:00
Vincent Bernat
6af2163066 build: speed up CI by running coverage and race tests in parallel 2025-08-31 13:37:16 +02:00
dependabot[bot]
530bff7b93 build: bump the vueuse group in /console/frontend with 2 updates
Bumps the vueuse group in /console/frontend with 2 updates: [@vueuse/core](https://github.com/vueuse/vueuse/tree/HEAD/packages/core) and [@vueuse/router](https://github.com/vueuse/vueuse/tree/HEAD/packages/router).


Updates `@vueuse/core` from 13.6.0 to 13.7.0
- [Release notes](https://github.com/vueuse/vueuse/releases)
- [Commits](https://github.com/vueuse/vueuse/commits/v13.7.0/packages/core)

Updates `@vueuse/router` from 13.6.0 to 13.7.0
- [Release notes](https://github.com/vueuse/vueuse/releases)
- [Commits](https://github.com/vueuse/vueuse/commits/v13.7.0/packages/router)

---
updated-dependencies:
- dependency-name: "@vueuse/core"
  dependency-version: 13.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vueuse
- dependency-name: "@vueuse/router"
  dependency-version: 13.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vueuse
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-31 11:27:16 +02:00
dependabot[bot]
0739e710a0 build: bump the tailwindcss group in /console/frontend with 2 updates
Bumps the tailwindcss group in /console/frontend with 2 updates: [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) and [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss).


Updates `@tailwindcss/vite` from 4.1.11 to 4.1.12
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.12/packages/@tailwindcss-vite)

Updates `tailwindcss` from 4.1.11 to 4.1.12
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.12/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: "@tailwindcss/vite"
  dependency-version: 4.1.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: tailwindcss
- dependency-name: tailwindcss
  dependency-version: 4.1.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: tailwindcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-31 11:26:51 +02:00
dependabot[bot]
9f52016c86 build: bump the dev-dependencies group
Bumps the dev-dependencies group in /console/frontend with 4 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [eslint](https://github.com/eslint/eslint), [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `@eslint/js` from 9.32.0 to 9.34.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.34.0/packages/js)

Updates `eslint` from 9.32.0 to 9.34.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.32.0...v9.34.0)

Updates `eslint-plugin-prettier` from 5.5.3 to 5.5.4
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.3...v5.5.4)

Updates `vite` from 7.0.6 to 7.1.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.3/packages/vite)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.34.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: eslint
  dependency-version: 9.34.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.5.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vite
  dependency-version: 7.1.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-31 11:26:25 +02:00
Vincent Bernat
a66bdcaff6 build: fix JS job matrix 2025-08-31 11:25:12 +02:00
Vincent Bernat
458c50c103 build: tweak again the dependency tree
Dependabot decides if we should run JS and/or Go tests. For JS tests, we
run only one if Dependabot was updating Go packages. The other tests are
depending on build-js/build-go and not on Dependabot anymore.
2025-08-31 11:22:16 +02:00
Vincent Bernat
830507f1de build: rearrange CI pipeline
Test Go and JS first, then more complex builds. This delay a bit "Test
on Linux", but maybe the cache will make for it. This way, we ensure the
cache is "complete" for Linux and e2e. Mac would not need to be delayed,
but as it is shorter, it does not matter much.
2025-08-31 10:47:30 +02:00
Vincent Bernat
378c1f5e0a docker: add logs for ClickHouse 2025-08-31 10:14:16 +02:00
Vincent Bernat
159085a0d3 outlet/metadata: switch to testing/synctest package for clock 2025-08-31 07:56:35 +02:00
Vincent Bernat
7016d89969 demoexporter/flows: switch to testing/synctest package for clock 2025-08-31 07:56:32 +02:00
Vincent Bernat
55c763998a console/frontend: change GitHub icon by Git icon
Git icon is CC 3.0. GitHub, we don't know.
2025-08-31 00:11:35 +02:00
Vincent Bernat
413f923dcc docker: update ClickHouse to 25.8 2025-08-30 23:46:17 +02:00
Vincent Bernat
d8e5a27364 docker: make Prometheus keep metrics 1 month 2025-08-30 22:54:26 +02:00