This commit is contained in:
Mateusz Gruszczyński committed 2026-10-07 09:23:17 +02:00
1 parent cce1081f75
commit 2b8f11ef8c
36 files changed
+1868 -309

No files matched your search

+31 -18
View File
@@ -5,36 +5,49 @@ ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
for f in "$ROOT"/start.sh "$ROOT"/scripts/*.sh "$ROOT"/tests/*.sh; do
bash -n "$f"
done
python3 -m py_compile "$ROOT/scripts/generate-opnsense-repo.py"
# Main Linux builder.
grep -q 'FROM rockylinux:9' "$ROOT/Dockerfile"
grep -q 'dnf -y install --allowerasing' "$ROOT/Dockerfile"
grep -q 'python3.11' "$ROOT/Dockerfile"
grep -q 'RUST_PROXY_PYTHON=/usr/bin/python3.11' "$ROOT/Dockerfile"
grep -q 'nfpm package' "$ROOT/scripts/build-release.sh"
grep -q 'aptly .*publish' "$ROOT/scripts/build-release.sh"
grep -q 'createrepo_c' "$ROOT/scripts/build-release.sh"
grep -q 'current.new' "$ROOT/scripts/build-release.sh"
grep -q 'last_package_release' "$ROOT/scripts/build-release.sh"
grep -q 'repo add -force-replace' "$ROOT/scripts/build-release.sh"
grep -q '/run/package-builder/gnupg' "$ROOT/scripts/entrypoint.sh"
grep -q 'rustproxy-overview.json' "$ROOT/scripts/prepare-package.sh"
grep -q 'debian/${PACKAGE_NAME}.service' "$ROOT/scripts/prepare-package.sh"
grep -q 'private-key.asc' "$ROOT/start.sh"
grep -q 'docker compose' "$ROOT/start.sh"
grep -q 'Key-Type: RSA' "$ROOT/start.sh"
grep -q 'DEFAULT_HTTP_PORT=18765' "$ROOT/start.sh"
grep -q 'repository-http' "$ROOT/start.sh"
grep -Fq '${SOURCE_REPO:?SOURCE_REPO is required}' "$ROOT/docker-compose.yml"
# Integrated FreeBSD/OPNsense build.
grep -q 'FREEBSD_RELEASE=15.1-RELEASE' "$ROOT/Dockerfile"
grep -q 'x86_64-unknown-freebsd' "$ROOT/Dockerfile"
grep -q '/opt/freebsd-sysroot' "$ROOT/Dockerfile"
grep -q 'build-opnsense.sh' "$ROOT/scripts/build-release.sh"
grep -q 'package-opnsense.sh' "$ROOT/scripts/build-release.sh"
grep -q 'generate-opnsense-repo.py' "$ROOT/scripts/build-release.sh"
grep -q 'OPNSENSE_REPOSITORY_URL' "$ROOT/scripts/entrypoint.sh"
grep -q 'OPNSENSE_RETENTION' "$ROOT/scripts/entrypoint.sh"
test -f "$ROOT/opnsense/plugin/src/etc/rc.d/rustproxy"
test -f "$ROOT/opnsense/patches/0.20.0/0001-opnsense-build.patch"
# One atomic switch exposes Linux and OPNsense together.
grep -q 'current.new' "$ROOT/scripts/build-release.sh"
grep -q 'current/opnsense' "$ROOT/scripts/init-storage.sh"
grep -q 'last_opnsense_package_version' "$ROOT/scripts/build-release.sh"
# Two public endpoints from one nginx container.
grep -Fq '${REPOSITORY_URL:?REPOSITORY_URL is required}' "$ROOT/docker-compose.yml"
grep -q 'nginxinc/nginx-unprivileged:stable-alpine-slim' "$ROOT/docker-compose.yml"
grep -q 'read_only: true' "$ROOT/docker-compose.yml"
grep -q 'no-new-privileges:true' "$ROOT/docker-compose.yml"
grep -q 'cap_drop:' "$ROOT/docker-compose.yml"
grep -Fq '${OPNSENSE_REPOSITORY_URL:?OPNSENSE_REPOSITORY_URL is required}' "$ROOT/docker-compose.yml"
grep -Fq '0.0.0.0:${HTTP_PORT:-18765}:8080' "$ROOT/docker-compose.yml"
grep -q 'server_tokens off' "$ROOT/http/nginx.conf"
grep -Fq '0.0.0.0:${OPNSENSE_HTTP_PORT:-18766}:8081' "$ROOT/docker-compose.yml"
grep -q 'listen 8080' "$ROOT/http/nginx.conf"
grep -q 'listen 8081' "$ROOT/http/nginx.conf"
grep -q 'root /srv/repository/opnsense' "$ROOT/http/nginx.conf"
grep -q 'GET|HEAD' "$ROOT/http/nginx.conf"
grep -q 'autoindex off' "$ROOT/http/nginx.conf"
grep -q 'X-Content-Type-Options' "$ROOT/http/nginx.conf"
grep -q 'healthz' "$ROOT/http/nginx.conf"
# start.sh and example configuration expose both URLs/ports.
grep -q 'DEFAULT_HTTP_PORT=18765' "$ROOT/start.sh"
grep -q 'DEFAULT_OPNSENSE_HTTP_PORT=18766' "$ROOT/start.sh"
grep -q 'OPNSENSE_REPOSITORY_URL=https://opn-rustproxy.linuxiarz.pl' "$ROOT/.env.example"
echo 'static checks: OK'