This is an automated email from the ASF dual-hosted git repository.

hgruszecki pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git


The following commit(s) were added to refs/heads/master by this push:
     new 34944aae chore(ci): add script to dump licenses to DEPENDENCIES.md 
(#1767)
34944aae is described below

commit 34944aaec941da16224eb002ab19ddb60dc766be
Author: Hubert Gruszecki <[email protected]>
AuthorDate: Sat May 10 15:22:07 2025 +0200

    chore(ci): add script to dump licenses to DEPENDENCIES.md (#1767)
    
    This commit introduces a script that automates the process of
    dumping licenses into the DEPENDENCIES.md file. This change
    is aimed at improving the documentation of project dependencies
    by ensuring that all licenses are clearly listed and easily
    accessible.
---
 .github/workflows/ci-check-common.yml       |  13 +-
 .github/workflows/ci-test-rust-optional.yml |   2 +-
 .github/workflows/ci-test-rust.yml          |   4 +-
 .github/workflows/sanity.yml                |  14 +-
 .github/workflows/test_pr.yml               |   2 +-
 =                                           |   0
 DEPENDENCIES.md                             | 768 ++++++++++++++++++++++++----
 justfile                                    |  12 +
 scripts/licenses-list.sh                    |  97 ++++
 9 files changed, 808 insertions(+), 104 deletions(-)

diff --git a/.github/workflows/ci-check-common.yml 
b/.github/workflows/ci-check-common.yml
index 82434f74..ed2a7edf 100644
--- a/.github/workflows/ci-check-common.yml
+++ b/.github/workflows/ci-check-common.yml
@@ -81,7 +81,7 @@ jobs:
         #   WIP
 
   ci-check-licenses:
-    name: license headers
+    name: Check license headers
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v4
@@ -91,3 +91,14 @@ jobs:
 
       - name: Check license headers
         run: docker run --rm -v ${{ github.workspace }}:/src -w /src 
ghcr.io/google/addlicense:latest -check -f ASF_LICENSE.txt .
+
+  ci-check-licenses-list:
+    name: Check licenses list
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions-rs/toolchain@v1
+        with:
+          toolchain: stable
+          override: true
+      - run: scripts/licenses-list.sh --check
diff --git a/.github/workflows/ci-test-rust-optional.yml 
b/.github/workflows/ci-test-rust-optional.yml
index 2a550d39..7c042df2 100644
--- a/.github/workflows/ci-test-rust-optional.yml
+++ b/.github/workflows/ci-test-rust-optional.yml
@@ -63,4 +63,4 @@ jobs:
       - name: Run tests
         run: cargo test ${{ env.VERBOSE_FLAG }} --target aarch64-apple-darwin
       - name: Check if workspace is clean
-        run: git status | grep "working tree clean" || { git status ; exit 1; }
+        run: git status --porcelain
diff --git a/.github/workflows/ci-test-rust.yml 
b/.github/workflows/ci-test-rust.yml
index 5e7e1adf..701d0ab5 100644
--- a/.github/workflows/ci-test-rust.yml
+++ b/.github/workflows/ci-test-rust.yml
@@ -74,7 +74,7 @@ jobs:
       - name: Check CLI examples from README
         run: ./scripts/run-examples-from-readme.sh
       - name: Check if workspace is clean
-        run: git status | grep "working tree clean" || { git status ; exit 1; }
+        run: git status --porcelain
 
   x86_64-pc-windows-msvc:
     name: x86_64-pc-windows-msvc
@@ -106,4 +106,4 @@ jobs:
       - name: Build iggy-cli binary
         run: cargo build ${{ env.VERBOSE_FLAG }} --target 
x86_64-pc-windows-msvc --bin iggy
       - name: Check if workspace is clean
-        run: git status | grep "working tree clean" || { git status ; exit 1; }
+        run: git status --porcelain
diff --git a/.github/workflows/sanity.yml b/.github/workflows/sanity.yml
index d946c73f..4bd8e2bf 100644
--- a/.github/workflows/sanity.yml
+++ b/.github/workflows/sanity.yml
@@ -125,7 +125,7 @@ jobs:
           accessToken: ${{ secrets.GITHUB_TOKEN }} # needed only when 
checkAllCommitMessages is true
           pattern: '^.{0,80}(\n.*)*$'
           error: "Subject of all commits in the PR and PR body/title has to be 
shorter than 80 characters."
-  ci-check-licenses:
+  check-license-headers:
     name: license headers
     runs-on: ubuntu-latest
     steps:
@@ -136,3 +136,15 @@ jobs:
 
       - name: Check license headers
         run: docker run --rm -v ${{ github.workspace }}:/src -w /src 
ghcr.io/google/addlicense:latest -check -f ASF_LICENSE.txt .
+
+  check-licenses-list:
+    name: licenses list
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions-rs/toolchain@v1
+        with:
+          toolchain: stable
+          override: true
+      - run: scripts/licenses-list.sh --check
+
diff --git a/.github/workflows/test_pr.yml b/.github/workflows/test_pr.yml
index 5e31b2cc..ab0a1d80 100644
--- a/.github/workflows/test_pr.yml
+++ b/.github/workflows/test_pr.yml
@@ -113,7 +113,7 @@ jobs:
         run: ./scripts/run-examples-from-readme.sh
 
       - name: Check if workspace is clean
-        run: git status | grep "working tree clean" || { git status ; exit 1; }
+        run: git status --porcelain
 
   # TODO: below job is non-blocking: temporary solution until we decide whether
   #       we want to use the new M1 macs for CI, determine cost and performance
diff --git a/= b/=
deleted file mode 100644
index e69de29b..00000000
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index 2932a6cc..03134ed4 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -1,98 +1,670 @@
-| Name                               | Description                             
                                                                                
                                                                                
                                                                                
                                                     | License                  
                               | Repository URL                                 
              [...]
-|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------
 [...]
-| aes-gcm                            | Pure Rust implementation of the AES-GCM 
(Galois/Counter Mode) Authenticated Encryption with Associated Data (AEAD) 
Cipher with optional architecture-specific hardware acceleration                
                                                                                
                                                          | Apache-2.0 OR MIT   
                                    | https://github.com/RustCrypto/AEADs       
                   [...]
-| ahash                              | A non-cryptographic hash function using 
AES-NI for high performance                                                     
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/tkaitchuck/ahash            
              [...]
-| anyhow                             | Flexible concrete Error type built on 
std::error::Error                                                               
                                                                                
                                                                                
                                                       | MIT OR Apache-2.0      
                                 | https://github.com/dtolnay/anyhow            
                [...]
-| assert_cmd                         | Test CLI Applications.                  
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/assert-rs/assert_cmd.git    
              [...]
-| async-broadcast                    | Async broadcast channels                
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/smol-rs/async-broadcast     
              [...]
-| async-dropper                      | The least-worst ad-hoc implementation 
of AsyncDrop as a Derive macro                                                  
                                                                                
                                                                                
                                                       | MIT                    
                                 | https://github.com/t3hmrman/async-dropper    
                [...]
-| async-trait                        | Type erasure for async trait methods    
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/dtolnay/async-trait         
              [...]
-| atone                              | A VecDeque and Vec variant that spreads 
resize load across pushes.                                                      
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/jonhoo/atone.git            
              [...]
-| axum                               | Web framework that focuses on 
ergonomics and modularity                                                       
                                                                                
                                                                                
                                                               | MIT            
                                         | https://github.com/tokio-rs/axum     
                        [...]
-| axum-server                        | High level server designed to be used 
with axum framework.                                                            
                                                                                
                                                                                
                                                       | MIT                    
                                 | https://github.com/programatik29/axum-server 
                [...]
-| base64                             | encodes and decodes base64 as bytes or 
utf8                                                                            
                                                                                
                                                                                
                                                      | MIT OR Apache-2.0       
                                | https://github.com/marshallpierce/rust-base64 
               [...]
-| bcrypt                             | Easily hash and verify passwords using 
bcrypt                                                                          
                                                                                
                                                                                
                                                      | MIT                     
                                | https://github.com/Keats/rust-bcrypt          
               [...]
-| bincode                            | A binary serialization / 
deserialization strategy for transforming structs into bytes and vice versa!    
                                                                                
                                                                                
                                                                    | MIT       
                                              | 
https://github.com/bincode-org/bincode                       [...]
-| blake3                             | the BLAKE3 hash function                
                                                                                
                                                                                
                                                                                
                                                     | CC0-1.0 OR Apache-2.0 OR 
Apache-2.0 WITH LLVM-exception | https://github.com/BLAKE3-team/BLAKE3          
              [...]
-| bon                                | A macro that generates builder 
functions                                                                       
                                                                                
                                                                                
                                                              | MIT OR 
Apache-2.0                                       | 
https://github.com/elastio/bon                               [...]
-| byte-unit                          | A library for interacting with units of 
bytes.                                                                          
                                                                                
                                                                                
                                                     | MIT                      
                               | https://github.com/magiclen/byte-unit          
              [...]
-| bytes                              | Types and traits for working with bytes 
                                                                                
                                                                                
                                                                                
                                                     | MIT                      
                               | https://github.com/tokio-rs/bytes              
              [...]
-| chrono                             | Date and time library for Rust          
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/chronotope/chrono           
              [...]
-| clap                               | A simple to use, efficient, and 
full-featured Command Line Argument Parser                                      
                                                                                
                                                                                
                                                             | MIT OR 
Apache-2.0                                       | 
https://github.com/clap-rs/clap                              [...]
-| clap_complete                      | Generate shell completion scripts for 
your clap::Command                                                              
                                                                                
                                                                                
                                                       | MIT OR Apache-2.0      
                                 | https://github.com/clap-rs/clap              
                [...]
-| colored                            | The most simple way to add colors in 
your terminal                                                                   
                                                                                
                                                                                
                                                        | MPL-2.0               
                                  | https://github.com/mackwic/colored          
                 [...]
-| comfy-table                        | An easy to use library for building 
beautiful tables with automatic content wrapping                                
                                                                                
                                                                                
                                                         | MIT                  
                                   | https://github.com/nukesor/comfy-table     
                  [...]
-| console-subscriber                 | A `tracing-subscriber::Layer` for 
collecting Tokio console telemetry.                                             
                                                                                
                                                                                
                                                           | MIT                
                                     | https://github.com/tokio-rs/console/     
                    [...]
-| convert_case                       | Convert strings into any case           
                                                                                
                                                                                
                                                                                
                                                     | MIT                      
                               | https://github.com/rutrum/convert-case         
              [...]
-| crc32fast                          | Fast, SIMD-accelerated CRC32 (IEEE) 
checksum computation                                                            
                                                                                
                                                                                
                                                         | MIT OR Apache-2.0    
                                   | https://github.com/srijs/rust-crc32fast    
                  [...]
-| csv                                | Fast CSV parsing with support for 
serde.                                                                          
                                                                                
                                                                                
                                                           | Unlicense/MIT      
                                     | https://github.com/BurntSushi/rust-csv   
                    [...]
-| ctor                               | __attribute__((constructor)) for Rust   
                                                                                
                                                                                
                                                                                
                                                     | Apache-2.0 OR MIT        
                               | https://github.com/mmastrac/rust-ctor          
              [...]
-| dashmap                            | Blazing fast concurrent HashMap for 
Rust.                                                                           
                                                                                
                                                                                
                                                         | MIT                  
                                   | https://github.com/xacrimon/dashmap        
                  [...]
-| derive-new                         | `#[derive(new)]` implements simple 
constructor functions for structs and enums.                                    
                                                                                
                                                                                
                                                          | MIT                 
                                    | https://github.com/nrc/derive-new         
                   [...]
-| derive_more                        | Adds #[derive(x)] macros for more 
traits                                                                          
                                                                                
                                                                                
                                                           | MIT                
                                     | https://github.com/JelteF/derive_more    
                    [...]
-| dirs                               | A tiny low-level library that provides 
platform-specific standard locations of directories for config, cache and other 
data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by 
the XDG base/user directory specifications on Linux, the Known Folder API on 
Windows, and the Standard Directory guidelines on macOS. | MIT OR Apache-2.0    
                                   | https://github.com/soc/dirs-rs             
                  [...]
-| dotenvy                            | A well-maintained fork of the dotenv 
crate                                                                           
                                                                                
                                                                                
                                                        | MIT                   
                                  | https://github.com/allan2/dotenvy           
                 [...]
-| env_logger                         | A logging implementation for `log` 
which is configured via an environment variable.                                
                                                                                
                                                                                
                                                          | MIT OR Apache-2.0   
                                    | https://github.com/rust-cli/env_logger    
                   [...]
-| error_set                          | An error set macro that simplifies 
error management by providing a streamlined method for defining errors and 
easily converting between them. Inspired by Zig's error set type.               
                                                                                
                                                               | Apache-2.0     
                                         | 
https://github.com/mcmah309/error_set                        [...]
-| fast-async-mutex                   | It is a lib which provide asynchronous 
locking mechanisms (Mutex, RwLock, OrderedMutex and OrderedRwLock)              
                                                                                
                                                                                
                                                      | Apache-2.0/MIT          
                                | https://github.com/Mnwa/fast-async-mutex      
               [...]
-| figlet-rs                          | Rust implementation of FIGlet to create 
ascii art                                                                       
                                                                                
                                                                                
                                                     | Apache-2.0               
                               | https://github.com/yuanbohan/rs-figlet         
              [...]
-| figment                            | A configuration library so con-free, 
it's unreal.                                                                    
                                                                                
                                                                                
                                                        | MIT OR Apache-2.0     
                                  | https://github.com/SergioBenitez/Figment    
                 [...]
-| flume                              | A blazingly fast multi-producer channel 
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/zesterer/flume              
              [...]
-| futures                            | An implementation of futures and 
streams featuring zero allocations, composability, and iterator-like 
interfaces.                                                                     
                                                                                
                                                                       | MIT OR 
Apache-2.0                                       | 
https://github.com/rust-lang/futures-rs                      [...]
-| futures-util                       | Common utilities and extension traits 
for the futures-rs library.                                                     
                                                                                
                                                                                
                                                       | MIT OR Apache-2.0      
                                 | https://github.com/rust-lang/futures-rs      
                [...]
-| human_format                       | Rust Port of human-format from node, 
formatting numbers for us, while the machines are still at bay.                 
                                                                                
                                                                                
                                                        | MIT                   
                                  | https://github.com/BobGneu/human-format-rs  
                 [...]
-| humantime                          | A parser and formatter for 
std::time::{Duration, SystemTime}                                               
                                                                                
                                                                                
                                                                  | 
MIT/Apache-2.0                                          | 
https://github.com/tailhook/humantime                        [...]
-| jsonwebtoken                       | Create and decode JWTs in a strongly 
typed way.                                                                      
                                                                                
                                                                                
                                                        | MIT                   
                                  | https://github.com/Keats/jsonwebtoken       
                 [...]
-| keyring                            | Cross-platform library for managing 
passwords/credentials                                                           
                                                                                
                                                                                
                                                         | MIT OR Apache-2.0    
                                   | https://github.com/hwchen/keyring-rs.git   
                  [...]
-| lazy_static                        | A macro for declaring lazily evaluated 
statics in Rust.                                                                
                                                                                
                                                                                
                                                      | MIT OR Apache-2.0       
                                | 
https://github.com/rust-lang-nursery/lazy-static.rs          [...]
-| libc                               | Raw FFI bindings to platform libraries 
like libc.                                                                      
                                                                                
                                                                                
                                                      | MIT OR Apache-2.0       
                                | https://github.com/rust-lang/libc             
               [...]
-| log                                | A lightweight logging facade for Rust   
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/rust-lang/log               
              [...]
-| mimalloc                           | Performance and security oriented 
drop-in allocator                                                               
                                                                                
                                                                                
                                                           | MIT                
                                     | 
https://github.com/purpleprotocol/mimalloc_rust              [...]
-| mockall                            | A powerful mock object library for 
Rust.                                                                           
                                                                                
                                                                                
                                                          | MIT OR Apache-2.0   
                                    | https://github.com/asomers/mockall        
                   [...]
-| moka                               | A fast and concurrent cache library 
inspired by Java Caffeine                                                       
                                                                                
                                                                                
                                                         | MIT OR Apache-2.0    
                                   | https://github.com/moka-rs/moka            
                  [...]
-| nonzero_lit                        | Easy, safe, and fully zero-cost NonZero 
constants and literals.                                                         
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0 OR 
CC0-1.0                            | https://github.com/thomcc/nonzero_lit      
                  [...]
-| openssl                            | OpenSSL bindings                        
                                                                                
                                                                                
                                                                                
                                                     | Apache-2.0               
                               | https://github.com/sfackler/rust-openssl       
              [...]
-| opentelemetry                      | OpenTelemetry API for Rust              
                                                                                
                                                                                
                                                                                
                                                     | Apache-2.0               
                               | 
https://github.com/open-telemetry/opentelemetry-rust         [...]
-| opentelemetry-appender-tracing     | An OpenTelemetry log appender for the 
tracing crate                                                                   
                                                                                
                                                                                
                                                       | Apache-2.0             
                                 | 
https://github.com/open-telemetry/opentelemetry-rust/tree/ma [...]
-| opentelemetry-otlp                 | Exporter for the OpenTelemetry 
Collector                                                                       
                                                                                
                                                                                
                                                              | Apache-2.0      
                                        | 
https://github.com/open-telemetry/opentelemetry-rust/tree/ma [...]
-| opentelemetry-semantic-conventions | Semantic conventions for OpenTelemetry  
                                                                                
                                                                                
                                                                                
                                                     | Apache-2.0               
                               | 
https://github.com/open-telemetry/opentelemetry-rust/tree/ma [...]
-| opentelemetry_sdk                  | The SDK for the OpenTelemetry metrics 
collection and distributed tracing framework                                    
                                                                                
                                                                                
                                                       | Apache-2.0             
                                 | 
https://github.com/open-telemetry/opentelemetry-rust         [...]
-| passterm                           | Read terminal password, check isatty    
                                                                                
                                                                                
                                                                                
                                                     | BSD-3-Clause             
                               | https://github.com/finfet/passterm             
              [...]
-| predicates                         | An implementation of boolean-valued 
predicate functions.                                                            
                                                                                
                                                                                
                                                         | MIT OR Apache-2.0    
                                   | https://github.com/assert-rs/predicates-rs 
                  [...]
-| prometheus-client                  | Open Metrics client library allowing 
users to natively instrument applications.                                      
                                                                                
                                                                                
                                                        | MIT OR Apache-2.0     
                                  | https://github.com/prometheus/client_rust   
                 [...]
-| quinn                              | Versatile QUIC transport protocol 
implementation                                                                  
                                                                                
                                                                                
                                                           | MIT OR Apache-2.0  
                                     | https://github.com/quinn-rs/quinn        
                    [...]
-| rcgen                              | Rust X.509 certificate generator        
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/rustls/rcgen                
              [...]
-| regex                              | An implementation of regular 
expressions for Rust. This implementation uses finite automata and guarantees 
linear time matching on all inputs.                                             
                                                                                
                                                                  | MIT OR 
Apache-2.0                                       | 
https://github.com/rust-lang/regex                           [...]
-| reqwest                            | higher level HTTP client library        
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/seanmonstar/reqwest         
              [...]
-| reqwest-middleware                 | Wrapper around reqwest to allow for 
client middleware chains.                                                       
                                                                                
                                                                                
                                                         | MIT OR Apache-2.0    
                                   | 
https://github.com/TrueLayer/reqwest-middleware              [...]
-| reqwest-retry                      | Retry middleware for reqwest.           
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | 
https://github.com/TrueLayer/reqwest-middleware              [...]
-| ring                               | Safe, fast, small crypto using Rust.    
                                                                                
                                                                                
                                                                                
                                                     | non-standard             
                               | https://github.com/briansmith/ring             
              [...]
-| rust-s3                            | Rust library for working with AWS S3 
and compatible object storage APIs                                              
                                                                                
                                                                                
                                                        | MIT                   
                                  | https://github.com/durch/rust-s3            
                 [...]
-| rustls                             | Rustls is a modern TLS library written 
in Rust.                                                                        
                                                                                
                                                                                
                                                      | Apache-2.0 OR ISC OR 
MIT                                | https://github.com/rustls/rustls           
                  [...]
-| rustls-pemfile                     | Basic .pem file parser for keys and 
certificates                                                                    
                                                                                
                                                                                
                                                         | Apache-2.0 OR ISC OR 
MIT                                | https://github.com/rustls/pemfile          
                  [...]
-| serde                              | A generic serialization/deserialization 
framework                                                                       
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/serde-rs/serde              
              [...]
-| serde_derive                       | Macros 1.1 implementation of 
#[derive(Serialize, Deserialize)]                                               
                                                                                
                                                                                
                                                                | MIT OR 
Apache-2.0                                       | 
https://github.com/serde-rs/serde                            [...]
-| serde_json                         | A JSON serialization file format        
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/serde-rs/json               
              [...]
-| serde_with                         | Custom de/serialization functions for 
Rust's serde                                                                    
                                                                                
                                                                                
                                                       | MIT OR Apache-2.0      
                                 | https://github.com/jonasbb/serde_with/       
                [...]
-| serial_test                        | Allows for the creation of serialised 
Rust tests                                                                      
                                                                                
                                                                                
                                                       | MIT                    
                                 | https://github.com/palfrey/serial_test/      
                [...]
-| static-toml                        | Effortlessly embed TOML files into your 
Rust code as static data with custom data structures.                           
                                                                                
                                                                                
                                                     | MIT                      
                               | https://github.com/cptpiepmatz/static-toml     
              [...]
-| strum                              | Helpful macros for working with enums 
and strings                                                                     
                                                                                
                                                                                
                                                       | MIT                    
                                 | https://github.com/Peternator7/strum         
                [...]
-| sysinfo                            | Library to get system information such 
as processes, CPUs, disks, components and networks                              
                                                                                
                                                                                
                                                      | MIT                     
                                | https://github.com/GuillaumeGomez/sysinfo     
               [...]
-| tempfile                           | A library for managing temporary files 
and directories.                                                                
                                                                                
                                                                                
                                                      | MIT OR Apache-2.0       
                                | https://github.com/Stebalien/tempfile         
               [...]
-| thiserror                          | derive(Error)                           
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/dtolnay/thiserror           
              [...]
-| tokio                              | An event-driven, non-blocking I/O 
platform for writing asynchronous I/O backed applications.                      
                                                                                
                                                                                
                                                           | MIT                
                                     | https://github.com/tokio-rs/tokio        
                    [...]
-| tokio-native-tls                   | An implementation of TLS/SSL streams 
for Tokio using native-tls giving an implementation of TLS for nonblocking I/O 
streams.                                                                        
                                                                                
                                                         | MIT                  
                                   | https://github.com/tokio-rs/tls            
                  [...]
-| tokio-rustls                       | Asynchronous TLS/SSL streams for Tokio 
using Rustls.                                                                   
                                                                                
                                                                                
                                                      | MIT OR Apache-2.0       
                                | https://github.com/rustls/tokio-rustls        
               [...]
-| toml                               | A native Rust encoder and decoder of 
TOML-formatted files and streams. Provides implementations of the standard 
Serialize/Deserialize traits for TOML data to facilitate deserializing and 
serializing Rust structures.                                                    
                                                                  | MIT OR 
Apache-2.0                                       | 
https://github.com/toml-rs/toml                              [...]
-| tower-http                         | Tower middleware and utilities for HTTP 
clients and servers                                                             
                                                                                
                                                                                
                                                     | MIT                      
                               | https://github.com/tower-rs/tower-http         
              [...]
-| tracing                            | Application-level tracing for Rust.     
                                                                                
                                                                                
                                                                                
                                                     | MIT                      
                               | https://github.com/tokio-rs/tracing            
              [...]
-| tracing-appender                   | Provides utilities for file appenders 
and making non-blocking writers.                                                
                                                                                
                                                                                
                                                       | MIT                    
                                 | https://github.com/tokio-rs/tracing          
                [...]
-| tracing-opentelemetry              | OpenTelemetry integration for tracing   
                                                                                
                                                                                
                                                                                
                                                     | MIT                      
                               | 
https://github.com/tokio-rs/tracing-opentelemetry            [...]
-| tracing-subscriber                 | Utilities for implementing and 
composing `tracing` subscribers.                                                
                                                                                
                                                                                
                                                              | MIT             
                                        | https://github.com/tokio-rs/tracing   
                       [...]
-| trait-variant                      | Utilities for working with 'impl 
Trait's in Rust.                                                                
                                                                                
                                                                                
                                                            | MIT OR Apache-2.0 
                                      | 
https://github.com/rust-lang/impl-trait-utils                [...]
-| twox-hash                          | A Rust implementation of the XXHash and 
XXH3 algorithms                                                                 
                                                                                
                                                                                
                                                     | MIT                      
                               | https://github.com/shepmaster/twox-hash        
              [...]
-| ulid                               | a Universally Unique Lexicographically 
Sortable Identifier implementation                                              
                                                                                
                                                                                
                                                      | MIT                     
                                | https://github.com/dylanhart/ulid-rs          
               [...]
-| uuid                               | A library to generate and parse UUIDs.  
                                                                                
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/uuid-rs/uuid                
              [...]
-| vergen-git2                        | Generate 'cargo:rustc-env' instructions 
via 'build.rs' for use in your code via the 'env!' macro                        
                                                                                
                                                                                
                                                     | MIT OR Apache-2.0        
                               | https://github.com/rustyhorde/vergen           
              [...]
-| webpki-roots                       | Mozilla's CA root certificates for use 
with webpki                                                                     
                                                                                
                                                                                
                                                      | Apache-2.0 OR MIT OR 
MPL-2.0                            | https://github.com/rustls/webpki-roots     
                  [...]
-| zip                                | Library to support the reading and 
writing of zip files.                                                           
                                                                                
                                                                                
                                                          | MIT                 
                                    | https://github.com/zip-rs/zip2.git        
                   [...]
\ No newline at end of file
+addr2line: 0.24.2, "Apache-2.0 OR MIT",
+adler2: 2.0.0, "0BSD OR Apache-2.0 OR MIT",
+aead: 0.5.2, "Apache-2.0 OR MIT",
+aes: 0.8.4, "Apache-2.0 OR MIT",
+aes-gcm: 0.10.3, "Apache-2.0 OR MIT",
+ahash: 0.7.8, "Apache-2.0 OR MIT",
+ahash: 0.8.12, "Apache-2.0 OR MIT",
+aho-corasick: 1.1.3, "MIT OR Unlicense",
+allocator-api2: 0.2.21, "Apache-2.0 OR MIT",
+android-tzdata: 0.1.1, "Apache-2.0 OR MIT",
+android_system_properties: 0.1.5, "Apache-2.0 OR MIT",
+anstream: 0.6.18, "Apache-2.0 OR MIT",
+anstyle: 1.0.10, "Apache-2.0 OR MIT",
+anstyle-parse: 0.2.6, "Apache-2.0 OR MIT",
+anstyle-query: 1.1.2, "Apache-2.0 OR MIT",
+anstyle-wincon: 3.0.7, "Apache-2.0 OR MIT",
+anyhow: 1.0.98, "Apache-2.0 OR MIT",
+arbitrary: 1.4.1, "Apache-2.0 OR MIT",
+arc-swap: 1.7.1, "Apache-2.0 OR MIT",
+arrayref: 0.3.9, "BSD-2-Clause",
+arrayvec: 0.7.6, "Apache-2.0 OR MIT",
+assert_cmd: 2.0.17, "Apache-2.0 OR MIT",
+async-broadcast: 0.7.2, "Apache-2.0 OR MIT",
+async-compression: 0.4.19, "Apache-2.0 OR MIT",
+async-dropper: 0.3.1, "MIT",
+async-dropper-derive: 0.3.1, "MIT",
+async-dropper-simple: 0.2.6, "MIT",
+async-lock: 3.4.0, "Apache-2.0 OR MIT",
+async-scoped: 0.9.0, "Apache-2.0 OR MIT",
+async-stream: 0.3.6, "MIT",
+async-stream-impl: 0.3.6, "MIT",
+async-trait: 0.1.88, "Apache-2.0 OR MIT",
+async_zip: 0.0.17, "MIT",
+atomic: 0.6.0, "Apache-2.0 OR MIT",
+atomic-waker: 1.1.2, "Apache-2.0 OR MIT",
+attohttpc: 0.28.5, "MPL-2.0",
+autocfg: 1.4.0, "Apache-2.0 OR MIT",
+aws-creds: 0.37.0, "MIT",
+aws-lc-rs: 1.13.1, "ISC AND (Apache-2.0 OR ISC)",
+aws-lc-sys: 0.29.0, "ISC AND (Apache-2.0 OR ISC) AND OpenSSL",
+aws-region: 0.25.5, "MIT",
+axum: 0.7.9, "MIT",
+axum: 0.8.4, "MIT",
+axum-core: 0.4.5, "MIT",
+axum-core: 0.5.2, "MIT",
+axum-server: 0.7.2, "MIT",
+backtrace: 0.3.75, "Apache-2.0 OR MIT",
+base64: 0.21.7, "Apache-2.0 OR MIT",
+base64: 0.22.1, "Apache-2.0 OR MIT",
+bcrypt: 0.17.0, "MIT",
+bench: 0.2.4, "Apache-2.0",
+bincode: 2.0.1, "MIT",
+bincode_derive: 2.0.1, "MIT",
+bindgen: 0.69.5, "BSD-3-Clause",
+bitflags: 1.3.2, "Apache-2.0 OR MIT",
+bitflags: 2.9.0, "Apache-2.0 OR MIT",
+bitvec: 1.0.1, "MIT",
+blake3: 1.8.2, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR CC0-1.0",
+block-buffer: 0.10.4, "Apache-2.0 OR MIT",
+blowfish: 0.9.1, "Apache-2.0 OR MIT",
+bon: 3.6.3, "Apache-2.0 OR MIT",
+bon-macros: 3.6.3, "Apache-2.0 OR MIT",
+borsh: 1.5.7, "Apache-2.0 OR MIT",
+borsh-derive: 1.5.7, "Apache-2.0",
+bstr: 1.12.0, "Apache-2.0 OR MIT",
+bumpalo: 3.17.0, "Apache-2.0 OR MIT",
+byte-unit: 5.1.6, "MIT",
+bytecheck: 0.6.12, "MIT",
+bytecheck_derive: 0.6.12, "MIT",
+bytemuck: 1.23.0, "Apache-2.0 OR MIT OR Zlib",
+byteorder: 1.5.0, "MIT OR Unlicense",
+bytes: 1.10.1, "MIT",
+bzip2: 0.5.2, "Apache-2.0 OR MIT",
+bzip2-sys: 0.1.13+1.0.8, "Apache-2.0 OR MIT",
+camino: 1.1.9, "Apache-2.0 OR MIT",
+cargo-platform: 0.1.9, "Apache-2.0 OR MIT",
+cargo_metadata: 0.19.2, "MIT",
+cc: 1.2.22, "Apache-2.0 OR MIT",
+cesu8: 1.1.0, "Apache-2.0 OR MIT",
+cexpr: 0.6.0, "Apache-2.0 OR MIT",
+cfg-if: 1.0.0, "Apache-2.0 OR MIT",
+cfg_aliases: 0.2.1, "MIT",
+charming: 0.4.0, "Apache-2.0 OR MIT",
+chrono: 0.4.41, "Apache-2.0 OR MIT",
+cipher: 0.4.4, "Apache-2.0 OR MIT",
+clang-sys: 1.8.1, "Apache-2.0",
+clap: 4.5.37, "Apache-2.0 OR MIT",
+clap_builder: 4.5.37, "Apache-2.0 OR MIT",
+clap_complete: 4.5.50, "Apache-2.0 OR MIT",
+clap_derive: 4.5.32, "Apache-2.0 OR MIT",
+clap_lex: 0.7.4, "Apache-2.0 OR MIT",
+cmake: 0.1.54, "Apache-2.0 OR MIT",
+colorchoice: 1.0.3, "Apache-2.0 OR MIT",
+colored: 3.0.0, "MPL-2.0",
+combine: 4.6.7, "MIT",
+comfy-table: 7.1.4, "MIT",
+concurrent-queue: 2.5.0, "Apache-2.0 OR MIT",
+console-api: 0.8.1, "MIT",
+console-subscriber: 0.4.1, "MIT",
+const-random: 0.1.18, "Apache-2.0 OR MIT",
+const-random-macro: 0.1.16, "Apache-2.0 OR MIT",
+constant_time_eq: 0.3.1, "Apache-2.0 OR CC0-1.0 OR MIT-0",
+convert_case: 0.6.0, "MIT",
+convert_case: 0.7.1, "MIT",
+core-foundation: 0.9.4, "Apache-2.0 OR MIT",
+core-foundation: 0.10.0, "Apache-2.0 OR MIT",
+core-foundation-sys: 0.8.7, "Apache-2.0 OR MIT",
+cpufeatures: 0.2.17, "Apache-2.0 OR MIT",
+crc: 3.3.0, "Apache-2.0 OR MIT",
+crc-catalog: 2.4.0, "Apache-2.0 OR MIT",
+crc32fast: 1.4.2, "Apache-2.0 OR MIT",
+crossbeam: 0.8.4, "Apache-2.0 OR MIT",
+crossbeam-channel: 0.5.15, "Apache-2.0 OR MIT",
+crossbeam-deque: 0.8.6, "Apache-2.0 OR MIT",
+crossbeam-epoch: 0.9.18, "Apache-2.0 OR MIT",
+crossbeam-queue: 0.3.12, "Apache-2.0 OR MIT",
+crossbeam-utils: 0.8.21, "Apache-2.0 OR MIT",
+crossterm: 0.28.1, "MIT",
+crossterm_winapi: 0.9.1, "MIT",
+crunchy: 0.2.3, "MIT",
+crypto-common: 0.1.6, "Apache-2.0 OR MIT",
+ctor: 0.4.2, "Apache-2.0 OR MIT",
+ctor-proc-macro: 0.0.5, "Apache-2.0 OR MIT",
+ctr: 0.9.2, "Apache-2.0 OR MIT",
+darling: 0.20.11, "MIT",
+darling_core: 0.20.11, "MIT",
+darling_macro: 0.20.11, "MIT",
+dashmap: 6.1.0, "MIT",
+dbus: 0.9.7, "Apache-2.0 OR MIT",
+dbus-secret-service: 4.0.3, "Apache-2.0 OR MIT",
+deflate64: 0.1.9, "MIT",
+deranged: 0.4.0, "Apache-2.0 OR MIT",
+derive-new: 0.7.0, "MIT",
+derive_arbitrary: 1.4.1, "Apache-2.0 OR MIT",
+derive_builder: 0.20.2, "Apache-2.0 OR MIT",
+derive_builder_core: 0.20.2, "Apache-2.0 OR MIT",
+derive_builder_macro: 0.20.2, "Apache-2.0 OR MIT",
+derive_more: 2.0.1, "MIT",
+derive_more-impl: 2.0.1, "MIT",
+difflib: 0.4.0, "MIT",
+digest: 0.10.7, "Apache-2.0 OR MIT",
+dirs: 6.0.0, "Apache-2.0 OR MIT",
+dirs-sys: 0.5.0, "Apache-2.0 OR MIT",
+displaydoc: 0.2.5, "Apache-2.0 OR MIT",
+dlv-list: 0.5.2, "Apache-2.0 OR MIT",
+doc-comment: 0.3.3, "MIT",
+dotenvy: 0.15.7, "MIT",
+downcast: 0.11.0, "MIT",
+dtoa: 1.0.10, "Apache-2.0 OR MIT",
+dtor: 0.0.6, "Apache-2.0 OR MIT",
+dtor-proc-macro: 0.0.5, "Apache-2.0 OR MIT",
+dunce: 1.0.5, "Apache-2.0 OR CC0-1.0 OR MIT-0",
+either: 1.15.0, "Apache-2.0 OR MIT",
+enum_dispatch: 0.3.13, "Apache-2.0 OR MIT",
+env_filter: 0.1.3, "Apache-2.0 OR MIT",
+env_logger: 0.11.8, "Apache-2.0 OR MIT",
+equivalent: 1.0.2, "Apache-2.0 OR MIT",
+err_trail: 0.8.5, "Apache-2.0",
+errno: 0.3.11, "Apache-2.0 OR MIT",
+error_set: 0.8.5, "Apache-2.0",
+error_set_impl: 0.8.5, "Apache-2.0",
+event-listener: 5.4.0, "Apache-2.0 OR MIT",
+event-listener-strategy: 0.5.4, "Apache-2.0 OR MIT",
+ext-trait: 1.0.1, "Apache-2.0 OR MIT OR Zlib",
+ext-trait-proc_macros: 1.0.1, "Apache-2.0 OR MIT OR Zlib",
+extension-traits: 1.0.1, "Apache-2.0 OR MIT OR Zlib",
+fast-async-mutex: 0.6.7, "Apache-2.0 OR MIT",
+fastbloom: 0.9.0, "Apache-2.0 OR MIT",
+fastrand: 2.3.0, "Apache-2.0 OR MIT",
+figlet-rs: 0.1.5, "Apache-2.0",
+figment: 0.10.19, "Apache-2.0 OR MIT",
+flate2: 1.1.1, "Apache-2.0 OR MIT",
+float-cmp: 0.10.0, "MIT",
+flume: 0.11.1, "Apache-2.0 OR MIT",
+fnv: 1.0.7, "Apache-2.0 OR MIT",
+foldhash: 0.1.5, "Zlib",
+foreign-types: 0.3.2, "Apache-2.0 OR MIT",
+foreign-types-shared: 0.1.1, "Apache-2.0 OR MIT",
+form_urlencoded: 1.2.1, "Apache-2.0 OR MIT",
+fragile: 2.0.1, "Apache-2.0",
+fs-err: 3.1.0, "Apache-2.0 OR MIT",
+fs_extra: 1.3.0, "MIT",
+funty: 2.0.0, "MIT",
+futures: 0.3.31, "Apache-2.0 OR MIT",
+futures-channel: 0.3.31, "Apache-2.0 OR MIT",
+futures-core: 0.3.31, "Apache-2.0 OR MIT",
+futures-executor: 0.3.31, "Apache-2.0 OR MIT",
+futures-io: 0.3.31, "Apache-2.0 OR MIT",
+futures-lite: 2.6.0, "Apache-2.0 OR MIT",
+futures-macro: 0.3.31, "Apache-2.0 OR MIT",
+futures-sink: 0.3.31, "Apache-2.0 OR MIT",
+futures-task: 0.3.31, "Apache-2.0 OR MIT",
+futures-timer: 3.0.3, "Apache-2.0 OR MIT",
+futures-util: 0.3.31, "Apache-2.0 OR MIT",
+generator: 0.8.4, "Apache-2.0 OR MIT",
+generic-array: 0.14.7, "MIT",
+getrandom: 0.2.16, "Apache-2.0 OR MIT",
+getrandom: 0.3.3, "Apache-2.0 OR MIT",
+ghash: 0.5.1, "Apache-2.0 OR MIT",
+gimli: 0.31.1, "Apache-2.0 OR MIT",
+git2: 0.20.2, "Apache-2.0 OR MIT",
+glob: 0.3.2, "Apache-2.0 OR MIT",
+governor: 0.10.0, "MIT",
+h2: 0.4.10, "MIT",
+handlebars: 4.5.0, "MIT",
+hashbrown: 0.12.3, "Apache-2.0 OR MIT",
+hashbrown: 0.14.5, "Apache-2.0 OR MIT",
+hashbrown: 0.15.3, "Apache-2.0 OR MIT",
+hdrhistogram: 7.5.4, "Apache-2.0 OR MIT",
+heck: 0.5.0, "Apache-2.0 OR MIT",
+hex: 0.4.3, "Apache-2.0 OR MIT",
+hmac: 0.12.1, "Apache-2.0 OR MIT",
+home: 0.5.11, "Apache-2.0 OR MIT",
+hostname: 0.4.1, "MIT",
+http: 0.2.12, "Apache-2.0 OR MIT",
+http: 1.3.1, "Apache-2.0 OR MIT",
+http-body: 0.4.6, "MIT",
+http-body: 1.0.1, "MIT",
+http-body-util: 0.1.3, "MIT",
+httparse: 1.10.1, "Apache-2.0 OR MIT",
+httpdate: 1.0.3, "Apache-2.0 OR MIT",
+human-repr: 1.1.0, "MIT",
+humantime: 2.2.0, "Apache-2.0 OR MIT",
+hyper: 0.14.32, "MIT",
+hyper: 1.6.0, "MIT",
+hyper-rustls: 0.27.5, "Apache-2.0 OR ISC OR MIT",
+hyper-timeout: 0.5.2, "Apache-2.0 OR MIT",
+hyper-tls: 0.5.0, "Apache-2.0 OR MIT",
+hyper-util: 0.1.11, "MIT",
+iana-time-zone: 0.1.63, "Apache-2.0 OR MIT",
+iana-time-zone-haiku: 0.1.2, "Apache-2.0 OR MIT",
+icu_collections: 2.0.0, "Unicode-3.0",
+icu_locale_core: 2.0.0, "Unicode-3.0",
+icu_normalizer: 2.0.0, "Unicode-3.0",
+icu_normalizer_data: 2.0.0, "Unicode-3.0",
+icu_properties: 2.0.0, "Unicode-3.0",
+icu_properties_data: 2.0.0, "Unicode-3.0",
+icu_provider: 2.0.0, "Unicode-3.0",
+ident_case: 1.0.1, "Apache-2.0 OR MIT",
+idna: 1.0.3, "Apache-2.0 OR MIT",
+idna_adapter: 1.2.1, "Apache-2.0 OR MIT",
+iggy: 0.7.0, "Apache-2.0",
+iggy-bench-report: 0.2.2, "Apache-2.0",
+iggy-cli: 0.9.0, "Apache-2.0",
+iggy_binary_protocol: 0.7.0, "Apache-2.0",
+iggy_common: 0.7.0, "Apache-2.0",
+iggy_examples: 0.0.5, "Apache-2.0",
+indexmap: 1.9.3, "Apache-2.0 OR MIT",
+indexmap: 2.9.0, "Apache-2.0 OR MIT",
+indices: 0.3.6, "Apache-2.0",
+inlinable_string: 0.1.15, "Apache-2.0 OR MIT",
+inout: 0.1.4, "Apache-2.0 OR MIT",
+instant: 0.1.13, "BSD-3-Clause",
+integration: 0.0.1, "Apache-2.0",
+ipnet: 2.11.0, "Apache-2.0 OR MIT",
+is_terminal_polyfill: 1.70.1, "Apache-2.0 OR MIT",
+itertools: 0.12.1, "Apache-2.0 OR MIT",
+itertools: 0.14.0, "Apache-2.0 OR MIT",
+itoa: 1.0.15, "Apache-2.0 OR MIT",
+jiff: 0.2.13, "MIT OR Unlicense",
+jiff-static: 0.2.13, "MIT OR Unlicense",
+jni: 0.21.1, "Apache-2.0 OR MIT",
+jni-sys: 0.3.0, "Apache-2.0 OR MIT",
+jobserver: 0.1.33, "Apache-2.0 OR MIT",
+js-sys: 0.3.77, "Apache-2.0 OR MIT",
+jsonwebtoken: 9.3.1, "MIT",
+keyring: 3.6.2, "Apache-2.0 OR MIT",
+lazy_static: 1.5.0, "Apache-2.0 OR MIT",
+lazycell: 1.3.0, "Apache-2.0 OR MIT",
+lending-iterator: 0.1.7, "Apache-2.0 OR MIT OR Zlib",
+lending-iterator-proc_macros: 0.1.7, "Apache-2.0 OR MIT OR Zlib",
+libc: 0.2.172, "Apache-2.0 OR MIT",
+libdbus-sys: 0.2.5, "Apache-2.0 OR MIT",
+libgit2-sys: 0.18.1+1.9.0, "Apache-2.0 OR MIT",
+libloading: 0.8.6, "ISC",
+libmimalloc-sys: 0.1.42, "MIT",
+libredox: 0.1.3, "MIT",
+libz-sys: 1.1.22, "Apache-2.0 OR MIT",
+linux-raw-sys: 0.4.15, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+linux-raw-sys: 0.9.4, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+litemap: 0.8.0, "Unicode-3.0",
+lock_api: 0.4.12, "Apache-2.0 OR MIT",
+log: 0.4.27, "Apache-2.0 OR MIT",
+loom: 0.7.2, "MIT",
+lru-slab: 0.1.2, "Apache-2.0 OR MIT OR Zlib",
+lzma-rs: 0.3.0, "MIT",
+lzma-sys: 0.1.20, "Apache-2.0 OR MIT",
+macro_rules_attribute: 0.1.3, "MIT",
+macro_rules_attribute-proc_macro: 0.1.3, "MIT",
+matchers: 0.1.0, "MIT",
+matchit: 0.7.3, "MIT AND BSD-3-Clause",
+matchit: 0.8.4, "MIT AND BSD-3-Clause",
+maybe-async: 0.2.10, "MIT",
+md5: 0.7.0, "Apache-2.0 OR MIT",
+memchr: 2.7.4, "MIT OR Unlicense",
+mimalloc: 0.1.46, "MIT",
+mime: 0.3.17, "Apache-2.0 OR MIT",
+minidom: 0.15.2, "MPL-2.0",
+minimal-lexical: 0.2.1, "Apache-2.0 OR MIT",
+miniz_oxide: 0.8.8, "Apache-2.0 OR MIT OR Zlib",
+mio: 1.0.3, "MIT",
+mockall: 0.13.1, "Apache-2.0 OR MIT",
+mockall_derive: 0.13.1, "Apache-2.0 OR MIT",
+moka: 0.12.10, "Apache-2.0 OR MIT",
+nanorand: 0.7.0, "Zlib",
+native-tls: 0.2.14, "Apache-2.0 OR MIT",
+never-say-never: 6.6.666, "Apache-2.0 OR MIT OR Zlib",
+nix: 0.30.1, "MIT",
+nom: 7.1.3, "MIT",
+nonzero_ext: 0.3.0, "Apache-2.0",
+nonzero_lit: 0.1.2, "Apache-2.0 OR CC0-1.0 OR MIT",
+normalize-line-endings: 0.3.0, "Apache-2.0",
+nougat: 0.2.4, "Apache-2.0 OR MIT OR Zlib",
+nougat-proc_macros: 0.2.4, "Apache-2.0 OR MIT OR Zlib",
+ntapi: 0.4.1, "Apache-2.0 OR MIT",
+nu-ansi-term: 0.46.0, "MIT",
+num: 0.4.3, "Apache-2.0 OR MIT",
+num-bigint: 0.4.6, "Apache-2.0 OR MIT",
+num-complex: 0.4.6, "Apache-2.0 OR MIT",
+num-conv: 0.1.0, "Apache-2.0 OR MIT",
+num-integer: 0.1.46, "Apache-2.0 OR MIT",
+num-iter: 0.1.45, "Apache-2.0 OR MIT",
+num-rational: 0.4.2, "Apache-2.0 OR MIT",
+num-traits: 0.2.19, "Apache-2.0 OR MIT",
+num_threads: 0.1.7, "Apache-2.0 OR MIT",
+objc2-core-foundation: 0.3.1, "Apache-2.0 OR MIT OR Zlib",
+objc2-io-kit: 0.3.1, "Apache-2.0 OR MIT OR Zlib",
+object: 0.36.7, "Apache-2.0 OR MIT",
+once_cell: 1.21.3, "Apache-2.0 OR MIT",
+opaque-debug: 0.3.1, "Apache-2.0 OR MIT",
+openssl: 0.10.72, "Apache-2.0",
+openssl-macros: 0.1.1, "Apache-2.0 OR MIT",
+openssl-probe: 0.1.6, "Apache-2.0 OR MIT",
+openssl-src: 300.5.0+3.5.0, "Apache-2.0 OR MIT",
+openssl-sys: 0.9.108, "MIT",
+opentelemetry: 0.29.1, "Apache-2.0",
+opentelemetry-appender-tracing: 0.29.1, "Apache-2.0",
+opentelemetry-http: 0.29.0, "Apache-2.0",
+opentelemetry-otlp: 0.29.0, "Apache-2.0",
+opentelemetry-proto: 0.29.0, "Apache-2.0",
+opentelemetry-semantic-conventions: 0.29.0, "Apache-2.0",
+opentelemetry_sdk: 0.29.0, "Apache-2.0",
+option-ext: 0.2.0, "MPL-2.0",
+ordered-multimap: 0.7.3, "MIT",
+overload: 0.1.1, "MIT",
+parking: 2.2.1, "Apache-2.0 OR MIT",
+parking_lot: 0.11.2, "Apache-2.0 OR MIT",
+parking_lot: 0.12.3, "Apache-2.0 OR MIT",
+parking_lot_core: 0.8.6, "Apache-2.0 OR MIT",
+parking_lot_core: 0.9.10, "Apache-2.0 OR MIT",
+passterm: 2.0.1, "BSD-3-Clause",
+paste: 1.0.15, "Apache-2.0 OR MIT",
+pbkdf2: 0.12.2, "Apache-2.0 OR MIT",
+pear: 0.2.9, "Apache-2.0 OR MIT",
+pear_codegen: 0.2.9, "Apache-2.0 OR MIT",
+pem: 3.0.5, "MIT",
+percent-encoding: 2.3.1, "Apache-2.0 OR MIT",
+pest: 2.8.0, "Apache-2.0 OR MIT",
+pest_derive: 2.8.0, "Apache-2.0 OR MIT",
+pest_generator: 2.8.0, "Apache-2.0 OR MIT",
+pest_meta: 2.8.0, "Apache-2.0 OR MIT",
+pin-project: 1.1.10, "Apache-2.0 OR MIT",
+pin-project-internal: 1.1.10, "Apache-2.0 OR MIT",
+pin-project-lite: 0.2.16, "Apache-2.0 OR MIT",
+pin-utils: 0.1.0, "Apache-2.0 OR MIT",
+pkg-config: 0.3.32, "Apache-2.0 OR MIT",
+polonius-the-crab: 0.2.1, "Apache-2.0 OR MIT OR Zlib",
+polyval: 0.6.2, "Apache-2.0 OR MIT",
+portable-atomic: 1.11.0, "Apache-2.0 OR MIT",
+portable-atomic-util: 0.2.4, "Apache-2.0 OR MIT",
+potential_utf: 0.1.2, "Unicode-3.0",
+powerfmt: 0.2.0, "Apache-2.0 OR MIT",
+ppv-lite86: 0.2.21, "Apache-2.0 OR MIT",
+predicates: 3.1.3, "Apache-2.0 OR MIT",
+predicates-core: 1.0.9, "Apache-2.0 OR MIT",
+predicates-tree: 1.0.12, "Apache-2.0 OR MIT",
+prettyplease: 0.2.32, "Apache-2.0 OR MIT",
+proc-macro-crate: 3.3.0, "Apache-2.0 OR MIT",
+proc-macro-error: 1.0.4, "Apache-2.0 OR MIT",
+proc-macro-error-attr: 1.0.4, "Apache-2.0 OR MIT",
+proc-macro2: 1.0.95, "Apache-2.0 OR MIT",
+proc-macro2-diagnostics: 0.10.1, "Apache-2.0 OR MIT",
+prometheus-client: 0.23.1, "Apache-2.0 OR MIT",
+prometheus-client-derive-encode: 0.4.2, "Apache-2.0 OR MIT",
+prost: 0.13.5, "Apache-2.0",
+prost-derive: 0.13.5, "Apache-2.0",
+prost-types: 0.13.5, "Apache-2.0",
+ptr_meta: 0.1.4, "MIT",
+ptr_meta_derive: 0.1.4, "MIT",
+quanta: 0.12.5, "MIT",
+quick-xml: 0.32.0, "MIT",
+quinn: 0.11.8, "Apache-2.0 OR MIT",
+quinn-proto: 0.11.12, "Apache-2.0 OR MIT",
+quinn-udp: 0.5.12, "Apache-2.0 OR MIT",
+quote: 1.0.40, "Apache-2.0 OR MIT",
+r-efi: 5.2.0, "Apache-2.0 OR LGPL-2.1-or-later OR MIT",
+radium: 0.7.0, "MIT",
+rand: 0.8.5, "Apache-2.0 OR MIT",
+rand: 0.9.1, "Apache-2.0 OR MIT",
+rand_chacha: 0.3.1, "Apache-2.0 OR MIT",
+rand_chacha: 0.9.0, "Apache-2.0 OR MIT",
+rand_core: 0.6.4, "Apache-2.0 OR MIT",
+rand_core: 0.9.3, "Apache-2.0 OR MIT",
+raw-cpuid: 11.5.0, "MIT",
+rcgen: 0.13.2, "Apache-2.0 OR MIT",
+redox_syscall: 0.2.16, "MIT",
+redox_syscall: 0.5.12, "MIT",
+redox_users: 0.5.0, "MIT",
+regex: 1.11.1, "Apache-2.0 OR MIT",
+regex-automata: 0.1.10, "MIT OR Unlicense",
+regex-automata: 0.4.9, "Apache-2.0 OR MIT",
+regex-syntax: 0.6.29, "Apache-2.0 OR MIT",
+regex-syntax: 0.8.5, "Apache-2.0 OR MIT",
+rend: 0.4.2, "MIT",
+reqwest: 0.12.15, "Apache-2.0 OR MIT",
+reqwest-middleware: 0.4.2, "Apache-2.0 OR MIT",
+reqwest-retry: 0.7.0, "Apache-2.0 OR MIT",
+retry-policies: 0.4.0, "Apache-2.0 OR MIT",
+ring: 0.17.14, "Apache-2.0 AND ISC",
+rkyv: 0.7.45, "MIT",
+rkyv_derive: 0.7.45, "MIT",
+rust-ini: 0.21.1, "MIT",
+rust-s3: 0.35.1, "MIT",
+rust_decimal: 1.37.1, "MIT",
+rustc-demangle: 0.1.24, "Apache-2.0 OR MIT",
+rustc-hash: 1.1.0, "Apache-2.0 OR MIT",
+rustc-hash: 2.1.1, "Apache-2.0 OR MIT",
+rustc_version: 0.4.1, "Apache-2.0 OR MIT",
+rustix: 0.38.44, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+rustix: 1.0.7, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+rustls: 0.23.27, "Apache-2.0 OR ISC OR MIT",
+rustls-native-certs: 0.8.1, "Apache-2.0 OR ISC OR MIT",
+rustls-pemfile: 2.2.0, "Apache-2.0 OR ISC OR MIT",
+rustls-pki-types: 1.12.0, "Apache-2.0 OR MIT",
+rustls-platform-verifier: 0.5.3, "Apache-2.0 OR MIT",
+rustls-platform-verifier-android: 0.1.1, "Apache-2.0 OR MIT",
+rustls-webpki: 0.103.3, "ISC",
+rustversion: 1.0.20, "Apache-2.0 OR MIT",
+rxml: 0.9.1, "MIT",
+rxml_validation: 0.9.1, "MIT",
+ryu: 1.0.20, "Apache-2.0 OR BSL-1.0",
+safe_arch: 0.7.4, "Apache-2.0 OR MIT OR Zlib",
+same-file: 1.0.6, "MIT OR Unlicense",
+scc: 2.3.4, "Apache-2.0",
+schannel: 0.1.27, "MIT",
+scoped-tls: 1.0.1, "Apache-2.0 OR MIT",
+scopeguard: 1.2.0, "Apache-2.0 OR MIT",
+sdd: 3.0.8, "Apache-2.0",
+seahash: 4.1.0, "MIT",
+security-framework: 2.11.1, "Apache-2.0 OR MIT",
+security-framework: 3.2.0, "Apache-2.0 OR MIT",
+security-framework-sys: 2.14.0, "Apache-2.0 OR MIT",
+semver: 1.0.26, "Apache-2.0 OR MIT",
+serde: 1.0.219, "Apache-2.0 OR MIT",
+serde_derive: 1.0.219, "Apache-2.0 OR MIT",
+serde_json: 1.0.140, "Apache-2.0 OR MIT",
+serde_path_to_error: 0.1.17, "Apache-2.0 OR MIT",
+serde_spanned: 0.6.8, "Apache-2.0 OR MIT",
+serde_urlencoded: 0.7.1, "Apache-2.0 OR MIT",
+serde_with: 3.12.0, "Apache-2.0 OR MIT",
+serde_with_macros: 3.12.0, "Apache-2.0 OR MIT",
+serial_test: 3.2.0, "MIT",
+serial_test_derive: 3.2.0, "MIT",
+server: 0.5.0, "Apache-2.0",
+sha1: 0.10.6, "Apache-2.0 OR MIT",
+sha2: 0.10.9, "Apache-2.0 OR MIT",
+sharded-slab: 0.1.7, "MIT",
+shlex: 1.3.0, "Apache-2.0 OR MIT",
+signal-hook-registry: 1.4.5, "Apache-2.0 OR MIT",
+simd-adler32: 0.3.7, "MIT",
+simdutf8: 0.1.5, "Apache-2.0 OR MIT",
+simple_asn1: 0.6.3, "ISC",
+siphasher: 1.0.1, "Apache-2.0 OR MIT",
+slab: 0.4.9, "MIT",
+smallvec: 1.15.0, "Apache-2.0 OR MIT",
+smartstring: 1.0.1, "MPL-2.0+",
+socket2: 0.5.9, "Apache-2.0 OR MIT",
+spin: 0.9.8, "MIT",
+spinning_top: 0.3.0, "Apache-2.0 OR MIT",
+stable_deref_trait: 1.2.0, "Apache-2.0 OR MIT",
+static-toml: 1.3.0, "MIT",
+static_assertions: 1.1.0, "Apache-2.0 OR MIT",
+strsim: 0.11.1, "MIT",
+strum: 0.27.1, "MIT",
+strum_macros: 0.27.1, "MIT",
+subtle: 2.6.1, "BSD-3-Clause",
+syn: 1.0.109, "Apache-2.0 OR MIT",
+syn: 2.0.101, "Apache-2.0 OR MIT",
+sync_wrapper: 1.0.2, "Apache-2.0",
+synstructure: 0.13.2, "MIT",
+sysinfo: 0.34.2, "MIT",
+sysinfo: 0.35.0, "MIT",
+tagptr: 0.2.0, "Apache-2.0 OR MIT",
+tap: 1.0.1, "MIT",
+tempfile: 3.19.1, "Apache-2.0 OR MIT",
+termtree: 0.5.1, "MIT",
+test-case: 3.3.1, "MIT",
+test-case-core: 3.3.1, "MIT",
+test-case-macros: 3.3.1, "MIT",
+thiserror: 1.0.69, "Apache-2.0 OR MIT",
+thiserror: 2.0.12, "Apache-2.0 OR MIT",
+thiserror-impl: 1.0.69, "Apache-2.0 OR MIT",
+thiserror-impl: 2.0.12, "Apache-2.0 OR MIT",
+thread_local: 1.1.8, "Apache-2.0 OR MIT",
+time: 0.3.41, "Apache-2.0 OR MIT",
+time-core: 0.1.4, "Apache-2.0 OR MIT",
+time-macros: 0.2.22, "Apache-2.0 OR MIT",
+tiny-keccak: 2.0.2, "CC0-1.0",
+tinystr: 0.8.1, "Unicode-3.0",
+tinyvec: 1.9.0, "Apache-2.0 OR MIT OR Zlib",
+tinyvec_macros: 0.1.1, "Apache-2.0 OR MIT OR Zlib",
+tokio: 1.45.0, "MIT",
+tokio-macros: 2.5.0, "MIT",
+tokio-native-tls: 0.3.1, "MIT",
+tokio-rustls: 0.26.2, "Apache-2.0 OR MIT",
+tokio-stream: 0.1.17, "MIT",
+tokio-util: 0.7.15, "MIT",
+toml: 0.8.22, "Apache-2.0 OR MIT",
+toml_datetime: 0.6.9, "Apache-2.0 OR MIT",
+toml_edit: 0.22.26, "Apache-2.0 OR MIT",
+toml_write: 0.1.1, "Apache-2.0 OR MIT",
+tonic: 0.12.3, "MIT",
+tools: 0.1.0, "Apache-2.0",
+tower: 0.4.13, "MIT",
+tower: 0.5.2, "MIT",
+tower-http: 0.6.2, "MIT",
+tower-layer: 0.3.3, "MIT",
+tower-service: 0.3.3, "MIT",
+tracing: 0.1.41, "MIT",
+tracing-appender: 0.2.3, "MIT",
+tracing-attributes: 0.1.28, "MIT",
+tracing-core: 0.1.33, "MIT",
+tracing-log: 0.2.0, "MIT",
+tracing-opentelemetry: 0.30.0, "MIT",
+tracing-subscriber: 0.3.19, "MIT",
+trait-variant: 0.1.2, "Apache-2.0 OR MIT",
+trim-in-place: 0.1.7, "MIT",
+try-lock: 0.2.5, "MIT",
+twox-hash: 2.1.0, "MIT",
+typenum: 1.18.0, "Apache-2.0 OR MIT",
+ucd-trie: 0.1.7, "Apache-2.0 OR MIT",
+ulid: 1.2.1, "MIT",
+uncased: 0.9.10, "Apache-2.0 OR MIT",
+unicode-ident: 1.0.18, "(MIT OR Apache-2.0) AND Unicode-3.0",
+unicode-segmentation: 1.12.0, "Apache-2.0 OR MIT",
+unicode-width: 0.2.0, "Apache-2.0 OR MIT",
+unicode-xid: 0.2.6, "Apache-2.0 OR MIT",
+universal-hash: 0.5.1, "Apache-2.0 OR MIT",
+untrusted: 0.9.0, "ISC",
+unty: 0.0.4, "Apache-2.0 OR MIT",
+url: 2.5.4, "Apache-2.0 OR MIT",
+utf8-width: 0.1.7, "MIT",
+utf8_iter: 1.0.4, "Apache-2.0 OR MIT",
+utf8parse: 0.2.2, "Apache-2.0 OR MIT",
+uuid: 1.16.0, "Apache-2.0 OR MIT",
+valuable: 0.1.1, "MIT",
+vcpkg: 0.2.15, "Apache-2.0 OR MIT",
+vergen: 9.0.6, "Apache-2.0 OR MIT",
+vergen-git2: 1.0.7, "Apache-2.0 OR MIT",
+vergen-lib: 0.1.6, "Apache-2.0 OR MIT",
+version_check: 0.9.5, "Apache-2.0 OR MIT",
+virtue: 0.0.18, "MIT",
+wait-timeout: 0.2.1, "Apache-2.0 OR MIT",
+walkdir: 2.5.0, "MIT OR Unlicense",
+want: 0.3.1, "MIT",
+wasi: 0.11.0+wasi-snapshot-preview1, "Apache-2.0 OR Apache-2.0 WITH 
LLVM-exception OR MIT",
+wasi: 0.14.2+wasi-0.2.4, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+wasm-bindgen: 0.2.100, "Apache-2.0 OR MIT",
+wasm-bindgen-backend: 0.2.100, "Apache-2.0 OR MIT",
+wasm-bindgen-futures: 0.4.50, "Apache-2.0 OR MIT",
+wasm-bindgen-macro: 0.2.100, "Apache-2.0 OR MIT",
+wasm-bindgen-macro-support: 0.2.100, "Apache-2.0 OR MIT",
+wasm-bindgen-shared: 0.2.100, "Apache-2.0 OR MIT",
+wasm-timer: 0.2.5, "MIT",
+web-sys: 0.3.77, "Apache-2.0 OR MIT",
+web-time: 1.1.0, "Apache-2.0 OR MIT",
+webpki-root-certs: 0.26.11, "CDLA-Permissive-2.0",
+webpki-root-certs: 1.0.0, "CDLA-Permissive-2.0",
+webpki-roots: 0.26.11, "CDLA-Permissive-2.0",
+webpki-roots: 1.0.0, "CDLA-Permissive-2.0",
+which: 4.4.2, "MIT",
+wide: 0.7.32, "Apache-2.0 OR MIT OR Zlib",
+winapi: 0.3.9, "Apache-2.0 OR MIT",
+winapi-i686-pc-windows-gnu: 0.4.0, "Apache-2.0 OR MIT",
+winapi-util: 0.1.9, "MIT OR Unlicense",
+winapi-x86_64-pc-windows-gnu: 0.4.0, "Apache-2.0 OR MIT",
+windows: 0.57.0, "Apache-2.0 OR MIT",
+windows: 0.58.0, "Apache-2.0 OR MIT",
+windows: 0.61.1, "Apache-2.0 OR MIT",
+windows-collections: 0.2.0, "Apache-2.0 OR MIT",
+windows-core: 0.57.0, "Apache-2.0 OR MIT",
+windows-core: 0.58.0, "Apache-2.0 OR MIT",
+windows-core: 0.61.0, "Apache-2.0 OR MIT",
+windows-future: 0.2.0, "Apache-2.0 OR MIT",
+windows-implement: 0.57.0, "Apache-2.0 OR MIT",
+windows-implement: 0.58.0, "Apache-2.0 OR MIT",
+windows-implement: 0.60.0, "Apache-2.0 OR MIT",
+windows-interface: 0.57.0, "Apache-2.0 OR MIT",
+windows-interface: 0.58.0, "Apache-2.0 OR MIT",
+windows-interface: 0.59.1, "Apache-2.0 OR MIT",
+windows-link: 0.1.1, "Apache-2.0 OR MIT",
+windows-numerics: 0.2.0, "Apache-2.0 OR MIT",
+windows-registry: 0.4.0, "Apache-2.0 OR MIT",
+windows-result: 0.1.2, "Apache-2.0 OR MIT",
+windows-result: 0.2.0, "Apache-2.0 OR MIT",
+windows-result: 0.3.2, "Apache-2.0 OR MIT",
+windows-strings: 0.1.0, "Apache-2.0 OR MIT",
+windows-strings: 0.3.1, "Apache-2.0 OR MIT",
+windows-strings: 0.4.0, "Apache-2.0 OR MIT",
+windows-sys: 0.45.0, "Apache-2.0 OR MIT",
+windows-sys: 0.48.0, "Apache-2.0 OR MIT",
+windows-sys: 0.52.0, "Apache-2.0 OR MIT",
+windows-sys: 0.59.0, "Apache-2.0 OR MIT",
+windows-targets: 0.42.2, "Apache-2.0 OR MIT",
+windows-targets: 0.48.5, "Apache-2.0 OR MIT",
+windows-targets: 0.52.6, "Apache-2.0 OR MIT",
+windows-targets: 0.53.0, "Apache-2.0 OR MIT",
+windows_aarch64_gnullvm: 0.42.2, "Apache-2.0 OR MIT",
+windows_aarch64_gnullvm: 0.48.5, "Apache-2.0 OR MIT",
+windows_aarch64_gnullvm: 0.52.6, "Apache-2.0 OR MIT",
+windows_aarch64_gnullvm: 0.53.0, "Apache-2.0 OR MIT",
+windows_aarch64_msvc: 0.42.2, "Apache-2.0 OR MIT",
+windows_aarch64_msvc: 0.48.5, "Apache-2.0 OR MIT",
+windows_aarch64_msvc: 0.52.6, "Apache-2.0 OR MIT",
+windows_aarch64_msvc: 0.53.0, "Apache-2.0 OR MIT",
+windows_i686_gnu: 0.42.2, "Apache-2.0 OR MIT",
+windows_i686_gnu: 0.48.5, "Apache-2.0 OR MIT",
+windows_i686_gnu: 0.52.6, "Apache-2.0 OR MIT",
+windows_i686_gnu: 0.53.0, "Apache-2.0 OR MIT",
+windows_i686_gnullvm: 0.52.6, "Apache-2.0 OR MIT",
+windows_i686_gnullvm: 0.53.0, "Apache-2.0 OR MIT",
+windows_i686_msvc: 0.42.2, "Apache-2.0 OR MIT",
+windows_i686_msvc: 0.48.5, "Apache-2.0 OR MIT",
+windows_i686_msvc: 0.52.6, "Apache-2.0 OR MIT",
+windows_i686_msvc: 0.53.0, "Apache-2.0 OR MIT",
+windows_x86_64_gnu: 0.42.2, "Apache-2.0 OR MIT",
+windows_x86_64_gnu: 0.48.5, "Apache-2.0 OR MIT",
+windows_x86_64_gnu: 0.52.6, "Apache-2.0 OR MIT",
+windows_x86_64_gnu: 0.53.0, "Apache-2.0 OR MIT",
+windows_x86_64_gnullvm: 0.42.2, "Apache-2.0 OR MIT",
+windows_x86_64_gnullvm: 0.48.5, "Apache-2.0 OR MIT",
+windows_x86_64_gnullvm: 0.52.6, "Apache-2.0 OR MIT",
+windows_x86_64_gnullvm: 0.53.0, "Apache-2.0 OR MIT",
+windows_x86_64_msvc: 0.42.2, "Apache-2.0 OR MIT",
+windows_x86_64_msvc: 0.48.5, "Apache-2.0 OR MIT",
+windows_x86_64_msvc: 0.52.6, "Apache-2.0 OR MIT",
+windows_x86_64_msvc: 0.53.0, "Apache-2.0 OR MIT",
+winnow: 0.7.10, "MIT",
+wit-bindgen-rt: 0.39.0, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT",
+writeable: 0.6.1, "Unicode-3.0",
+wyz: 0.5.1, "MIT",
+xz2: 0.1.7, "Apache-2.0 OR MIT",
+yansi: 1.0.1, "Apache-2.0 OR MIT",
+yasna: 0.5.2, "Apache-2.0 OR MIT",
+yoke: 0.8.0, "Unicode-3.0",
+yoke-derive: 0.8.0, "Unicode-3.0",
+zerocopy: 0.8.25, "Apache-2.0 OR BSD-2-Clause OR MIT",
+zerocopy-derive: 0.8.25, "Apache-2.0 OR BSD-2-Clause OR MIT",
+zerofrom: 0.1.6, "Unicode-3.0",
+zerofrom-derive: 0.1.6, "Unicode-3.0",
+zeroize: 1.8.1, "Apache-2.0 OR MIT",
+zeroize_derive: 1.4.2, "Apache-2.0 OR MIT",
+zerotrie: 0.2.2, "Unicode-3.0",
+zerovec: 0.11.2, "Unicode-3.0",
+zerovec-derive: 0.11.1, "Unicode-3.0",
+zip: 2.6.1, "MIT",
+zopfli: 0.8.2, "Apache-2.0",
+zstd: 0.13.3, "MIT",
+zstd-safe: 7.2.4, "Apache-2.0 OR MIT",
+zstd-sys: 2.0.15+zstd.1.5.7, "Apache-2.0 OR MIT",
diff --git a/justfile b/justfile
index 0ff6b557..671be27e 100644
--- a/justfile
+++ b/justfile
@@ -68,3 +68,15 @@ profile-io-server:
 
 profile-io-client:
   ./scripts/profile.sh iggy-bench io
+
+licenses-fix:
+  docker run --rm -v $(pwd):/src -w /src ghcr.io/google/addlicense:latest -f 
ASF_LICENSE.txt .
+
+licenses-check:
+  docker run --rm -v $(pwd):/src -w /src ghcr.io/google/addlicense:latest 
-check -f ASF_LICENSE.txt .
+
+licenses-list-check:
+  ./scripts/licenses-list.sh --check
+
+licenses-list-update:
+  ./scripts/licenses-list.sh --update
diff --git a/scripts/licenses-list.sh b/scripts/licenses-list.sh
new file mode 100755
index 00000000..50c570b5
--- /dev/null
+++ b/scripts/licenses-list.sh
@@ -0,0 +1,97 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# This script is used to generate Cross.toml file for user which executes
+# this script. This is needed since Cross.toml build.dockerfile.build-args
+# section requires statically defined Docker build arguments and parameters
+# like current UID or GID must be entered (cannot be generated or fetched
+# during cross execution time).
+
+set -euo pipefail
+
+# Default mode
+MODE="help"
+
+# Parse arguments
+while [[ $# -gt 0 ]]; do
+    case "$1" in
+    --update)
+        MODE="update"
+        shift
+        ;;
+    --check)
+        MODE="check"
+        shift
+        ;;
+    *)
+        echo "Unknown option: $1"
+        MODE="help"
+        shift
+        ;;
+    esac
+done
+
+# Display usage if no valid arguments provided
+if [ "$MODE" = "help" ]; then
+    echo "Usage: $0 [OPTIONS]"
+    echo "Options:"
+    echo "  --check    Check if DEPENDENCIES.md is up to date"
+    echo "  --update   Update DEPENDENCIES.md with current dependencies"
+    exit 0
+fi
+
+# Check if cargo-license is installed
+if ! command -v cargo-license &>/dev/null; then
+    echo "Installing cargo-license..."
+    cargo install cargo-license
+fi
+
+# Check if DEPENDENCIES.md exists
+if [ ! -f "DEPENDENCIES.md" ] && [ "$MODE" = "check" ]; then
+    echo "Error: DEPENDENCIES.md does not exist."
+    exit 1
+fi
+
+# Generate current dependencies
+TEMP_FILE=$(mktemp)
+trap 'rm -f "$TEMP_FILE"' EXIT
+
+echo "Generating current dependencies list..."
+cargo license --color never --do-not-bundle --all-features >"$TEMP_FILE"
+
+# Update mode
+if [ "$MODE" = "update" ]; then
+    echo "Updating DEPENDENCIES.md..."
+    cp "$TEMP_FILE" DEPENDENCIES.md
+    echo "DEPENDENCIES.md has been updated."
+    exit 0
+fi
+
+# Check mode
+if [ "$MODE" = "check" ]; then
+    echo "Checking if DEPENDENCIES.md is up to date..."
+    if ! diff -q "$TEMP_FILE" DEPENDENCIES.md >/dev/null; then
+        echo "Error: DEPENDENCIES.md is out of date. Please run '$0 --update' 
to update it."
+        echo "Diff:"
+        diff -u DEPENDENCIES.md "$TEMP_FILE"
+        exit 1
+    else
+        echo "DEPENDENCIES.md is up to date."
+    fi
+fi

Reply via email to