# Политика репозиториев: 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.