mirror of
https://github.com/lldap/lldap.git
synced 2026-04-26 00:36:01 +03:00
[PR #1279] [CLOSED] feat: readonly backend #1228
Labels
No labels
backend
blocked
bug
cleanup
dependencies
docker
documentation
duplicate
enhancement
enhancement
frontend
github_actions
good first issue
help wanted
help wanted
integration
invalid
ldap
pull-request
question
rust
rust
tests
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/lldap-lldap#1228
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/lldap/lldap/pull/1279
Author: @thielj
Created: 9/5/2025
Status: ❌ Closed
Base:
main← Head:pr-db_options_readonly📝 Commits (6)
f0151caDB Connection Pool configurationf9bdff7fix cargo fmt issues ; add server shutdown log statementebb1fe1feat: DB_OPTIONS (cont.)6ac76fafeat: add PasswordService for async cryptographic operations on background threadbb4083cfeat: add readonly mode support to SqlBackendHandler and related components;b73bddffeat: readonly mode support (cont.)📊 Changes
15 files changed (+843 additions, -163 deletions)
View changed files
📝
crates/domain-handlers/src/handler.rs(+1 -0)📝
crates/sql-backend-handler/Cargo.toml(+1 -0)📝
crates/sql-backend-handler/src/lib.rs(+1 -0)➕
crates/sql-backend-handler/src/password_service.rs(+428 -0)📝
crates/sql-backend-handler/src/sql_backend_handler.rs(+13 -5)📝
crates/sql-backend-handler/src/sql_group_backend_handler.rs(+16 -1)📝
crates/sql-backend-handler/src/sql_opaque_handler.rs(+43 -63)📝
crates/sql-backend-handler/src/sql_user_backend_handler.rs(+37 -5)📝
crates/test-utils/src/lib.rs(+3 -1)📝
lldap_config.docker_template.toml(+18 -13)📝
server/src/cli.rs(+35 -0)📝
server/src/configuration.rs(+65 -4)📝
server/src/main.rs(+92 -28)📝
server/src/tcp_server.rs(+57 -43)➕
test_password_service.rs(+33 -0)📄 Description
PR 3/3 - this builds on top of PR2 and I had to include PR1 to not cause a merge conflict (two adjacent lines from each PR). PR1 is NOT required though.
Changes:
readonlyconfiguration option toDbOptionsfn is_readonly()toBackendtraitreadonlyflag toSqlBackendHandlerMotivation:
Deploying 'headless' local LLDAP instances using a read-only replica - or for some use cases, maybe even sync'ed SQLite files. Users are typically directed to a single master instance for all account operations.
Configuration:
Add
readonly = trueto the[db_options]section to enable readonly mode.Testing:
TBD:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.