Dmitry Gusev a3ac273b90
Some checks failed
deploy / deploy (push) Has been cancelled
security / security (push) Has been cancelled
fix(security): GitLeaks allowlist + Dockerfile DL4006 + npm audit в CI
GitLeaks: 8 false-positives на vgrf_ru (IndexNow public key + legacy
WP plugin code) — добавлен .gitleaks.toml с allowlist:
- public/<32hex>.txt + корневой <32hex>.txt (IndexNow validation files)
- wp-content/** (legacy WordPress plugin code, не настоящие секреты)
- const KEY = '<32hex>' паттерн

Hadolint DL4006: добавлен SHELL pipefail в начале каждой stage.

npm audit: убран из Dockerfile (там кэшировался Docker layer'ом и
по факту не запускался при unchanged package-lock.json). Вынесен в
.gitea/workflows/security.yml как отдельный job — каждый push, реально.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 18:54:10 +03:00
2026-05-22 04:24:25 +03:00

pitstopavto.su

Сайт-визитка магазина автозапчастей «ПитСтоп». Редизайн с WordPress на статический Astro 5.

Production: https://pitstopavto.su

Mirror. Source-of-truth: git.striker.su/striker/pitstopavto-su-v2. Этот репозиторий на GitHub — резервная копия.

Стек

  • Astro 5 SSG — две страницы: / и /privacy/
  • nginx:1.29-alpine в runtime-контейнере
  • IBM Plex Sans (через @fontsource/ibm-plex-sans)
  • @astrojs/sitemapsitemap-index.xml автоматически

Деплой

git push → Gitea Actions (.gitea/workflows/deploy.yml) → SSH на web.hhivp.com:

  1. git pull --ff-only в /opt/docker/sites/pitstopavto-su-v2
  2. docker compose build
  3. Trivy scan (HIGH/CRITICAL, warning-only)
  4. docker compose up -d → healthcheck http://127.0.0.1:4147/
  5. IndexNow ping (Яндекс + Bing)
  6. docker image prune -af --filter "until=168h"

Контейнер pitstopavto-su-v2:4147 за хостовым nginx.

Security

См. SECURITY.md — Layer A+B+C:

  • A (на push): Trivy + npm audit
  • B (weekly): Nuclei DAST
  • C (на push + MR): Hadolint + GitLeaks + Semgrep

Я.Метрика № 47169531 (с Webvisor) и GA GT-WRF7ZZ8 подключаются только после клика «Принять» в баннере src/components/CookieConsent.astro.

IndexNow

Ключ: 901a779d62ca4702ad810c863b45e1f7 Скрипт: scripts/indexnow.js запускается из CI после healthcheck.

Локальная разработка

npm install
npm run dev      # → http://localhost:4321
npm run build    # → dist/
npm run preview

История

  • 2026-05-22: v2 — Astro 5, миграция с WP-стенда «Мы переехали».
  • 2026-05-23: WP-стенд удалён, бэкап /opt/backup/pitstopavto-pre-removal-*.

Контакты

Description
������������ ������� � ����-������� (Astro 5, ������ WordPress)
Readme 142 KiB
Languages
Astro 59.4%
CSS 23%
JavaScript 8.9%
TypeScript 6.1%
Dockerfile 2.6%