1 个不稳定版本
0.1.0 | 2023年3月4日 |
---|
#7 in #ldap-client
15KB
300 代码行
Rldap
使用 Rust ldap 绑定,在 docker 容器环境中连接 ldap 服务器
使用 musl 静态构建
cargo build --target x86_64-unknown-linux-musl --release
运行发布版本
cargo run --target x86_64-unknown-linux-musl --release
拉取 Docker 镜像
rldap 是应用程序镜像
rldap-osixia-ldap 是 ldap 镜像
docker image pull fishingboo/rldap:latest
docker image pull fishingboo/rldap-osixia-openldap:latest
容器 .env 配置设置
LDAP_DOMAIN=jacaranda.local
LDAP_SERVER=rldap.jacaranda.local
LDAP_BASE_DN=dc=jacaranda,dc=local
LDAP_BIND_DN=cn=admin,dc=jacaranda,dc=local
LDAP_ADMIN_PASSWORD=Mypasswd@123
测试
使用 shell 脚本 test.sh 通过创建两个容器来测试 rldap。一个是 openldap 服务器,另一个是发送 ldap 请求的 rldap 容器。所有连接默认都使用 ldaps 在 636 端口。
我使用的 openldap 容器是 docker-openldap,我根据 高级用户指南 扩展了我的情况。
你需要 shell 脚本来测试,确保它们有权限
chmod +x test.sh; chmod +x ldap_build/build.sh
构建
使用 Makefile 构建、启动和测试容器
make # run build_ldap, build, up and test
make build # cleanups dangling images and build rldap image
make build_ldap # cleanups dangling images and build rldap-ldap image
make up # after builds steps, up containers rldap-ldap rldap-test
make test # after container start, make rldap-test request to rldap-ldap container
make update # builds rldap to linux-musl in --release target, copy rldap bin and .env to running rldap-test container
make clean # cleanups dangling images, stop containers and remove
依赖关系
~7–23MB
~337K SLoC