Search
Write a publication
Pull to refresh
25
0.1
Роман Кудлай @RomanKu

User

Send message
  1. Лет 20 назад пользовал Jabber и даже вносил посильный вклад в развитие сообщества.

  2. Недавно надо было выбирать менеджер и тоже смотрел в сторону XMPP, но при беглом просмотре показалось, что Jabber скорее мертв, чем жив - все те же проблемы, что и были 20 лет назад с кучей расширений и несовместимыми клиентами. А клиенты за это время не сильно далеко ушли. В итоге решил остановиться на Synapse Matrix

  3. А пользователи в итоге "выбрали" телеграмм ¯\_(ツ)_/¯

Интересно сравнить современный jabber лицом к лицу с конкрутентами, может я и не прав был во 2м пункте

Мне казалось, что после моей статьи на хабре про белые пятна в ssh (7 летней давности) уже не о чем писать, но была как минимум одна очень хорошая статья

P.S. Надеюсь обойдемся без взаимного минусования кармы

Пользую vim и не должен был, по идее, читать эту статью, но когда мне надо было недавно прикрутить tls к forgejo я поставил Caddy просто потому, что он проще в настройке и обновлении сертиикатов (правда, через месяц поставил рядом кастомный openbao vault-agent для получения сертификатов из kv хранилища, но это уже совсем другая история)

При всей моей любви к nginx считаю, что он не нужен для новичков, особенно в докере т.к. на моей практике большинство проблем с автообновлением и конфигурированием nginx в принципе, как раз таки в этой связке и другие комментаторы накидали действительно годные варианты для использования в данном проекте

Почему nginx + docker плохи для новичка? Его надо уметь готовить и правильно настраивать, в заголовке статьи написано "Docker, Nginx и Certbot" и отдельный пунктик на "замочке", но при этом

  1. сертификат получается руками

  2. certbot запускается как /bin/sh и не работает в фоне, не отслеживает протухание сертификатов

  3. nginx не получает команду на перечитывание конфигов при обновлении сертификатов

  4. в итоге через несколько месяцев LE сертификат "протухнет" а автоматическое обновление мы в данной статье так и не настроили и вместо рыжих предупреждений сайт вообще не откроется и надо будет нажимать в определенных местах для открытия сайта с невалидным сертификатом

Еще для новичков и если надо больше 1 сайта проксировать я предлагаю NPM как раз по причине легкой настройки и работе с certbot "из коробки"

Далее установим версию PostgreSQL Pro с патчами для 1С с сайта.

А с обычной версией PostgreSQL SonarQube не работает? Почему именно с патчами для 1С?

Тоже не покидало данное ощущение. Больше половины экранной статьи посвящено селектелу, а дальше бац и у нас уже развернут k8s, а потом целый кластер VictoriaMetrics из одной ноды (а почему решили поднимать кластер, а не единую ноду?), который сообщает <h2>Single-node VictoriaMetrics</h2>

Да, спутал с bcache, там создавалось блочное устройство, на которое уже ставилась ФС

Отписываться выше, я имел в виду, что обе эти системы по отдельности поддерживают добавление кеширующих дисков. В truenas добавлял на лету парой кликов мыши. Соответственно можно продолжать использовать привычные инструмент, но с приятным дополнением

В смысле и то и другое по отдельности поддерживает кеширование без необходимости использования доп. слоя

Только 2 замечания

  1. Линус Товальдс прав в подходе к промышленной разработке, но монолитное ядро и один единственный мейнтейнер такого монстра уже не вывозит,

  2. Bcachefs не нужен, пользовал 10 лет назад как безальтернативной решение, один раз потерял все вместе с SSD диском, но и скорости по тестам были прям сильно хуже целевых. Потом вышла новая версия LVM и на новой системе уже использовал это решение. Сейчас LVM и ZFS дают результаты не хуже (не даю зуб, но по интернетам так и есть) и при этом все как-то лучше интегрированно

DHT11 язык не двигается называть датчиком, это скорее показометр, имхо имеет смысл только в копеечных наборах для изучения ардуины.

