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

5.6 KiB
Raw Blame History

Политика репозиториев: git.kalinamall.ru и GitHub

Для перечисленных проектов действует единая схема: основное хранилище — корпоративный Gitea, GitHub — резервная копия без секретов.

Репозитории

Проект Основной (Gitea) Резерв (GitHub)
reverse-proxy PapaTramp/reverse-proxy PTah/reverse-proxy
security-alert-center PapaTramp/security-alert-center PTah/security-alert-center
seaca PapaTramp/seaca резерв не ведётся (только Gitea)
rdp-login-monitor PapaTramp/rdp-login-monitor PTah/RDP-login-monitor
ssh-monitor PapaTramp/ssh-monitor PTah/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:

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

Один репозиторий:

./scripts/Set-GitRemotes.sh reverse-proxy

Windows:

cd Answer.and.other.shit\guides\init.new.comps
.\init-machine.ps1
.\scripts\Set-GitRemotes.ps1 -Repo reverse-proxy

Или вручную:

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

Проверка:

git remote -v
ssh -T git@git.kalinamall.lan
ssh -T git@git.papatramp.lan

Ежедневный workflow

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 / шаблоны с плейсхолдерами.

Клонирование новой машины

# предпочтительно — полная копия с секретами
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 — SSH-ключи и PAT для Gitea.