June 29

Обновление 25Q2

И снова прилетают десятки коммитов в наш репозиторий, и незаметно проходит июнь. Так что присаживайтесь поудобнее, нам есть о чем рассказать!

Формат обновлений

Сразу хочу сообщить, что HYPRR переходит к квартальному выпуску обновлений. Устраивать марафон обновлений на месяц (4 Launch-недели) было весело, но очень тяжело. Поэтому было принято решение выпускать крупные обновления раз в 3 месяца и патчи по требованию. То есть:

  • Большие обновления со вкусными фишками - раз в 3 месяца
  • Важные исправления багов или добавление мелкого функционала будет проходить в патчах (их может быть хоть 2, хоть 20)
  • Все связанное с инфраструктурой: ноды, устранение уязвимостей и инцидентов - не связано с расписанием и будет выполняться немедленно.

А теперь к самому обновлению!

👾 Автоматический перенос серверов

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

С HYPRR у вас не будет головной боли — укажите данные SFTP предыдущего хостинга, а мы проверим их и перенесем файлы вашего сервера напрямую на нашу ноду.

🤑 Партнерская программа

Партнерская программа не требуется в представлении. С каждого платежа приведенных вами клиентов вы получаете 10% себе на партнерский баланс: его можно перевести на баланс хостинга или попросить поддержку вывести на вашу карту.

Забавный факт: если вы приведете 10 знакомых на HYPRR и они купят такой же тариф, как и у вас, то вы сможете содержать свой сервер бесплатно пока они содержат свои.

🌐 Глобальный HTTP роутер

Возможно вам в голову пришла замечательная идея добавить онлайн-карту вроде Dynmap к серверу, но теперь она на порту 5420 и без нормального адреса. Если такой вариант и подойдет маленькому серверу друзей, то для проектов со своим доменом это плевок в лицо. Но не на HYPRR!

Теперь вы можете добавить свой домен в глобальный HTTP роутер и использовать красивый домен вроде map.myserver.com

Как это сделать:

  • Настройте плагин карты на определенный порт (на скрине это 5001)
  • В панели укажите домен, который вы будете использовать для карты (тут это mc.m41den.dev)
  • Выберите сервер и порт, на котором работает карта
  • Нажмите галочку
  • Теперь у своего доменного регистратора создайте CNAME запись, указывающую на ноду (в панели будет сказано какую). Возможно потребуется подождать немного, пока DNS записи обновятся
  • Готово, теперь вы можете использовать карту или другой веб-сервис напрямую по домену!

🤓: Эм, а зачем вы это сделали, если можно добиться того же через Cloudflare Origin Rules?

😎: Не все люди пользуются Cloudflare, а в РФ это вообще плохая идея, так как Origin Rules работают только через прокси кф, которые в РФ частично заблокированы.

📁 Обновления раздела "Файлы"

Теперь в разделе "Файлы" можно распаковывать архивы, выполнять массовое перемещение или удаление файлов и папок, ну или просто запаковать все отмеченное.

Также появились метки для важных папок, чтобы их можно было находить с одного взгляда.

🍃 Новое ядро: Leaf

Несколько часов назад Leaf объявили поддержку 1.21.5 и 1.21.6. Вдобавок к стабилизации ядра это отличный повод, чтобы добавить его на хостинг, что собственно, мы и сделали.

🐞 Много багфиксов и мелких изменений

Ну что ж, погнали считать:

  • Исправлены нажатия всяких ⓘ подсказок на сенсорных устройствах
  • Исправлен баг с неправильным отображением владельца проекта в разделе "Доступ"
  • Порог пополнения баланса снижен до 20₽
  • Исправлено копирование адреса ноды и vNet адреса
  • Когда у вас нет проектов, вместо пустого экрана показывается надпись
  • Ошибки регистрации и их причина теперь отображаются на странице входа
  • В консоли теперь можно наблюдать и за установкой сервера
  • На странице серверов теперь отображается дата окончания аренды
  • На мобильных устройствах исправлена ширина и отступы на многих страницах, теперь это выглядит аккуратнее и вмещает больше контента
  • Добавлен таймаут в 5 секунд перед удалением сервера, чтобы вы могли быстро перезагрузить страницу в случае случайного нажатия кнопки удалить и подтверждения (ну почему???)
  • Исправлено изменение тарифа - теперь оно выполняется быстрее и без проблем
  • Добавлены новые версии Velocity (раньше фильтр удалял варианты со словами SNAPSHOT, а последние версии именно и являются снапшотами)
  • Изменен дизайн раздела сети в проекте (компактнее и стильнее)
  • Изменения в проекте больше не требуют перезагрузки страницы (такое простое на вид изменение, а пришлось переписать очень много вещей)
  • Теперь кнопка сохранения файла белая и более заметная
  • Добавлено большое красное предупреждение перед удалением сервера, я правда не знаю почему люди не понимают слова "будет удален безвозвратно"
  • Исправлен запуск Forge
  • Исправлена уязвимость Pterodactyl в день анонса. Ну как бы даже если бы проэксплуатировали вульну, у нас нет файлов с конфигами, а птеродактиль живет в rootless alpine контейнере в кубере. У птеры даже своего хранилища нет...

Ну и инфраструктурное для ценителей:

  • Перенесли K8s кластер к себе на ноды, за счет чего ускорили бэкенд, убежали от злых старых ксеонов у хостеров и сэкономили кучу денег (ну не кучу, но нормально так). Не бойтесь, кубер использует ресурсы отдельные от ваших нод, оверселла не будет
  • В попытках вернуть 10% производительности у KVM и при этом сохранить полностью виртуальную инфраструктуру, перебрали кучу платформ виртуализации. Я потратил на это неделю, так что без списка вас не отпущу: Proxmox, Nutanix AHV, XCP-ng, VMWare vSphere (+NSX+vSan+VCF), Platform9, OpenStack (MicroStack, Charmed Openstack, RedHat OpenStack, RDO, Kolla...), OpenNebula, CloudStack, Harvester и kubevirt. Вроде все, если вам интересен обзор и эти заметки вообще кто-то читает, то могу написать статью-сравнение всех вариантов в контексте игровых облаков
  • Забрали одну Gen1 железку (24 CPU, 256GB DDR3, 2TB SSD) на тесты вдсок и развертки приложений
  • Пережили депрессию из-за обвинений в оверселле (потому что за такую цену не может быть не свап), когда у нас ноды заполнены только на половину. Это значит что надо цены удваивать или что мы справились с миссией?

Итоги

Во-первых, обновление было разделено на части, мои амбиции бы превратили эту статью в дипломную работу на 70 страниц, а релиза бы вы ждали до конца года. Так что думаю небольшие фишки будут раскиданы по патчам, а большие нововведения, требующие кучи тестов - в квартальных обновлениях.

Во-вторых, хостинг вышел в ноль и 100% не закроется. Это круто, так как прошел всего один месяц с рекламы, а уже можно улучшать продукт, а не трястись над финансами.

В-третьих, ТОЛЬКО ВПЕРЕД!