Skip to content

feat: изолированное preview-окружение для PR - #12

Merged
DanliaQwerty20 merged 2 commits into
mainfrom
feat/pr-preview-environment
Sep 15, 2026
Merged

DanliaQwerty20 merged 2 commits into
mainfrom
feat/pr-preview-environment

Conversation

@DanliaQwerty20

Copy link
Copy Markdown
Contributor

Ожидаемый результат

Каждый инфраструктурный pull request можно проверить в namespace portable-agent-pr-<number> с ограничениями ресурсов и сети, используя те же Helm charts, что и будущие окружения.

Что добавлено

  • отдельный charts/preview для Namespace, ResourceQuota, LimitRange и default-deny NetworkPolicy;
  • строгая JSON Schema для безопасного имени PR и срока жизни;
  • task preview:smoke PR=<number>;
  • одноразовый k3d smoke с тестовой установкой общего charts/service;
  • workflow Pull request preview smoke;
  • гарантированный cleanup только созданного кластера;
  • ADR 0005 и русская эксплуатационная документация.

TDD

  1. check-preview.ps1 сначала упал из-за отсутствующего preview chart;
  2. после ресурсов проверка потребовала единую Task-команду и снова была красной;
  3. добавлена минимальная команда и интеграция в общий quality gate;
  4. проверки стали зелёными.

Проверено локально

  • Helm 4.2.4 установлен через winget;
  • helm lint --strict и helm template для всех четырёх chart;
  • полный check-config.ps1;
  • docs и Compose quality gates;
  • Windows PowerShell 5.1 parser;
  • task --list и git diff --check.

Runtime k3d smoke выполнит новый check этого PR, потому что локальный Docker Engine выключен.

Ограничение текущего этапа

Это ephemeral CI-preview без публичного URL. Постоянный URL, TLS и TTL-controller требуют общего Kubernetes-кластера и будут отдельным решением.

@DanliaQwerty20
DanliaQwerty20 merged commit 314aa76 into main Sep 15, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant