Artifact Keeper: универсальный реестр артефактов для разработчиков
Artifact Keeper — это универсальный open-source реестр артефактов. Он предлагает замену Artifactory и Nexus и поддерживает более 45 форматов пакетов, включая Maven, PyPI, NPM, Docker и Go.
Этот проект ориентирован на разработчиков и команды, которым нужен безопасный и гибкий способ управления зависимостями и артефактами. Artifact Keeper выделяется внедрением системы плагинов на WebAssembly, что позволяет расширять функциональность, а также интеграцией автоматического сканирования на уязвимости с использованием Trivy и Grype. Если твоя команда сталкивается с множеством форматов, этот инструмент может существенно упростить процесс хранилища артефактов.
Проект написан на Rust и запускается через Docker. Учти, что это еще не полностью завершённый продукт, так что возможны ошибки. Убедись, что он соответствует твоим требованиям перед использованием.
Artifact Keeper — это универсальный реестр артефактов с открытым исходным кодом, поддерживающий более 45 форматов пакетов, таких как Maven, PyPI, NPM, Docker и многие другие. Проект написан на языке Rust и создан для упрощения работы разработчиков с артефактами в процессе разработки программного обеспечения.
Основные возможности
- Поддержка 45+ форматов пакетов — есть поддержки множеством экосистем и форматов, включая Java, Python, JavaScript, Docker, Ruby и другие.
- Плагинная система на базе WASM — гибкость в расширении функционала с помощью пользовательских обработчиков форматов.
- Безопасность — автоматическое сканирование на уязвимости с использованием инструментов Trivy и Grype, а также управление политиками и карантином.
- Репликация Borg — дистрибуция артефактов по сети с поддержкой пиринговой архитектуры.
- Полнотекстовый поиск — возможность поиска по всем репозиториям и артефактам с использованием OpenSearch.
- Миграция из Artifactory — встроенные инструменты для перехода из JFrog Artifactory.
Архитектура проекта
Архитектура проекта включает клиентскую часть, бэкенд, базу данных и системы хранения. Бэкенд написан на Rust с использованием Axum, и поддерживает более 45 обработчиков форматов. База данных PostgreSQL используется для хранения данных, а также интегрированы различные инструменты для сканирования на уязвимости и поиска.
Установка и запуск
Проект можно развернуть с помощью Docker Compose. Для этого ознакомься с руководством по быстрой настройке. Также доступна установка в виде сервиса на Windows (бета) или возможность сборки из исходников.
docker-compose up
Ограничения
При использовании сканеров могут возникнуть сложности с рутовыми правами, что затрудняет работу с некоторыми форматами. Проект требует доступа к интернету для загрузки зависимостей и обновлений, и может не работать без должной конфигурации сетевого окружения. Кроме того, для использования плагинов на базе WASM нужно будет знакомиться с их интерфейсами и требованиями.
Artifact Keeper активно развивается и предполагает участие сообщества в его улучшении, включая разработку новых функций и обработчиков форматов через систему плагинов.
Открыть на GitHub: artifact-keeper/artifact-keeper →
RepoRadar