Added optional validation rate limiting via --validation-rps (global) and repeatable --validation-rps-rule <RULE_SELECTOR=RPS> (per-rule override) for both scan and validate. Throttling now applies across built-in validator types (HTTP/gRPC plus AWS, GCP, Coinbase, MongoDB, Postgres, MySQL, JDBC, JWT, and Azure Storage). Rule selectors support the short form (for example, github=2 matches kingfisher.github.*) with longest-prefix precedence when multiple selectors apply.

This commit is contained in:
Mick Grove 2026-02-12 13:15:51 -08:00
commit 60c72292c7
3 changed files with 6 additions and 34 deletions

View file

@ -47,8 +47,10 @@ jobs:
shared-key: kingfisher-${{ runner.os }}-${{ runner.arch }}
save-if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
- name: Build and test (Makefile linux-arm64)
- name: Build (Makefile linux-arm64)
run: make linux-arm64
- name: Run tests
run: make tests
macos-arm64:
name: macOS arm64

View file

@ -245,7 +245,7 @@ system-alloc = [] # forces System allocator
pretty_assertions = "1.4"
temp-env = "0.3.6"
wiremock = "0.6.5"
git2 = "0.20.3"
git2 = { version = "0.20.3", default-features = false }
rand_chacha = "0.9.0"
testcontainers = "0.15.0"

View file

@ -259,7 +259,7 @@ linux-x64: check-docker create-dockerignore
xz-dev xz-static \
boost-dev linux-headers \
patch perl ragel \
git openssl-dev curl && \
git curl && \
\
cargo test --workspace --all-targets ; \
\
@ -276,37 +276,7 @@ linux-x64: check-docker create-dockerignore
'
$(MAKE) list-archives
linux-arm64: check-docker create-dockerignore
@mkdir -p target/release
docker run --platform linux/arm64 --rm \
-e CARGO_HOME=/src/.cargo-home \
-v "$$(pwd):/src" -w /src rust:1.92-alpine sh -eu -c '\
mkdir -p /src/.cargo-home && \
apk add --no-cache \
musl-dev \
gcc g++ make cmake pkgconfig \
zlib-dev zlib-static \
bzip2-dev bzip2-static \
xz-dev xz-static \
boost-dev linux-headers \
patch perl ragel \
git openssl-dev curl && \
\
rustup target add aarch64-unknown-linux-musl && \
\
cargo test --workspace --all-targets ; \
\
export PKG_CONFIG_ALLOW_CROSS=1 ; \
export RUSTFLAGS="-C target-feature=+crt-static" ; \
\
cargo build --release --target aarch64-unknown-linux-musl && \
\
cd target/aarch64-unknown-linux-musl/release && \
sha256sum kingfisher > CHECKSUM.txt && \
tar -czf /src/target/release/kingfisher-linux-arm64.tgz \
kingfisher CHECKSUM.txt \
'
$(MAKE) list-archives
linux-arm64: ubuntu-arm64
# ============= AGGREGATE TARGETS =============