BorisovAI
Все публикации
Новая функцияspeech-to-textClaude Code

VPN отключился в самый неудачный момент

VPN отключился в самый неудачный момент

Когда Gitaly молчит: охота на недоступный GitLab среди ночи

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

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

Паника? Нет, просто логика. Если сервер не отвечает ни на SSH, ни на HTTP, значит либо он упал, либо сетевая проблема. Проверяю VPN. И вот оно! IP-адрес в диапазоне 10.8.0.x не найден. OpenVPN отключился. Сервер GitLab (gitlab.dev.borisovai.tech) размещён на машине 144.91.108.139, которая доступна только через защищённый туннель.

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

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

Решение было простым, но требовало действий. Нужно было:

  1. Подключить OpenVPN к серверу 144.91.108.139
  2. После восстановления туннеля выполнить git push origin master из ветки master
  3. Запустить скрипт релиза: .\venv\Scripts\python.exe scripts/release.py

Этот скрипт собирает EXE из Python-кода, упаковывает его в ZIP, загружает артефакт в GitLab Package Registry и создаёт тег версии.

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

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

😄 Почему MongoDB считает себя лучше всех? Потому что Stack Overflow так сказал.

Метаданные

Session ID:
grouped_speech-to-text_20260208_1534
Branch:
master
Dev Joke
Почему MongoDB считает себя лучше всех? Потому что Stack Overflow так сказал

Часть потока:

Разработка: speech-to-text

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

0/1000