Обновить
256K+

DevOps *

Методология разработки программного обеспечения

447,24
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Авторизация в Docker Private Registry

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.4K

Пользоваться общей инфраструктурой Docker очень удобно. Тысячи готовых образов, доступных вам через одну команду в консоли, в любом месте, где есть интернет. Ничего удивительного в том, что это вошло в обиход большого числа разработчиков. Но образы контейнеров занимают много места, и качать некоторые из них довольно долго. Зачастую хочется иметь свой или хотя бы локальный реестр. Да и безопаснее это... Наверное?

Зная, что в Docker private registry отсутствует авторизация, я решил разобраться, как легким способом можно блокировать различные действия для клиентов и разрешать все админам. Мне нужно было ограничить получение какой-либо информации по репозиториям, находящимся в реестре, выгрузку образов из реестра, а также запретить загрузку репозиториев, которые уже существуют в реестре. Начнем с основы основ — загрузки и выгрузки образов с помощью API v2.

Всем все запретить, админам все разрешить!

DevOps — смерть это новая жизнь…

Время на прочтение6 мин
Охват и читатели15K

Есть мнение, что DevOps как индустрия — скорее мертва, чем жива. Нужны ли нам в таком случае мероприятия по интеграции процессов разработки, тестирования и эксплуатации? Мы решили задать самые наболевшие вопросы Диме Зайцеву, директору программного комитета DevOps Conf 2025.

Да, всё ещё у нас и на западном рынке, когда мы слышим слово DevOps, то думаем, что у сисадминов изменили имя, и они стали стоить дороже. Это распространённая идея. Но мы так не считаем. И эти люди никуда не уйдут. Очевидно, они всё ещё нужны. У нас всё ещё на них держится огромная инфраструктура. Над ней надо работать, её нужно развертывать.

Читать далее

Готовим Gitea со вкусом werf CI/CD и Dex-авторизации в кластере Deckhouse Kubernetes Platform. Часть 1

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели13K

Клиенты «Фланта» иногда ищут альтернативу GitLab или GitHub с удобным CI/CD и on-premise-размещением. Один из возможных вариантов — Open Source-решение Gitea. 

В сравнении с GitLab сервис Gitea прост и потребляет в два раза меньше ресурсов. При этом его функциональности достаточно, чтобы построить экосистему управления кодом и его развёртывания в Kubernetes. Эта статья — детальная инструкция по установке и настройке сервера Gitea, а также организации с его помощью авторизации через Dex в кластере Deckhouse Kubernetes Platform. 

В следующих частях серии настроим Gitea act_runner и подготовим Gitea Actions-пайплайн, в котором развернём приложение в кластере с помощью werf.

Читать далее

Современный on-call менеджмент: 5 основных шагов от мониторинга до постмортема

Время на прочтение12 мин
Охват и читатели6K

Управление инцидентами - это порой ночной кошмар любого ИТ-директора. Поднимите руку те, у кого не было ночных сообщений, что упал критический сервис! Почему так мало рук? Да потому что этот самый процесс в большинстве компаний устроен криво. Каждый раз его придумывают заново, проходя путь от ручного режима, далее общей почты или телеграмм группы до самописной системы управления инцидентами. И чем позже мы приходим в компанию выправлять процесс, тем больше сопротивления и непонимания “А что так можно было?”.

Помню, как 8 лет назад я руководил сервисной службой в компании, которая предоставляла услуги поддержки важной внутренней системы крупного клиента. Однажды ночью, примерно в три часа, мой телефон разрывается от звонка. На экране — заказчик. Не успеваю сказать "алло", как слышу: "Вы там спите что ли? У нас АСУ ПОБСУ лежит! Вы в курсе почему? (Я молчу) Мы больше не будем с вами работать!" — и бросает трубку.

Читать далее

Деплой больших инфраструктур в Yandex Cloud: как минимизировать риски и ошибки

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6.6K

Привет, Хабр! Я Алексей Колосков, DevOps‑инженер Hilbert Team. Сегодня я расскажу вам историю о компании, которая из маленькой облачной инфраструктуры выросла до сложного решения с использованием Infrastructure as Code (IaC) и Terraform. И, как это часто бывает, в процессе роста учли не всё. Все персонажи вымышлены и любые совпадения случайны (ну, почти).

В этой статье покажу грабли, на которые можно наступить при росте облачной инфраструктуры, и расскажу, как их обойти.

Читать далее

CI/CD Kubernetes платформа Gitorion. Highly Available исполнение

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.7K

Привет, всем! В данной статье мы расскажем о Highly Available исполнении CI/CD платформы Gitorion. В данном случае платформа размещается в двух дата центрах. При отказе любого из дата центров команда разработчиков может продолжить непрерывную интеграцию и доставку в выжившем дата центре.

Читать далее

Интеграция внешнего файлового сервера https://min.io в фулстек приложение на NestJS и Angular

Время на прочтение26 мин
Охват и читатели2.3K

В этой статье я подключу в проект внешний файловый сервер https://min.io и напишу дополнительные бэкенд и фронтенд модули для интеграции с ним.

Читать далее

Понимание Common Expression Language (CEL): Руководство для начинающих

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.3K

Common Expression Language (CEL) - это специализированный язык выражений, разработанный Google для безопасного, эффективного и простого выполнения различных проверок и вычислений в приложениях. Проще говоря, CEL - это мощный инструмент для создания логических правил и условий, которые легко интегрируются в приложение и позволяют гибко управлять его поведением без необходимости изменения основного кода.

Читать далее

Helm CEL: Валидация Helm чартов с помощью CEL

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4K

