Skip to content

Add safe LDAP auto-provisioning - #111

Merged
bifrost0x merged 2 commits into
mainfrom
dev/discussion-110-ldap-refinements
Aug 15, 2026
Merged

Add safe LDAP auto-provisioning#111
bifrost0x merged 2 commits into
mainfrom
dev/discussion-110-ldap-refinements

Conversation

@bifrost0x

@bifrost0x bifrost0x commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • add an Authentication Source selector for local and LDAP password sign-in
  • add opt-in LDAP auto-provisioning with break-glass and identity-collision safeguards
  • harden the test suite against live deployment data and external service targets
  • document the configuration and cover login, provisioning, CLI, and concurrency behavior

Context

Discussion #110 proposes making LDAP a first-class password authentication source and optionally creating directory-managed users on their first successful sign-in. Existing deployments retain explicit account linking by default.

Behavior

  • LDAP remains opt-in, and LDAP_AUTO_PROVISION defaults to false
  • auto-provisioning happens only after a successful directory bind and requires an active local break-glass administrator
  • local and directory usernames are casefold-unique, with creation serialized across SQLite connections
  • LDAP-managed users cannot be promoted through create-admin
  • pytest isolates data, transfer, and backup paths and disables deployment authentication and rate-limit services before collection
  • real Redis tests require a loopback URL with an explicit non-zero database and delete only their unique rate-limit bucket
  • Paramiko integration tests accept only the exact disposable OpenSSH lab targets produced by the repository runner
  • no database migration is required

Validation

  • pytest tests -q - 1,585 passed, 33 skipped
  • npm run vendor:check - passed
  • npm run lint:js - passed
  • npm run test:js - 200 passed
  • docker compose -f docker-compose.yml -f docker-compose.ldap.yml config --quiet - passed
  • disposable OpenLDAP login flow exercised locally

Implements the direction discussed in #110.

@bifrost0x
bifrost0x marked this pull request as ready for review August 15, 2026 08:26
@bifrost0x
bifrost0x merged commit d68127d into main Aug 15, 2026
15 of 16 checks passed
@bifrost0x
bifrost0x deleted the dev/discussion-110-ldap-refinements branch August 15, 2026 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant