Skip to content

Commit c0ccd68

Browse files
committed
ref: project
1 parent db02371 commit c0ccd68

17 files changed

Lines changed: 2387 additions & 1039 deletions

.cargo/audit.toml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Advisories that cannot be resolved from this repository.
2+
#
3+
# Every entry below is reachable only through `ydb 0.10.1`, which pins its own
4+
# old `reqwest 0.11` (-> rustls 0.21 -> rustls-webpki 0.101) and
5+
# `jsonwebtoken 7.2` (-> ring 0.16). Nothing in this crate can override those.
6+
#
7+
# The fix is upgrading `ydb` (0.17.0 is current). That is a breaking API change:
8+
# `retry_transaction`, `retry_execute_scheme_query`, `retry_execute_bulk_upsert`,
9+
# `TransactionOptions` and both topic builders were all reworked, so db.rs,
10+
# producer.rs and consumer.rs need porting and integration testing first.
11+
#
12+
# Remove these entries as part of that upgrade — do not extend the list without
13+
# recording the same reasoning.
14+
#
15+
# Note: ignores are by advisory ID, not by version. rustls-webpki 0.103.x is
16+
# already updated past these three; the entries exist solely for the 0.101.7
17+
# copy pulled in by the old reqwest.
18+
19+
[advisories]
20+
ignore = [
21+
# ring 0.16.20 <- jsonwebtoken 7.2.0 <- ydb 0.10.1
22+
# AES functions may panic when overflow checking is enabled.
23+
"RUSTSEC-2025-0009",
24+
25+
# rustls-webpki 0.101.7 <- rustls 0.21.12 <- reqwest 0.11.27 <- ydb 0.10.1
26+
# Reachable panic parsing certificate revocation lists.
27+
"RUSTSEC-2026-0104",
28+
# Name constraints for URI names were incorrectly accepted.
29+
"RUSTSEC-2026-0098",
30+
# Name constraints accepted for certs asserting a wildcard name.
31+
"RUSTSEC-2026-0099",
32+
]

.dockerignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
11
.env
22
.HELP.md
3+
target
4+
.git
5+
.github
6+
.vscode
7+
.claude
8+
http
9+
README.md
10+
docker-compose.yaml

.github/workflows/ci.yaml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ on:
88
pull_request:
99
branches:
1010
- main
11+
# Advisories land independently of code changes, so re-run on a schedule to
12+
# catch new CVEs in dependencies that are already merged.
13+
schedule:
14+
- cron: "0 6 * * 1"
1115

1216
jobs:
1317
fmt:
@@ -41,7 +45,7 @@ jobs:
4145
uses: Swatinem/rust-cache@v2
4246

4347
- name: Run Clippy
44-
run: cargo clippy --all-targets --all-features -- -D warnings
48+
run: cargo clippy --all-targets --all-features --locked -- -D warnings
4549

4650
test:
4751
name: Tests
@@ -57,4 +61,25 @@ jobs:
5761
uses: Swatinem/rust-cache@v2
5862

5963
- name: Run tests
60-
run: cargo test --all-features
64+
run: cargo test --all-features --locked
65+
66+
audit:
67+
name: Security audit
68+
runs-on: ubuntu-latest
69+
steps:
70+
- name: Checkout code
71+
uses: actions/checkout@v4
72+
73+
- name: Install Rust toolchain
74+
uses: dtolnay/rust-toolchain@stable
75+
76+
- name: Install cargo-audit
77+
uses: taiki-e/install-action@v2
78+
with:
79+
tool: cargo-audit
80+
81+
# Fails on any vulnerability except those documented in .cargo/audit.toml.
82+
# Unmaintained-crate warnings are reported but do not gate merges, since
83+
# every current one is transitive through ydb.
84+
- name: Audit dependencies for known vulnerabilities
85+
run: cargo audit

0 commit comments

Comments
 (0)