Выложил freeipa_rpc crate для работы с FreeIPA JSON-RPC на Rust. Пока что содержит минимальный набор операций, буду добавлять по необходимости.
Тестим
Для локального деплоя FreeIPA:
mkdir ipa42
docker run --name freeipa_server -ti \
--privileged \
-p 443:443 \
-h ipa.example.test \
-v $(pwd)/ipa42:/data:Z \
-e PASSWORD='Astra1234' \
freeipa/freeipa-server:fedora-42 \
ipa-server-install -U -r EXAMPLE.TEST --no-ntp
SERVER_IP=$(docker inspect -f '{{ .NetworkSettings.IPAddress }}' freeipa_server)
echo "$SERVER_IP ipa.example.test" | sudo tee -a /etc/hosts
Для запуска тестов:
IPA_BASE_URL="https://ipa.example.test/ipa/" IPA_USER="admin" IPA_PASSWORD="Astra1234" IPA_INSECURE=1 pre-commit run -a