Каждый, кто работал с Helm чартами, сталкивался с необходимостью валидации values.yaml. Стандартный подход с использованием JSON Schema работает, но часто становится громоздким и ограниченным. В этой статье я хочу представить Helm CEL — плагин, который позволяет использовать Common Expression Language (CEL) от Google для валидации конфигурации Helm чартов.

Читать далее

Mattermost + Jitsi + k8s

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.8K

В данной статье будет показан процесс установки и настройки Mattermost (team-edition) и Jitsi (с авторизацией по JWT токену) в Kubernetes кластер.

Читать далее

Разворачиваем приложение Next.js с базой данных PostgreSQL и задачей Cron на облачном сервере Ubuntu Linux

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели13K


Привет, друзья!


Предположим, что у нас есть приложение Next.js, данные которого хранятся в Postgres, и мы хотим запустить его в продакшн, но не хотим использовать готовую инфраструктуру Vercel. Что делать? Создать собственную инфраструктуру. К счастью, сделать это не так уж и сложно.


Основные элементы нашей системы:


  • приложение, демонстрирующее несколько мощных возможностей Next.js 15
  • база данных Postgres для хранения списка задач, создаваемых/удаляемых в приложении
  • задача Cron для удаления из БД всех задач каждые 10 мин
  • приложение, БД и задача Cron функционируют в контейнерах Docker
  • контейнеры запускаются с помощью Docker Compose на облачном сервере Ubuntu
  • сервер Nginx для перенаправления запросов HTTP (обратного проксирования)
  • домен, привязанный к серверу
  • Certbot для получения сертификата SSL из Let's Encrypt и его установки для домена

Демо приложения.


Интересно? Тогда прошу под кат.

Читать дальше →

Как работают Kubernetes Services: управление трафиком с помощью iptables

Уровень сложностиСложный
Время на прочтение15 мин
Охват и читатели13K

В статье на примере приложения Podinfo показывается, как Kubernetes с помощью iptables управляет трафиком, предназначенным для этого приложения. Вместе с автором вы развернёте Podinfo, включите трейсинг iptables и проанализируете его вывод. Это поможет разобраться в сетевой инфраструктуре кластера и понять, как работают Kubernetes Services.

Читать далее

Погружение в Kubernetes Network Policies

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.6K

Привет, Хабр! Меня зовут Сулейман, и я Senior Software Engineer более чем с 10 годами опыта в программировании. Я разрабатываю сложные веб-сервисы, способные масштабироваться и выдерживать высокие нагрузки, а также активно участвую в open source проектах, публикую статьи, связанные с разработкой, и видео по решению алгоритмических задач. Я являюсь сертифицированным Kubernetes Application Developer (CKAD), и мой опыт охватывает различные сферы разработки: от бэкенда и фронтенда до DevOps и разработки Android-приложений. Больше моих статей можно найти в меди вАЙТИ.

Читать далее

Ближайшие события

Обновление Прошивки из Make Скрипта

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.7K

В этом тексте показано как можно обновить прошивку из-под GNU Make скрипта.

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

Вот например можно на GNU Make написать код загрузки *.bin (аря) в микроконтроллер

Легко...

Читать далее

OpenShift и Kubernetes: сравнительный обзор, основные различия

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели16K

OpenShift и Kubernetes (K8s) выбирают чаще всего для оркестровки контейнеров. Эти инструменты сложно сравнивать напрямую, поскольку Kubernetes — открытое решение (open source), а OpenShift — продукт (дистрибутив) на основе Kubernetes. В этой статье рассмотрены их основные функции и отличия, модели развёртывания и пригодность для различных вариантов использования.

Статья будет полезна тем, кто пока не знаком с этими инструментами и хочет узнать о них больше.

Читать далее

Регуляторика РБПО. Часть 4 – Требования к ГИС, ИСПДн, отраслевые требования

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели5.1K

Привет, эксперты!

Сегодня переходим к 4-ой части нашего обзора регуляторики практик разработки безопасного ПО (РБПО). На повестке у нас требования к государственным информационным системам (ГИС) и информационным системам обработки персональных данных (ИСПДн), а также немного отраслевых требований.

Читать далее

Автоматизация мониторинга с Monq: Управление сигналами и интеграция с Zabbix

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.4K

Сегодня я расскажу, как с помощью системы Monq и ее инструмента low-code автоматизации можно эффективно настраивать мониторинг и управление инцидентами на примере интеграции с Zabbix. Будет описание ключевых элементов, включая создание и обработку сигналов, управление состоянием конфигурационных единиц и автоматизации процессов. А еще — полезные ссылки на бесплатную комьюнити версию и ранний доступ к облачной версии. Надеюсь, этот пост будет полезен специалистам, которые хотят оптимизировать мониторинг сложной ИТ-инфраструктуры, заодно улучшив управление инцидентами.

Читать далее

Безопасная разработка на Python

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели11K

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

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

Читать далее

Интеграция внешнего сервера авторизации https://authorizer.dev в фулстек приложение на NestJS и Angular

Время на прочтение33 мин
Охват и читатели2.3K

В этой статье я подключу в проект внешний сервер авторизации https://authorizer.dev и напишу дополнительные бэкенд и фронтенд модули для интеграции с ним.

Код будет собран для запуска через Docker Compose и Kubernetes.

Читать далее

Мой базовый паттерн использования ansible

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели15K

Всем привет! Сегодня я хочу поделиться с вами простым паттерном использования ansible к которому я пришёл за годы работы с этим инструментом. Несмотря на простоту, в типовой инфраструктуре он покрывает процентов 80 кейсов IaC, т.е. является довольно универсальным.

Раз за разом описывая инфраструктуру в своих плейбуках, я заметил, что в большинстве случаев повторяется следующая последовательность:

Читать далее