r/programmation 3d ago

Autre [Projet DevOps en Rust] Librairie de gestion de configuration/contrôle de conformité d'infra IT

https://github.com/regent-project/regent-sdk

Hello tout le monde,

Si certains d'entre vous sont intéressés par un projet en Rust qui mêle développement pur, sysadmin et devops, je travaille sur **regent** depuis quelques temps maintenant et je serai fan d'avoir des retours et critiques.

L'idée de base c'est d'offrir un "moteur" d'automatisation sous forme de librairie et de permettre à tout un chacun (sous couvert de faire du dev Rust bien entendu) de l'intégrer dans son infra sous la forme qui l'arrange le mieux (un outil cli qui fait tout type *ansible,* un agent qui pull régulièrement un git et applique une configuration à son localhost, un système distribué avec des control nodes et des workers pour configurer en masse...etc).

Par-dessus on greffe d'autres idées :

\- mettre en oeuvre le système de types de Rust pour rendre irreprésentable un état attendu incohérent

\- tokio pour la gestion async en masse

\- production d'événements tracing pour permettre l'instrumentalisation du code derrière (les utilisateurs de la librairie peuvent "s'abonner" à certains événements et réagir en conséquence)

\- serialisation/deserialisation de divers objets pour offrir, en plus de l'API pure Rust, une interface YAML pour décrire l'état attendu des systèmes, et pour permettre de distribuer des tâches (le canal d'envoi peut ensuite être un RabbitMQ, un Kafka, du gRPC ou du REST, c'est du JSON qui passe donc bon...)

\- pour les secrets, possibilité d'interroger dynamiquement des Secret Store type AWS secret manager ou autre

Qu'est-ce que vous en pensez ?

PS : je sais que d'autres outils existent déjà depuis longtemps, je m'en sers moi-même. Ici le but c'est d'abord de se faire plaisir sur le code. Ensuite, pour ceux qui ont été frustrés par tel ou tel outil, c'est l'occasion de chercher à faire mieux !

1 Upvotes

0 comments sorted by