Sortie de 📦 Cratery, un registre privé pour Cargo
Laurent Wouters
2024-07-16
Pourquoi Cratery
Dans l'écosystème Rust, crates.io est le registre public sur lequel sont publiés des bibliothèques open-source qui peuvent être mises en dépendance de nos projets. Ces bibliothèques sont en effet publiques et crates.io ne convient donc pas lorsqu'il s'agit de partager des bibliothèques privées à l'intérieur d'une organisation comme une entreprise. Il faut donc utiliser un registre privé.
Cet état de fait est loin d'être spécifique à Rust et c'est pourquoi des solutions comme Artifactory sont largement déployées en entreprise. Artifactory en particulier supporte déjà Rust et peut servir de registre pour Cargo. Cependant, ces solutions généralistes ne peuvent pas tenir compte des spécificités et besoins de chaque domaine technologique.
Qu'est-ce que Cratery
📦 Cratery est un registre privé pour Cargo, spécifiquement conçu pour répondre aux besoins des organisations dans l'écosystème Rust. L'objectif de Cratery est de fournir les mêmes fonctionnalités que crates.io, docs.rs et deps.rs, mais pour les bibliothèques privées d'une organisation.
Cratery est facilement déployable au niveau d'une organisation. Une image Docker pré-construite est disponible. L'authentification des utilisateurs se fait avec OAuth afin de s'appuyer sur le fournisseur SSO de l'organisation. Aucun compte à créer !
Fonctionnalités
Cratery n'est pas juste un registre pour Cargo, mais fournit les fonctionnalités annexes attendues, en premier lieu la génération automatique de la documentation pour les paquets publiés, à l'instar de ce que fait docs.rs. En effet, dès qu'un nouveau paquet est publié, ou une nouvelle version, la documentation associée est générée et peut être consultée. Cratery prend en charge les liens vers la documentation des dépendances, sur crates.io et en interne bien sûr, mais aussi vers d'autres registres privés le cas échéant.
Cratery a aussi pour objectif de fournir une analyse des paquets publiés afin, d'une part, de documenter les features et dépendances, et à terme, de fournir une analyse des vulnérabilités potentielles de ces dépendances, à l'instar de deps.rs.
Open-Source
Enfin, Cratery est en open-source, disponible sous une licence MIT, permettant ainsi aux organisations et à la communauté d'auditer le code d'une infrastructure qui peut être critique du point de vue de la propriété intellectuelle des entreprises par exemple.
Cratery est open-source, un support commercial est cependant disponible auprès de Cénotélie.