DHT22 чуть дороже, но уже может называться датчиком. Не прецизионный, но выдает значения, связанные с окружением, например, 2 производная по влажности в течение 10-20 секунд детектирует человека в туалете

Например, как шуманить если бд создаёт и обслуживает сам HA.

SQLite таки хорош на малых объемах данных с малой интенсивностью доступа к ним + слабая типизация и структурированность.

Я пользовал SQLite очень давно, но очень активно и заметил несколько особенностей, которые тоже замечал и на HA с SQLite базой

  1. Очень любит оперативную память - по факту, приходится загружать файл в оперативку и с ним работать.

  2. Не любит многопоточную работу - параллельные операции часто выстраиваются в очередь

  3. Файлы мало отличаются от csv файлов - ряда функций "взрослых" СУБД нет, при миграции БД понимаешь, что там каша и прямая трансляция не всегда работает, вот как в статье с сиквенсами

  4. Непредсказуемая работа - вроде быстро все работает, а потом выгрузились из оперативки и холодный старт занимает несколько секунд, или запросы в очередь стали и тоже ждёшь, в любом случае, по мере роста БД гарантировать время отклика становится все хуже

  5. При доступе к БД из разных процессов все, что было выше ещё больше усугубляется

Особено учитывая то, что HA часто ставится на одноплатники с малым объемом оперативной памяти то это может быть критичным. Мне вот 4ГБ не хватает. Сама же БД в mariadb вестит 6.5ГБ

Интересно сравнить с MySQL, т.к. часто переходят на нее, даже есть сервер официальный.

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

В итоге первым шагом реализовал следующее
1. несколько python скриптов, скрипт добавления записи спрашивает у пользователя домен, адрес бэкенда, мидлварки и т.д. и создает файлы конфигов, которых в 90% случаев достаточно
2. скрипт последним шагом или сам пользователь коммитит файлы и пушит в git репозиторий
3. CI/CD запускается по пушу, валидирует конфиги и заливает их в consul и сообщает об этом в телегу
4. несколько нод с traefik + consul автоматом подтягивают обновление конфигурации
5. PROFIT

Еще написал скрипт, который подключается к базе NPM, вытягивает из нее конфигурацию хостов и генерирует файлы для traefik.

Плюсы:

1. IaC подход
2. Можно подключить к докеру напрямую для получения конфигурации из меток

Минус:
1. в 3.4 усложнилась структура consul и приходится загружать много записей, в целом у меня до 1.5 занимает весь процесс CI/CD

Для интерактивности, кстати, можно реализовать проект типа NPM но с хранением конфигурации в consul или другой распределенной kv СУБД, чтобы изменения в веб морде сразу же применялись, но тогда не будет подхода IaC

Может мне кто-то объяснить причину, по которой на Хабре в последнее время входят статьи в духе вышла новая версия, а оказывается, что это бета или ок?

Ранний доступ у Obsidian выглядит как попытка провести бета-ткстированик за деньги пользователей.

P.S. ну с точки зрения обсидиана это понятно: пользователи с Catalyst по определению лояльны продукту, больше в нем разбираются и поэтому не будут бухтерь на реддитах про баги и баги будут находить реальные, в не от собственных кривых рук в первый день использования продукта.

Для пет проекта сойдет, в продакшин такое выпускать - сомнительно, очень сомнительньно.

За долгие годы работы с certbot убедился, что не все так просто с ним и приходится изворачиваться местами, новичкам (не смотря на то, что этот проект ориентирован на простоту) не всегда удается сделать нормально, а при запихивании во всякие докеры легче не становится.

Для фронтендеров и бекендеров, не девопсов всегда рекомендую Nginx Proxy Manager - это реверс прокси с cert bot из коробки. Если не надо перегонять петабайты данных, то проще поставить NPN в одном месте, а потом в нем уже прописать нужные сервисы. Как минимум

  1. Меньше проблем с сертификатами

  2. Не будет даунтайма на время перевыпуска и проверки сертификатов.

С этим скриптом получается, что сервис будет останавливаться каждый раз перед проверкой сертификата, даже если время перевыпуска еще не наступило, если упадет во время работы, то сервис может и не подняться

