Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «DevOps Ready | IT»

DevOps Ready | IT
1.2K
0
2.4K
13
0
Авторский канал по DevOps разработке.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/devops_ready
Подписчики
Всего
7 934
Сегодня
-6
Просмотров на пост
Всего
979
ER
Общий
12.34%
Суточный
9.16%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 1 172 постов
Смотреть все посты
Пост от 26.10.2026 11:10
66
0
2
Памятка по диагностике OOM в Linux!

Сообщение OOM означает, что ядро завершило процесс из-за нехватки памяти или достижения лимита cgroup. Для поиска причины важно сопоставить запись ядра, давление памяти и лимиты конкретного сервиса.

➡️ DevOps Ready | #шпора
Пост от 24.10.2026 13:07
171
0
5
Знаете, где systemd-сервису хранить постоянные данные и временные файлы?

В unit-файле можно описать назначение директорий, а systemd подготовит их при старте.

Для данных, которые должны переживать остановку службы, укажем StateDirectory:
StateDirectory=orders

Для system-сервиса это создаёт /var/lib/orders и назначает владельцем пользователя из User и Group. Каталог сохраняется после остановки службы, поэтому сюда подходят база-файлы, состояние очереди и другие рабочие данные.

Временные файлы размещай отдельно:
RuntimeDirectory=orders
RuntimeDirectoryMode=0750

Так появится /run/orders с правами только для владельца и его группы. По умолчанию systemd удаляет этот каталог при остановке службы, поэтому не складывем туда данные, которые нужно сохранить после перезагрузки.

Кэш можно выделить в собственный путь:
CacheDirectory=orders
LogsDirectory=orders

Это создаёт стандартные каталоги под /var/cache и /var/log и выставляет владельца службы. Разделение помогает понять, что можно пересоздать, что нужно сохранить и что попадёт в ротацию логов.

После изменения unit-файла проверим его и перечитаем конфигурацию:
systemd-analyze verify /etc/systemd/system/orders.service
systemctl daemon-reload

systemd также задаёт переменные STATE_DIRECTORY, RUNTIME_DIRECTORY и другие для настроенных путей. Использем их в приложении, если расположение каталога не должно быть зашито в конфигурации.

➡️ DevOps Ready | #совет
❤ 3
👍 3
🔥 2
Пост от 24.10.2026 11:07
200
0
2
🔥 Мастхев подборка для каждого айтишника

Держите подборку авторских IT-каналов по всем направлениям: курсы, гайды, статьи, практики, примеры кода, шпаргалки и прохождение собесов.

▪️ Python: @python
▪️ Frontend: @frontend
▪️ Java: @java
👨‍💻 Go: @golang
▪️ ИБ & Хакинг: @hacking
▪️ C/C++: @cplusplus
▪️ C# & GameDev: @gamedev
▪️ Data Science: @datascience
▪️ DevOps: @devops
▪️ Linux: @linux
▪️ IT Курсы: @courses
▪️ Вайбкодинг: @vibecoding
▪️ Весь айти: @itnews

⏱️ Успей подписаться пока не удалили!
Пост от 24.10.2026 09:07
102
0
3
Glance собирает рабочие панели и ленты в одном дашборде!

Виджеты показывают RSS, GitHub, Hacker News, YouTube, погоду, котировки, статистику сервера и состояние Docker-контейнеров. Страницы и их расположение настраиваются через YAML, а отдельные вкладки можно собрать под разные задачи.

Проект написан на Go. В репозитории есть конфигурация, инструкции по запуску и список готовых интеграций.

Оставляю ссылочку на GitHub

➡️ DevOps Ready | #репозиторий
❤ 1
👍 1
🔥 1
Пост от 23.10.2026 10:10
223
0
6
Передаём секрет в Docker build без записи в образ!

Для сборки иногда нужен токен приватного npm-реестра или доступ к закрытому пакету. Если передать его через ARG или ENV, значение может сохраниться в метаданных образа или слоях и попасть в кеш сборки.

Подготовь локальный файл .npmrc с токеном и исключи секреты из build context:
.env
.npmrc
*.pem

Файл не попадёт в обычный контекст сборки. Храни его вне репозитория и не добавляй в git даже временно.

Сначала задай образ и рабочую папку:
# syntax=docker/dockerfile:1
FROM node:22-alpine
WORKDIR /app

Копируй lock-файл и подключай секрет только на шаге установки:
COPY package*.json ./
RUN --mount=type=secret,id=npmrc,target=/root/.npmrc \
    npm ci

BuildKit подключит файл на время конкретного RUN, а не сохранит его как обычный слой. Не копируй секрет в другой файл и не печатай его содержимое в лог.

Передай файл сборщику отдельно:
DOCKER_BUILDKIT=1 docker build \
  --secret id=npmrc,src="$HOME/.npmrc" \
  -t demo-app:local .

Идентификатор после id должен совпадать с id в Dockerfile. При использовании Buildx команда принимает тот же флаг --secret.

В CI можно передать значение из переменной окружения, не создавая файл в репозитории:
docker buildx build \
  --secret type=env,id=npmrc,env=NPMRC_CONTENT \
  -t demo-app:ci .

Проверь синтаксис для установленной версии Buildx и не включай печать команд с секретным значением. Сам файл или переменная должны быть доступны только job-сборке и иметь минимально необходимые права.

После сборки проверь обычную конфигурацию и историю образа:
docker image inspect demo-app:local
docker history --no-trunc demo-app:local

➡️ DevOps Ready | #практика
Пост от 22.10.2026 11:10
207
0
14
Kubernetes Goat - площадка по безопасности Kubernetes!

На сайте собраны сценарии по Kubernetes security. Можно разбирать типичные ошибки конфигурации, небезопасные workloads, доступы, secrets, сетевые моменты и ситуации, которые часто встречаются в реальных кластерах.

Материалы полезны DevOps-инженерам, backend-разработчикам и тем, кто хочет понимать не только как запустить pod, но и как не оставить кластер открытым для очевидных атак.

Оставляю ссылочку на Kubernetes Goat

➡️ DevOps Ready | #ресурс
❤ 1
👍 1
🔥 1
Пост от 21.10.2026 11:10
231
0
8
Ограничиваем доступ systemd-сервиса к системе!

Сервису часто не нужны права на изменение всей файловой системы и доступ к домашним каталогам. Добавим ограничения через drop-in, сохранив запись только в каталоги, которые приложению действительно необходимы.

Сначала оцениваем текущую конфигурацию и создаём отдельный файл переопределения:
systemd-analyze security myapp.service
sudo systemctl edit myapp.service

Команда edit создаёт drop-in, поэтому настройки пакета остаются нетронутыми. До включения ограничений уточни рабочие каталоги, пользователя и места, куда сервис записывает данные.

Добавляем базовые ограничения в секцию Service:
[Service]
NoNewPrivileges=yes
PrivateTmp=yes
ProtectSystem=strict
ProtectHome=yes
ReadWritePaths=/var/lib/myapp

ProtectSystem=strict делает файловую систему только для чтения, кроме перечисленных исключений. Замени /var/lib/myapp на реальный каталог данных, иначе приложение может перестать сохранять файлы.

Проверяем unit, применяем изменения и анализируем результат:
sudo systemctl daemon-reload
sudo systemctl restart myapp.service
systemctl cat myapp.service
systemd-analyze security myapp.service

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

➡️ DevOps Ready | #практика
🔥 2
❤ 1
👍 1
Смотреть все посты