docs(registry): document Russian Gitea contour and backup evidence

This commit is contained in:
igor04091968
2026-06-21 05:11:42 +03:00
parent 8b25ec345e
commit 4ba055fcdf
12 changed files with 646 additions and 2 deletions
@@ -0,0 +1,81 @@
# Runbook: backup и restore Gitea
Статус: registry-readiness runbook. Документ фиксирует целевую схему backup
для self-hosted Gitea AWatch-rus. Backup нельзя считать production-ready до
успешного тестового восстановления на отдельном сервере.
## Параметры backup-контура
| Параметр | Значение |
| --- | --- |
| Backup path | `/var/backups/gitea` |
| Backup script | `/usr/local/sbin/awatch-gitea-backup.sh` |
| systemd service | `awatch-gitea-backup.service` |
| systemd timer | `awatch-gitea-backup.timer` |
| Schedule target | daily `03:20` with `RandomizedDelaySec=10m` |
| Backup format | Gitea dump ZIP |
| Checksum | SHA256 |
| Retention | 14 days |
Целевой backup script использует `gitea dump`, создает ZIP backup и отдельный
SHA256 checksum. Каталог `/var/backups/gitea` должен быть доступен только
административным пользователям, обслуживающим Gitea backup.
## Проверка timer
```bash
systemctl status awatch-gitea-backup.timer --no-pager
systemctl list-timers awatch-gitea-backup.timer --no-pager
```
## Проверка результата backup
```bash
ls -lh /var/backups/gitea
sha256sum -c /var/backups/gitea/<backup>.zip.sha256
```
Имя backup-файла должно включать timestamp или иной однозначный идентификатор
запуска. Retention target - 14 days.
## Restore outline
Restore является ручной процедурой и требует тестового восстановления на
отдельном сервере перед признанием backup production-ready.
Общий порядок:
1. Подготовить отдельный сервер или isolated test instance.
2. Установить совместимую версию Gitea.
3. Остановить Gitea на целевом тестовом сервере.
4. Проверить SHA256 checksum выбранного ZIP backup.
5. Выполнить восстановление из `gitea dump` согласно официальной процедуре
Gitea для используемой версии.
6. Проверить права на каталоги, repository storage, database, custom config и
attachments.
7. Запустить Gitea.
8. Выполнить post-restore checks.
9. Зафиксировать timestamp, backup filename, checksum, Gitea version,
restore duration и результат проверки.
## Post-restore checks
```bash
systemctl status gitea --no-pager
curl -L https://git.iri1968.dpdns.org | head
gitea doctor check
```
Если менялся путь установки или сервер переносился, выполнить:
```bash
gitea admin regenerate hooks
```
## Ограничения
- Restore-runbook не заменяет фактический restore test.
- Backup не должен считаться production-ready, пока restore не проверен на
отдельном сервере.
- Offsite copy должна быть описана отдельно до финальной подачи в реестр.
- Секреты, токены и приватные ключи не включаются в backup evidence manifest.
@@ -0,0 +1,83 @@
# Runbook: российский Git-контур и зеркалирование
Статус: operational registry-readiness runbook. Команды ниже описывают
целевую схему remotes для работы с российским self-hosted Gitea и публичным
GitHub mirror.
## Целевая схема remotes
Primary Russian Git contour:
```text
ru-origin:
https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus.git
```
Public mirror / external public repository:
```text
github:
git@github.com:igor04091968/AWatch-rus.git
```
или:
```text
github:
https://github.com/igor04091968/AWatch-rus.git
```
GitHub = public mirror only. GitHub не должен описываться как primary
registry source/build system или как целевой source/build/release contour
для registry-readiness.
## Базовые команды
Проверить текущие remotes:
```bash
git remote -v
```
Добавить российский remote:
```bash
git remote add ru-origin https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus.git
```
Запушить основную ветку:
```bash
git push ru-origin main
```
Запушить теги:
```bash
git push ru-origin --tags
```
## Операционные предупреждения
- При работе через HTTPS использовать Gitea token/password согласно настройкам
Gitea.
- SSH-ключи для Gitea настраиваются отдельно и не должны храниться в
репозитории.
- GitHub остается публичным зеркалом и внешней площадкой; он не является
primary registry source/build system в registry-readiness документации.
- Перед release evidence фиксировать `git remote -v`, commit hash, tag,
timestamp и источник сборки.
- Любые секреты, токены, приватные ключи и персональные данные не включать в
repository evidence.
## Проверка HTTPS-контра
Ожидаемый публичный URL:
```text
https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus
```
Gitea должна обслуживаться через Nginx reverse proxy с HTTPS. После проверки
HTTPS внешний `3000/tcp` не должен быть доступен извне; локальный endpoint
Gitea фиксируется как `127.0.0.1:3000`.
@@ -0,0 +1,41 @@
# Installation and test instance
Статус: registry-readiness document. Документ фиксирует минимальные требования
к тестовому стенду для экспертной проверки. Он не меняет runtime, API, UI или
deployment behavior продукта.
## Назначение тестового стенда
Тестовый стенд должен позволить проверить:
- получение исходного кода из российского Git-контура;
- воспроизводимость сборки по документированной процедуре;
- базовую установку AWatch-rus;
- отсутствие необходимости в cloud dependency для работы продукта;
- сбор release evidence и infrastructure evidence.
## Git source
Целевой источник для registry-readiness:
```text
https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus
```
GitHub допускается как public mirror only и не должен описываться как primary
registry source/build/release contour.
## Проверки до признания стенда готовым
- Подтвержден доступ к self-hosted Gitea по HTTPS.
- Подтвержден commit hash и tag, если используется tagged release.
- Подтверждена процедура сборки из исходного кода.
- Подтверждено, что секреты и персональные данные не входят в test package.
- Подтверждено, что backup/restore runbook для Gitea доступен в
`docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md`.
## Оставшиеся пробелы
Перед финальной подачей требуется отдельно зафиксировать российский
build-runner, storage release artifacts в РФ, access control policy и
результат тестового восстановления Gitea backup на отдельном сервере.
+64
View File
@@ -0,0 +1,64 @@
# Lifecycle and support
Статус: registry-readiness document. Документ описывает целевой жизненный цикл
исходного кода, backup и evidence collection для AWatch-rus.
## Source code lifecycle
Целевой lifecycle исходного кода для registry-readiness проходит через
self-hosted Gitea:
```text
https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus
```
Роль Gitea: target primary Russian Git contour for registry-readiness.
Роль GitHub: public mirror only / external public repository.
Перед release или registry evidence package фиксируются:
- commit hash;
- tag, если применимо;
- список remotes;
- источник сборки;
- ответственный за выпуск;
- timestamp evidence.
## Backup lifecycle
Backup lifecycle для Gitea:
- tool: `gitea dump`;
- path: `/var/backups/gitea`;
- format: ZIP;
- checksum: SHA256;
- retention target: 14 days;
- timer: `awatch-gitea-backup.timer`;
- schedule target: daily `03:20` with `RandomizedDelaySec=10m`.
Backup нельзя считать production-ready без тестового восстановления на
отдельном сервере. Offsite copy должна быть описана отдельно.
## Restore responsibility
Restore Gitea является ручной административной процедурой. Ответственный за
restore должен:
- выбрать backup ZIP;
- проверить SHA256 checksum;
- выполнить restore на отдельном test server до использования процедуры в
production;
- выполнить post-restore checks;
- зафиксировать результат и timestamp.
## Evidence collection before releases
Перед выпуском или передачей registry-readiness пакета собрать:
- Gitea HTTPS evidence;
- service status evidence;
- firewall evidence по внешнему `3000/tcp`;
- backup ZIP + SHA256 evidence;
- состояние `awatch-gitea-backup.timer`;
- сведения о правах доступа;
- ссылку на restore-runbook и результат restore test, если он уже выполнен.
@@ -0,0 +1,49 @@
# AWatch-rus: readiness для реестра российского ПО
Статус: подготовительный документ. Документ фиксирует текущее состояние
registry-readiness пакета и не является юридическим заключением о готовности
подачи или принятия AWatch-rus в реестр российского ПО.
## Назначение
Документ нужен для внутренней подготовки пакета сведений о продукте,
исходном коде, инфраструктуре хранения, выпуске, резервном копировании и
оставшихся пробелах перед финальной юридической проверкой.
Новые сведения по российскому Git-контуру требуют финального подтверждения
правообладателем и внесения в официальный пакет документов перед подачей.
## Текущее состояние
Done / partially done:
- Развернут целевой российский Git-контур для registry-readiness.
- Развернута self-hosted Gitea на REG.RU VPS / cloud server.
- Репозиторий AWatch-rus мигрирован в Gitea:
`https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus`.
- HTTPS для Gitea включен через Nginx reverse proxy.
- Начат backup-контур Gitea на базе `gitea dump`, ZIP-архивов,
SHA256 checksum и целевого systemd timer.
- GitHub описывается как public mirror only, не как target primary
source/build/release contour для registry-readiness.
## Что еще требуется
- Финальное подтверждение правообладателя.
- Российский build-runner или документированная российская сборочная среда.
- Хранение release artifacts на территории РФ или отдельное подтверждение
выбранной схемы хранения.
- Протестированная restore-процедура Gitea на отдельном сервере.
- Документированная access control policy для Gitea.
- Документированная offsite copy для backup-архивов.
- Финальная юридическая проверка registry package.
## Ограничения формулировок
AWatch-rus не заявляется как сертифицированное средство защиты информации,
сертифицированная DLP, SIEM или замена штатным средствам ИБ. В текущем пакете
не фиксируется наличие сертификации ФСТЭК или ФСБ.
REG.RU/Gitea контур сам по себе не является юридически достаточным
доказательством для реестра. Он рассматривается как инфраструктурная часть
registry-readiness и должен быть подтвержден в официальном пакете документов.
@@ -0,0 +1,35 @@
# Registry readiness changelog
## 2026-06-20 / 2026-06-21
Added:
- REG.RU/Gitea Russian Git contour documentation.
- Self-hosted Gitea repository reference:
`https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus`.
- GitHub role as public mirror only.
- Gitea backup/restore runbook.
- Registry evidence manifest updates for Gitea, backup ZIP, SHA256 checksum,
systemd timer and restore status.
- Registry readiness check script for the new `docs/registry/` package.
Changed:
- README now contains a short Registry-readiness infrastructure block.
Runtime impact:
- No runtime/product code changes.
- No API changes.
- No UI changes.
- Rust/runtime checks not required: documentation-only change.
Remaining gaps:
- Legal rightsholder confirmation.
- Russian build-runner.
- Release artifacts storage in RF.
- Tested restore procedure.
- Documented access control policy.
- Documented backup offsite copy.
- Final registry legal review.
@@ -0,0 +1,44 @@
# Release evidence manifest
Статус: registry-readiness document. Документ описывает состав evidence,
который должен прикладываться к релизу или экспертному пакету. Он не
подтверждает юридическую достаточность evidence для реестра российского ПО.
## Infrastructure evidence
Для российского Git-контура и backup-контура фиксировать:
- Gitea URL: `https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus`.
- Provider: REG.RU VPS / cloud server.
- Platform: self-hosted Gitea.
- HTTPS evidence для `https://git.iri1968.dpdns.org`.
- Nginx reverse proxy evidence.
- Firewall evidence: внешний `3000/tcp` не должен быть открыт после HTTPS
validation.
- Service status evidence: `gitea`, `nginx`, `awatch-gitea-backup.timer`.
- Backup ZIP evidence из `/var/backups/gitea`.
- SHA256 checksum evidence для backup ZIP.
- Restore-runbook reference:
`docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md`.
- Timestamped evidence file, если он будет предоставлен владельцем.
## Source evidence
Фиксировать:
- primary source repository:
`https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus`;
- GitHub role: public mirror only;
- commit hash;
- tag, если релиз выпускается по tag;
- `git remote -v`;
- список измененных файлов для релиза;
- manifest JSON:
`docs/registry/registry-evidence-manifest.json`.
## Build/release evidence
Для финального registry package дополнительно требуется подтвердить российский
build-runner и storage release artifacts в РФ или документировать принятую
владельцем схему. До этого нельзя утверждать, что source/build/release contour
полностью закрыт для подачи.
@@ -0,0 +1,47 @@
# Исходный код и инфраструктура сборки AWatch-rus
Статус: registry-readiness document. Документ описывает текущую целевую
инфраструктуру хранения исходного кода и связанные ограничения. Он не
фиксирует юридическую завершенность подачи в реестр российского ПО.
## Текущий российский Git-контур
| Параметр | Значение |
| --- | --- |
| Provider | REG.RU VPS / cloud server |
| Platform | self-hosted Gitea |
| URL | `https://git.iri1968.dpdns.org` |
| Organization | `awatch-rus` |
| Repository | `https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus` |
| Role | target primary Russian Git contour for registry-readiness |
| GitHub role | public mirror only / external public repository |
| HTTPS | enabled |
| Reverse proxy | Nginx reverse proxy |
| Gitea local HTTP endpoint | `127.0.0.1:3000` |
| External port policy | external `3000/tcp` should not be exposed after HTTPS validation |
GitHub = public mirror only. GitHub не должен описываться как primary
registry source/build/release contour для registry-readiness. Он может
использоваться как публичное зеркало и внешняя площадка, но целевой российский
контур хранения исходного кода для подготовки к реестру зафиксирован в Gitea.
## Сборочный контур
Текущий документ фиксирует Git-контур хранения исходного кода. Российский
build-runner, release artifact storage в РФ и выпускные процедуры должны быть
описаны отдельно до финальной подачи.
До завершения этой части нельзя утверждать, что российский source/build/release
contour полностью закрыт. Допустимая формулировка: "развернут целевой
российский Git-контур для registry-readiness".
## Требования к подтверждению
Перед включением сведений в официальный пакет документов необходимо собрать:
- подтверждение владельца инфраструктуры и правообладателя;
- состояние Gitea service и Nginx;
- подтверждение HTTPS endpoint;
- подтверждение, что внешний `3000/tcp` не экспонируется после проверки HTTPS;
- список remotes рабочей копии;
- evidence по backup ZIP, SHA256 checksum и systemd timer.
@@ -0,0 +1,53 @@
{
"schema_version": 1,
"product": "AWatch-rus",
"status": "registry-readiness infrastructure evidence manifest",
"updated_at": "2026-06-21",
"primary_source_repository": "https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus",
"primary_git_platform": "self-hosted Gitea",
"primary_git_provider": "REG.RU VPS / cloud server",
"github_role": "public_mirror_only",
"infrastructure": {
"git_url": "https://git.iri1968.dpdns.org",
"organization": "awatch-rus",
"repository": "https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus",
"https_enabled": true,
"reverse_proxy": "Nginx",
"gitea_local_http_endpoint": "127.0.0.1:3000",
"external_3000_tcp_expected_exposed": false,
"legal_sufficiency_confirmed": false
},
"backup": {
"enabled": true,
"tool": "gitea dump",
"path": "/var/backups/gitea",
"script": "/usr/local/sbin/awatch-gitea-backup.sh",
"format": "zip",
"checksum": "sha256",
"retention_days": 14,
"systemd_service": "awatch-gitea-backup.service",
"systemd_timer": "awatch-gitea-backup.timer",
"schedule_target": "daily 03:20 with RandomizedDelaySec=10m",
"restore_runbook": "docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md",
"restore_tested": false,
"production_ready": false
},
"github_role_note": "GitHub is a public mirror only, not the target primary source/build/release contour for registry-readiness.",
"remaining_gaps": [
"legal rightsholder confirmation",
"Russian build-runner",
"release artifacts storage in RF",
"tested restore procedure",
"documented access control policy",
"documented backup offsite copy",
"final registry legal review"
],
"forbidden_claims_not_made": [
"FSTEC/FSB certification",
"SIEM replacement",
"DLP replacement",
"ML/LLM-based detection",
"cloud dependency",
"automatic remediation"
]
}