Files
reverse-proxy/docs/repo-policy.md
T
2026-06-16 11:40:58 +10:00

115 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Политика репозиториев: git.kalinamall.ru и GitHub
Для перечисленных проектов действует единая схема: **основное хранилище — корпоративный Gitea**, **GitHub — резервная копия без секретов**.
## Репозитории
| Проект | Основной (Gitea) | Резерв (GitHub) |
|--------|------------------|-----------------|
| reverse-proxy | [PapaTramp/reverse-proxy](https://git.kalinamall.ru/PapaTramp/reverse-proxy) | [PTah/reverse-proxy](https://git.kalinamall.ru/PapaTramp/reverse-proxy) |
| security-alert-center | [PapaTramp/security-alert-center](https://git.kalinamall.ru/PapaTramp/security-alert-center) | [PTah/security-alert-center](https://git.kalinamall.ru/PapaTramp/security-alert-center) |
| seaca | [PapaTramp/seaca](https://git.kalinamall.ru/PapaTramp/seaca) | резерв не ведётся (только Gitea) |
| rdp-login-monitor | [PapaTramp/rdp-login-monitor](https://git.kalinamall.ru/PapaTramp/rdp-login-monitor) | [PTah/RDP-login-monitor](https://git.kalinamall.ru/PapaTramp/RDP-login-monitor) |
| ssh-monitor | [PapaTramp/ssh-monitor](https://git.kalinamall.ru/PapaTramp/ssh-monitor) | [PTah/ssh-monitor](https://git.kalinamall.ru/PapaTramp/ssh-monitor) |
**seaca** — мобильное приложение; публичного зеркала на GitHub нет. При необходимости можно создать отдельный репозиторий **без** `google-services.json`, keystore, API-ключей и prod-конфигов.
## Правила
### git.kalinamall.ru (remote **kalinamall**)
- Полный исходный код, конфиги, allowlist-файлы, пароли, токены, `.env`, ключи, keystore — **всё, что нужно для развёртывания внутри сети**.
- Сюда делается обычная разработка: `git push kalinamall main`.
- Доступ только из корпоративной сети / allowlist.
### GitHub (remote `github`)
- Только **резерв** исходников и документации.
- **Запрещено** коммитить и пушить:
- пароли, PIN, учётные записи;
- API-токены, PAT, JWT-секреты, `SECRET_KEY`, `DATABASE_URL` с паролем;
- приватные ключи (`*.pem`, `*.key`, `id_rsa`, keystore, `*.jks`, `*.p12`);
- `.env`, `.env.local`, `*.secret`, `credentials.json`, `google-services.json` (prod);
- файлы с реальными SMTP/Telegram/SAC credentials;
- дампы БД с персональными или служебными данными.
- Допустимо: примеры конфигов (`*.example`, `*.sample`, `env.example`), код, README, схемы без секретов.
- Перед `git push github` — просмотр `git diff github/main` или `git log -p` на предмет утечек.
## Настройка remotes (один раз на машине)
Только **SSH**, три имени — **`Answer.and.other.shit/guides/init.new.comps`**:
```bash
git clone ssh://git@git.kalinamall.ru:2222/PapaTramp/Answer.and.other.shit.git
cd Answer.and.other.shit/guides/init.new.comps
cp config/workspace.local.env.example config/workspace.local.env
./init-machine.sh
```
Один репозиторий:
```bash
./scripts/Set-GitRemotes.sh reverse-proxy
```
Windows:
```powershell
cd Answer.and.other.shit\guides\init.new.comps
.\init-machine.ps1
.\scripts\Set-GitRemotes.ps1 -Repo reverse-proxy
```
Или вручную:
```bash
git remote add kalinamall ssh://git@git.kalinamall.lan:2222/PapaTramp/reverse-proxy.git
git remote add home ssh://git@git.papatramp.lan:2222/PapaTramp/reverse-proxy.git
git remote add github git@github.com:PTah/reverse-proxy.git
git branch -u kalinamall/main main
```
Проверка:
```bash
git remote -v
ssh -T git@git.kalinamall.lan
ssh -T git@git.papatramp.lan
```
## Ежедневный workflow
```bash
git add ...
git commit -m "..."
git push kalinamall main # основной (корпоративный Gitea)
git push home main # копия на papatramp
git push github main # резерв — только без секретов
```
Для **seaca** и любых репозиториев без `github` remote — только шаг 1.
## Что хранить только в Gitea (примеры по проектам)
| Проект | Только в Gitea |
|--------|----------------|
| reverse-proxy | `git-sac-allowed`, `1c-allowed` (при желании), внутренние IP/пути |
| security-alert-center | `.env`, `SECRET_KEY`, пароль PostgreSQL, SMTP, Telegram bot token |
| seaca | prod URL, токены, `google-services.json`, signing keys |
| rdp-login-monitor | пароли WinRM, Telegram/SMTP, SAC registration tokens |
| ssh-monitor | `sacmob_*`, Telegram, SMTP, списки банов с чувствительным контекстом |
На GitHub для мониторов и SAC оставляют `*.example` / шаблоны с плейсхолдерами.
## Клонирование новой машины
```bash
# предпочтительно — полная копия с секретами
git clone git@git.kalinamall.ru:PapaTramp/reverse-proxy.git
# с GitHub — только если Gitea недоступен; секреты восстановить вручную из Gitea или vault
git clone git@github.com:PTah/reverse-proxy.git
```
См. также [git.md](git.md) — SSH-ключи и PAT для Gitea.