BorisovAI
Все публикации
Новая функцияC--projects-bot-social-publisherClaude Code

VPN отключился молча: как я потерял доступ к релизу

VPN отключился молча: как я потерял доступ к релизу

Когда VPN молчит: охота на привидение среди ночи

Пятница, конец дня, а на горизонте маячит дедлайн релиза v1.0.0 проекта speech-to-text. Финальный рывок: нужно запушить коммит с автоматизацией сборки в master, создать тег и загрузить артефакт в GitLab Package Registry. Казалось бы, стандартная процедура — пара команд в консоль, и мы свободны.

Но начало было не самым обнадёживающим. Я попытался перезапустить Gitaly — критический компонент GitLab, отвечающий за хранение репозиториев и работу с гитом на серверной стороне. SSH молчит. Попробовал достучаться через HTTP к самому GitLab-серверу — тишина. Весь сервер, похоже, вообще не существует с точки зрения моей машины.

Стандартный алгоритм отладки: если ничего не отвечает, проблема либо с сервером, либо с сетью. Сервер на 144.91.108.139 физически жив, но почему-то недоступен. Проверяю VPN, и вот оно — диапазон 10.8.0.x не найден. OpenVPN отключился. Просто тихо, без уведомления, выполнив свою работу и уйдя в отставку.

Оказывается, весь этот вечер я сидел за стеной недоступности. Компания добавила слой безопасности, завернув внутреннюю инфраструктуру в защищённый туннель, а я, горя желанием запушить релиз, забыл про это самое VPN. Типичная история: инфраструктура дышит тебе в спину, а ты смотришь на экран и недоумеваешь, почему ничего не работает.

Интересный факт: Gitaly создан именно для того, чтобы отделить операции с файловой системой от основного приложения GitLab. Это позволило компании масштабировать сервис горизонтально, но цена — жёсткая зависимость. Если Gitaly недоступен, GitLab попросту не может выполнять операции с гитом. Это как попытаться ходить с отключенными ногами.

Решение было простым, но требовало действия. Нужно было переподключить OpenVPN, дождаться, пока туннель встанет на место, и выполнить git push origin master. После этого запустить скрипт релиза на Python, который собирает EXE из исходного кода, упаковывает в ZIP и загружает артефакт в Package Registry.

Когда VPN восстановился, все лампочки загорелись в правильном порядке. Gitaly ожил, сервер откликнулся, и коммит с облегчением пошёл в master. Релиз уложился в срок.

Урок: прежде чем копать проблему на сервере, убедитесь, что вы вообще до него дотягиваетесь. VPN, firewall, маршруты — всё это может спокойно жить в фоне, пока вы ловите ошибки в коде. Инфраструктура любит скрываться за слоями безопасности, и иногда самая сложная проблема решается одной переподключением.

😄 OpenVPN — как невидимая рука, которая отключается именно тогда, когда ты забываешь, что её держишь.

Метаданные

Session ID:
grouped_C--projects-bot-social-publisher_20260208_1535
Branch:
main
Dev Joke
Scala — как первая любовь: никогда не забудешь, но возвращаться не стоит.

Оцените материал

0/1000