e7e653a9e8
Два remote, таблица репозиториев и workflow push origin/github.
5.1 KiB
5.1 KiB
Политика репозиториев: 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 (origin)
- Полный исходный код, конфиги, allowlist-файлы, пароли, токены,
.env, ключи, keystore — всё, что нужно для развёртывания внутри сети. - Сюда делается обычная разработка:
git push origin 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 (один раз на машине)
# origin — Gitea (основной)
git remote add origin git@git.kalinamall.ru:PapaTramp/ИМЯ-РЕПО.git
# если origin уже указывает на GitHub:
# git remote rename origin github
# git remote add origin git@git.kalinamall.ru:PapaTramp/ИМЯ-РЕПО.git
# резерв на GitHub
git remote add github git@github.com:PTah/ИМЯ-НА-GITHUB.git
Проверка:
git remote -v
# origin git@git.kalinamall.ru:PapaTramp/... (fetch/push)
# github git@github.com:PTah/... (fetch/push)
Ежедневный workflow
# 1. Работа и пуш в основное хранилище
git add ...
git commit -m "..."
git push origin main
# 2. Резерв на GitHub — только после проверки, что нет секретов
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.