Я расписывал выше уже по поводу self-hosted решения, там несколько компонентов и те, что в свободном доступе отвечают чисто за работу сессии и можно все проверить, что нет никаких закладок в коде, а вот самое интересное тут - сервер пользователей, прав, адресной книги и т.д. т.е. все про фишки, которые выходят за рамки прописывания ID клиента для подключения находятся уже их платном компоненте и так просто посмотреть, как и где они хранят ID и пароли для доступа к компам уже не получится.

Белый IP, на роутере проброшены порты, hairpin для локалки, все по инструкции сделано и работает.

Проблем со скоростью связи вообще нет, качество картинки и задержки на высоте, но какие-то задержки на начальном этапе инициализации соединения, бывало, что висит минуту и отваливается по таймауту, а потом еще раз пытается подключиться и сразу (относительно) подключаешься. Но если подключился, то уже работает стабильно.

Пробовал первый вариант, но в итоге что-то не срослось, поскольку клиентов не так много, то в итоге через импорт конфига один раз прописал и все.

Второй вариант поинтересней, конечно

Хочется пожурить автора за:

  1. Версия 1.4.0 еще не вышла, а только находится в стадии Pre-Release, в тексте нашел упоминание этого (в самом начале), но когда открывал статью из новостей таки хотел увидеть продакшин версию.

  2. Базово таки на своем хосинге можно установить не сервер синхронизации, а ретранслятор

Ну и добавить несколько моментов для понимания лицензионной политики и функционала, а то в комментариях возникли споры.

  1. Продукт очень сильно напоминает AnyDesk (слишком сильно), но при этом заявляется как опенсорс.

  2. Сразу после установки он работает с серверами DustDesk и эти сервера заявляются как загруженные, поэтому, связь устанавливается довольно таки долго, self-hosted разработчики предлагают установить компоненты для идентификации и ретрансляции - т.е. чтобы гонять трафик через свои сервера.

  3. Тарифные планы (особенно отличие бесплатного от платных) подразумевают наличие адресной книги и синхронизации ее между устройствами - вы можете добавить несколько подключений на одном устройстве, а подом запустить rustdesk на другом и подключится из адресной книги + шарить подключения между аккаунтами, например для корпоративного использования.

  4. Может я что-то не так настроил, но не всегда быстро и вообще подключается, поднял сервер у себя в локалке, пробросил порты, но при этом от нажатия кнопки "подключиться" до отображения экрана удаленного рабочего стола win 11, запущенной в virtualbox на этом же компе у меня сейчас ушло 22 секунды, были случаи, что вообще не мог подключиться к другим рабочим станциям, в итоге плюнул и запустил anydesk по старинке

  5. Сервер API для адресной книги производитель в открытом доступе не держит, но есть несколько открытых решений от энтузиастов, которые построили его на основе кода клиента (по аналогии с vaultwarden): rustdesk-api-server (я его поставил у себя) - простой, без веб интерфейса и регистрация через одно место (rest api метод, который потом еще и надо закрывать извне, чтобы кто угодно не мог регистрироваться) и вообще без какой-либо веб морды, но зато клиент может с ним работать по части функционала и rustdesk-api-server-pro (на тот момент он был еще очень сырым и я не ставил) - уже более функциональная версия с веб мордой

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

Что в сухом остатке:

  • Хороший продукт без базовых ограничений по времени сессий и бана страны, да еще и опенсорсный (лично исходники не проверял)

  • Лично у меня даже после танцев с бубном для локальной установки за NAT все равно не работает стабильно (может руки кривые)

  • Если поставить все у себя, то получается очень функциональное решение за бесплатно, функционал явно выше, чем у Anydesk, Teamviewer

  • Для быстрого саппорта в этом случае заморочно получается - просто сказать, поставь это и скажи код не получится - надо еще прописать в клиенте параметры подключения к своему серверу.

1
23 ...

Information

Rating
7,928-th
Location
Таганрог, Ростовская обл., Россия
Date of birth
Registered
Activity