Задачи в кроне можно временно отключать с флагом disabled: true. Это просто закомментирует строку в crontab, false соответственно раскомментирует
Когда над сервером работают несколько человек, можно подключить AWX: это веб-интерфейс для Ansible, где видно, кто что запустил, какие плейбуки менялись, можно давать права, запускать задачи по расписанию и всё такое.
Я публикую мысли, которые могут быть полезны тому или иному пласту людей, в том числе те, которые считают что нейронка никому ничего не расскажет и память распространяется только на их чат. Таких, увы, множество, даже в моем окружении, к сожалению.
Согласен с вами на тему незнания базовой безопасности, но как бы не было прискорбно, такова ситуация. Рынок еще не очистился от «войтишников», которых, зачастую, не интересовал вопрос ни безопасности ни работы с ИИ в целом, для них это инструмент «сделал код и пошел», последствия - увы не их забота, а вот зарплатку в многоденег это пожалуйста в кармашек.
Грустно осознавать, но на мой взгляд это важно освещать, в любом месте, а Хабр как большая солянка айтишников разного помола - это только дополнительный инструмент распространения.
Речь не о данных, на которых обучалась модель, а о текущем рабочем контексте.
Когда пользователь обращается к AI внутри таких систем, как Copilot, система собирает контекст из доступных пользователю источников: писем, файлов, календарей, заметок. Эти данные передаются в модель через скрытый системный промпт.
Если в логике сборки контекста есть ошибка — например, контекст собирается шире, чем должен (задевает данные другого пользователя) — появляется риск утечки. С помощью специально сформированного промпта можно попытаться заставить модель вывести весь переданный ей контекст, включая те данные, которые не предназначались для данного пользователя.
В самом первом примере - вариант именно плохого Dockerfile, в том числе по причине cmd. В третьем пункте - подразумевается запуск docker run myapp без каких-либо дополнительных тегов, но если планируется как-то распространять или с проектом работают несколько человек, то разумеется такой вариант тоже будет не самым лучшим решением и правильнее будет использовать ENTRYPOINT["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
Спасибо за замечание. :) Постараюсь держать тон точнее, все же еще считаюсь здесь "новичком"
Увы, налогов актуатора в мире Python/Node по умолчанию нет. Всё чаще делают руками — отдельный /health или /ping, который сам отвечает "200 OK", если всё норм.
Но есть библиотеки, если хочется автоматизации: > для Python: healthcheck, fastapi-health, starlette-exporter > для Node: express-healthcheck, terminus
Да, собрать свой Docker-образ и использовать его в Actions — проще и быстрее. Особенно если сборка регулярная и тулчейн тяжёлый. Просто я показал способ «в лоб», без Docker, как и в статье, без его упоминания, но для постоянного использования образ — отличный вариант.
Про использование контейнеров для разных задач и разбор по тому же принципу я тоже сделаю, как только закончу с серией по гиту :)
Спасибо за интересный вопрос! Раннеры GitHub Actions — это временные виртуальные машины, которые запускаются заново для каждого workflow. Значит все изменения, сделанные в ходе выполнения workflow, не сохраняются для последующих запусков.
Если вам нужно использовать GCC в виде tar, вы можете добавить шаг в ваш workflow для загрузки и распаковки этого архива. Вот пример:
Этот шаг загружает архив, распаковывает его и добавляет путь к файлам GCC в PATH, чтобы вы могли использовать эту версию компилятора в дальнейшем.
Если вы часто используете этот компилятор и хотите ускорить процесс, можно воспользоваться кэшированием с помощью actions/cache, чтобы избежать повторной загрузки и распаковки при каждом запуске.
Под убунту православную есть отличная простая тулза - pivnp. Да, она под малинку, но на убунту работает великолепно. Достаточно только поставить через curl -L install.pivpn.io | bash, запустится интерактивный установщик который и предложит создать пользователя, и днс выбрать и другие параметры, в полуавтоматическом режиме. Главное в начале выбрать OpenVPN, но на выбор дается еще Wireguard. 5 минут и сервер поднят, а конфиги добавляются одним pivpn add. Все интуитивно просто и понятно
На днях изучал проекты CNCF, от некоторых репо в проектах под их крылом становится дурно. Все в одну кучу, многие issues по своей сути просто дублируются. Да, поддержка, да разработка, но нужно же как-то соблюдать организованность. Это хорошо когда заметил баг и можешь создать issue, но кажется многие пользователи не знают как пользоваться этим разделом, потому что на одну ошибку может быть создано по 3 обсуждения. Автору спасибо что поделился опытом, еще больше подтолкнул заниматься вкладом в опенсорс.
Information
Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
А давно одно сообщение является спамом?
Задачи в кроне можно временно отключать с флагом disabled: true. Это просто закомментирует строку в crontab, false соответственно раскомментирует
Когда над сервером работают несколько человек, можно подключить AWX: это веб-интерфейс для Ansible, где видно, кто что запустил, какие плейбуки менялись, можно давать права, запускать задачи по расписанию и всё такое.
Я публикую мысли, которые могут быть полезны тому или иному пласту людей, в том числе те, которые считают что нейронка никому ничего не расскажет и память распространяется только на их чат. Таких, увы, множество, даже в моем окружении, к сожалению.
Согласен с вами на тему незнания базовой безопасности, но как бы не было прискорбно, такова ситуация. Рынок еще не очистился от «войтишников», которых, зачастую, не интересовал вопрос ни безопасности ни работы с ИИ в целом, для них это инструмент «сделал код и пошел», последствия - увы не их забота, а вот зарплатку в многоденег это пожалуйста в кармашек.
Грустно осознавать, но на мой взгляд это важно освещать, в любом месте, а Хабр как большая солянка айтишников разного помола - это только дополнительный инструмент распространения.
Речь не о данных, на которых обучалась модель, а о текущем рабочем контексте.
Когда пользователь обращается к AI внутри таких систем, как Copilot, система собирает контекст из доступных пользователю источников: писем, файлов, календарей, заметок. Эти данные передаются в модель через скрытый системный промпт.
Если в логике сборки контекста есть ошибка — например, контекст собирается шире, чем должен (задевает данные другого пользователя) — появляется риск утечки. С помощью специально сформированного промпта можно попытаться заставить модель вывести весь переданный ей контекст, включая те данные, которые не предназначались для данного пользователя.
В самом первом примере - вариант именно плохого Dockerfile, в том числе по причине cmd.
В третьем пункте - подразумевается запуск
docker run myappбез каких-либо дополнительных тегов, но если планируется как-то распространять или с проектом работают несколько человек, то разумеется такой вариант тоже будет не самым лучшим решением и правильнее будет использоватьENTRYPOINT["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]prometheus_client — официальный клиент.
Он простой, гибкий, без лишнего. Работает с любыми фреймворками, особенно популярен с FastAPI, Flask и Django.
Для него еще есть обертки формата fastapi-prometheus или django-prometheus, но чаще используется именно чистый клиент
Спасибо за замечание. :) Постараюсь держать тон точнее, все же еще считаюсь здесь "новичком"
Увы, налогов актуатора в мире Python/Node по умолчанию нет.
Всё чаще делают руками — отдельный
/healthили/ping, который сам отвечает "200 OK", если всё норм.Но есть библиотеки, если хочется автоматизации:
> для Python: healthcheck, fastapi-health, starlette-exporter
> для Node: express-healthcheck, terminus
Спасибо, приятно. Вижу что все же не в пустоту пишу :)
Никакой пакет сам по себе не делает
/health. Это не “фича из коробки”.HEALTHCHECK— это инструкция Docker'а, а эндпойнт ты должен сделать сам в коде.Например, для FastAPI:
Потом в
Dockerfile:Если ты не напишешь такой роут — Docker будет проверять воздух.
Нет, монтировать
/tmpиз контейнера на хост не нужно.По умолчанию
/tmp— это временная папка внутри контейнера, и это ок. Она очищается при удалении.Монтируй только если:
– нужен доступ к этим файлам снаружи
– tmp‑кеш должен пережить перезапуск
– отлаживаешь что-то и хочешь глянуть содержимое
Но просто так — не трогай. Всё работает без этого.
Что конкретно неверно и как на ваш взгляд должно быть? :)
А, понял что вы имеете ввиду, спасибо что подметили! Сделаю UPD, с корректировкой :)
Он есть, просто не в самом верху -
Да, собрать свой Docker-образ и использовать его в Actions — проще и быстрее. Особенно если сборка регулярная и тулчейн тяжёлый. Просто я показал способ «в лоб», без Docker, как и в статье, без его упоминания, но для постоянного использования образ — отличный вариант.
Про использование контейнеров для разных задач и разбор по тому же принципу я тоже сделаю, как только закончу с серией по гиту :)
Спасибо за интересный вопрос! Раннеры GitHub Actions — это временные виртуальные машины, которые запускаются заново для каждого workflow. Значит все изменения, сделанные в ходе выполнения workflow, не сохраняются для последующих запусков.
Если вам нужно использовать GCC в виде tar, вы можете добавить шаг в ваш workflow для загрузки и распаковки этого архива. Вот пример:
Этот шаг загружает архив, распаковывает его и добавляет путь к файлам GCC в PATH, чтобы вы могли использовать эту версию компилятора в дальнейшем.
Если вы часто используете этот компилятор и хотите ускорить процесс, можно воспользоваться кэшированием с помощью actions/cache, чтобы избежать повторной загрузки и распаковки при каждом запуске.
Никто не запрещал воспользоваться -o file.sh и посмотреть что там
Под убунту православную есть отличная простая тулза - pivnp. Да, она под малинку, но на убунту работает великолепно. Достаточно только поставить через curl -L install.pivpn.io | bash, запустится интерактивный установщик который и предложит создать пользователя, и днс выбрать и другие параметры, в полуавтоматическом режиме. Главное в начале выбрать OpenVPN, но на выбор дается еще Wireguard. 5 минут и сервер поднят, а конфиги добавляются одним pivpn add. Все интуитивно просто и понятно
На днях изучал проекты CNCF, от некоторых репо в проектах под их крылом становится дурно. Все в одну кучу, многие issues по своей сути просто дублируются. Да, поддержка, да разработка, но нужно же как-то соблюдать организованность. Это хорошо когда заметил баг и можешь создать issue, но кажется многие пользователи не знают как пользоваться этим разделом, потому что на одну ошибку может быть создано по 3 обсуждения. Автору спасибо что поделился опытом, еще больше подтолкнул заниматься вкладом в опенсорс.