Artifact Keeper - registre d’artefacts générique open source développé en Rust
(github.com/artifact-keeper)Artifact Keeper est un registre d’artefacts self-hosted écrit en Rust, un projet qui vise à proposer une alternative à JFrog Artifactory et Sonatype Nexus. Il est présenté comme prenant en charge nativement, via leurs protocoles, plus de 45 formats de paquets, dont Maven, PyPI, NPM, Docker/OCI, Cargo, Go et Helm.
- Backend basé sur Rust + Axum
- Licence MIT
- met en avant l’absence de « open-core » et d’« enterprise edition »
- Prise en charge de plus de 45 formats, dont Maven/Gradle, PyPI, NPM/Yarn/pnpm, Docker/OCI, Cargo, Go modules et Helm
- fournit un modèle de dépôts Local / Proxy / Virtual
- les dépôts Proxy mettent en cache des registres publics comme npmjs.com, PyPI, Maven Central et Docker Hub
- les dépôts Virtual regroupent plusieurs dépôts Local/Proxy derrière une seule URL et les résolvent dans l’ordre défini
- prise en charge des signatures GPG/RSA pour les paquets Debian, RPM, Alpine et Conda
- Le backend de stockage prend en charge le système de fichiers ou S3
- Utilise PostgreSQL 16 pour les métadonnées et la configuration
- Fournit un pipeline d’analyse de sécurité basé sur Trivy + Grype
- prise en charge du scoring des vulnérabilités, d’un moteur de politiques et d’un workflow de quarantaine
- Prise en charge de l’authentification
- prise en charge de JWT, OpenID Connect, LDAP, SAML 2.0 et de l’authentification par API Token
- prise en charge du RBAC et des permissions au niveau des dépôts
- Fournit un outil pour migrer les dépôts, artefacts, utilisateurs et permissions depuis JFrog Artifactory
- Il est possible d’ajouter des handlers personnalisés de formats de paquets via un système de plugins WASM
- Prise en charge de l’exécution sandboxée basée sur Wasmtime, des limites CPU/mémoire et du hot reload
- Fournit une fonction de réplication d’artefacts basée sur un mesh P2P appelée Borg Replication
- Prise en charge des métriques Prometheus, du tracing OpenTelemetry et des health probes Kubernetes
- Peut être lancé rapidement avec Docker Compose
- Le chart Helm pour les déploiements Kubernetes ainsi que la configuration Terraform/EKS/RDS/S3 sont fournis dans un dépôt IaC séparé
- Le Web Dashboard est séparé dans un dépôt distinct, basé sur Next.js 15, TypeScript et Tailwind CSS 4
- Fournit un dépôt API séparé pour la spécification OpenAPI 3.1 et la génération de SDK TypeScript/Kotlin/Swift/Rust/Python
- Fournit aussi des dépôts pour des applications natives iOS/macOS et Android
Si vous cherchez un registre self-hosted capable de remplacer Nexus ou Artifactory, c’est un projet assez intéressant. L’idée n’est pas simplement « stockage de fichiers + étiquette de format », mais de traiter directement les protocoles natifs utilisés par chaque gestionnaire de paquets, et le modèle de dépôts Proxy/Virtual reste familier pour les utilisateurs de Nexus/Artifactory.
C’est particulièrement pertinent pour les équipes qui souhaitent gérer à la fois Maven, NPM, Docker, PyPI et Helm dans un environnement on-premise ou sur réseau interne, ou qui recherchent un registre proposant scan de vulnérabilités, signature, quarantaine, SSO et RBAC dès la version open source.
1 commentaires
Il semble qu’il existe aussi une solution appelée ProGet, mais celle-ci aura clairement sans doute une consommation mémoire plus faible. Il va falloir que je teste si elle peut remplacer le dépôt Nexus de l’entreprise.