24 августа 2026
Анонс

Над кодом приложения теперь может работать команда, а не только владелец сервера

Раньше над кодом приложения на Black Hole мог работать только владелец сервера: доступ давал его личный API-ключ, и второй человек либо получал отказ, либо работал чужим ключом — то есть заодно получал и весь остальной доступ владельца. Теперь у сервера есть команда разработки.

Как это работает

Владелец (или администратор портала) на вкладке «Совместная работа» добавляет сотрудников портала (до 50 человек) и выдаёт роль. Каждый работает своим личным ключом с правом vibe:infra — ключ владельца никому передавать не нужно, сервер никуда не перепривязывается. Права даёт членство в команде, а не ключ, поэтому убрали человека из команды — доступ закрылся сразу же.

Вместе с добавлением в команду сотрудник сразу получает право открывать само приложение — иначе он выкатывал бы код, который не может открыть. Обратно это право не отбирается автоматически: когда сотрудник покидает команду, его снимают отдельной галочкой.

Роли

Разработчик — выкладка, команды на сервере, файлы, логи, хранилище исходников, пробуждение машины.

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

Что остаётся за владельцем

Удаление сервера, смена владельца, ссылки доступа и перепривязка ключа. Состав команды и удаление версий исходников — владелец или администратор портала; участник команды, даже с ролью «Администратор», сюда не проходит.

Защита от затирания чужой работы

При выкладке указывается, на какой версии исходников вы основывались. Если в хранилище появилась более свежая версия — выкладка отклоняется с номером актуальной версии и ссылкой на скачивание, вместо тихой перезаписи чужих правок. На сервере, где собрана команда, это поле обязательно, как только в хранилище есть хотя бы одна версия, поэтому выкатить вслепую поверх чужого нельзя, даже если о защите не знали. На сервере без команды поле по-прежнему необязательно.

Мелочи, которые заметны в работе

  • «Сервер занят» теперь называет, кто именно его занял, чем и с какого времени.
  • Участник видит свои серверы в кабинете с ролью, а в API — ещё и с перечнем доступных ему действий и открытых вызовов, а не работает вслепую.
  • У выкладки участника переменные окружения приложения остаются как есть: свои env он передать не может, за новой переменной идёт к владельцу.
  • Карточку приложения в каталоге и анонс подписчикам меняет владелец или администратор — разработчику это недоступно.
  • Если владельца приложения удалили, приложение живёт дальше — но только если в команде есть администратор, который его подхватит.