Домой Статьи и аналитика Технологии Woodpecker CI 3.17: усиление безопасности и новые функции для Kubernetes

Woodpecker CI 3.17: усиление безопасности и новые функции для Kubernetes

Система CI/CD с открытым исходным кодом получила важные обновления безопасности, улучшенную работу с Kubernetes и расширенные инструменты диагностики.

11
0
Woodpecker CI 3.17: усиление безопасности и новые функции для Kubernetes
Woodpecker CI 3.17: усиление безопасности и новые функции для Kubernetes — иллюстрация к материалу. Источник: linux.org.ru

31 июля 2026 года состоялся релиз Woodpecker CI 3.17.0. Это свободная система непрерывной интеграции и доставки (CI/CD), оптимизированная для самостоятельного развёртывания. Платформа выполняет конвейеры, описанные в YAML-файлах, на выделенных агентах и поддерживает работу с контейнеризацией через Docker и Kubernetes. Проект преимущественно написан на языке Go и распространяется под открытой лицензией Apache 2.0.

Ключевые доработки в версии 3.17 сосредоточены на повышении безопасности агентов, более тонкой настройке прав доступа в Kubernetes и улучшении инструментов для отладки ошибок.

Основные изменения Woodpecker CI 3.17

  • Безопасность gRPC. Теперь сервер автоматически генерирует общий секрет gRPC, если администратор не задал значение вручную в переменной WOODPECKER_GRPC_SECRET. Агенты получили механизм повторной аутентификации при смене ключа.
  • Изоляция в Kubernetes. По умолчанию ограничено использование nodeSelector в конвейерах. Теперь администратору необходимо явно разрешить эту опцию через WOODPECKER_BACKEND_K8S_POD_NODE_SELECTOR_ALLOW_FROM_STEP, что критично для безопасности мультиарендных кластеров.
  • AppArmor для Docker. Добавлена поддержка профилей AppArmor, которые можно назначить контейнерам заданий через WOODPECKER_BACKEND_DOCKER_APPARMOR_PROFILE. Это полезно, если стандартный профиль блокирует специфические операции, такие как работа с Unix-сокетами PostgreSQL.
  • Улучшенная диагностика. Веб-интерфейс пополнился отдельной страницей для ошибок времени выполнения (runtime-ошибок). Это позволяет быстрее выявлять причины сбоев, не обращаясь напрямую к логам агента.
  • Актуализация секретов. При перезапуске конвейера система теперь запрашивает актуальные значения секретов, что позволяет применять обновлённые токены и пароли без пересоздания задачи.
  • Доверенные метки Kubernetes. Контейнеры теперь снабжаются метками woodpecker-ci.org/commit-branch и woodpecker-ci.org/event. Их можно использовать в политиках допуска для ограничения доступа к чувствительным данным в зависимости от ветки или типа события.
  • Расширенные метрики Prometheus. Появилась возможность раздельного мониторинга обычных заданий и служб благодаря добавлению типа шага в метрики этапов.
  • Настройка Unix-сокетов. Для слушателей unix:// введен параметр WOODPECKER_UNIX_SOCKET_PERMISSION, упрощающий настройку прав доступа при работе с обратными прокси.
  • Стабилизация матричных сборок. Порядок создания осей в матричных заданиях стал детерминированным, что делает результаты сборок более предсказуемыми.
  • Переименование переменных. Переменная CI_COMMIT_PRERELEASE теперь называется CI_PIPELINE_RELEASE_PRE для унификации именования параметров релиза.

Разработчики также устранили ряд багов: исправлена проверка циклов в графе зависимостей, ограничена глубина разбора YAML-файлов, устранены ошибки в обработчике релизов GitHub и исправлена работа с пустыми репозиториями в Forgejo. Полный список изменений доступен в официальном ченджлоге релиза.

Готовые сборки сервера, агента и CLI-клиента для различных ОС и архитектур доступны на странице проекта. Пакеты распространяются в форматах DEB и RPM.

Источник: https://www.linux.org.ru