Files
reverse-proxy/docs/repo-policy.md
T
Andrey Lutsenko 834595df6b feat: workspace-bootstrap — init SSH/git/Cursor для Mac и Windows
Единый workspace.local.env для адресов и паролей, init-machine,
Set-GitRemotes, push-safe и check-no-secrets для политики kalinamall/github.
2026-06-14 19:34:52 +10:00

5.7 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, три имени — скрипт scripts/workspace-bootstrap (Mac/Linux: Set-GitRemotes.sh, Windows: Set-GitRemotes.ps1):

cd ~/Documents/Cursor/Projects/reverse-proxy/scripts/workspace-bootstrap
cp config/workspace.local.env.example config/workspace.local.env
# заполнить workspace.local.env
./init-machine.sh

Или для одного репо:

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

Windows:

cd C:\Users\papat\Projects\reverse-proxy\scripts\workspace-bootstrap
.\init-machine.ps1
..\scripts\Set-GitRemotes.ps1 -Repo reverse-proxy

Старый вариант (Answer.and.other.shit) — переносится в scripts/workspace-bootstrap.

Или вручную:

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.