deer-flow/scripts/check_chart_skill_upload_size.sh
PeaceMaker-best 72ba661b84
feat(skills): install local skill archives (#5039)
* feat(skills): install local skill archives

Signed-off-by: PeaceMaker-best <221849497+PeaceMaker-best@users.noreply.github.com>

* fix(skills): enforce upload limits before parsing

* fix(nginx): scope skill upload limit to upload route

* fix(nginx): harden skill upload proxy handling

* fix(skills): improve archive upload feedback

* fix(skills): address upload review polish

---------

Signed-off-by: PeaceMaker-best <221849497+PeaceMaker-best@users.noreply.github.com>
Co-authored-by: PeaceMaker-best <221849497+PeaceMaker-best@users.noreply.github.com>
2026-08-31 15:22:45 +08:00

27 lines
1013 B
Bash
Executable File

#!/usr/bin/env bash
# Assert the rendered outer Ingress preserves the Gateway's .skill upload policy.
set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
rendered="$(mktemp)"
trap 'rm -f "$rendered"' EXIT
helm template deer-flow "$repo_root/deploy/helm/deer-flow" --include-crds >"$rendered"
if ! grep -Eq 'nginx\.ingress\.kubernetes\.io/proxy-body-size: "?101m"?[[:space:]]*$' "$rendered"; then
echo "Rendered Ingress must allow 101m for 100 MiB .skill uploads plus multipart framing." >&2
exit 1
fi
if ! grep -Eq 'nginx\.ingress\.kubernetes\.io/proxy-request-buffering: "?off"?[[:space:]]*$' "$rendered"; then
echo "Rendered Ingress must stream .skill uploads without request buffering." >&2
exit 1
fi
if ! grep -Eq 'nginx\.ingress\.kubernetes\.io/proxy-read-timeout: "?600"?[[:space:]]*$' "$rendered"; then
echo "Rendered Ingress must allow 600 seconds for .skill upload validation." >&2
exit 1
fi
echo "Chart skill-upload ingress policy check passed."