Releases: isnogudus/weft
Releases · isnogudus/weft
Release list
weft v0.2.0
Automated build for v0.2.0. See CHANGELOG.md.
weft 0.1.0
weft is a small, opinionated, single-binary web UI to administer users and
groups in an existing external LDAP server — primarily OpenBSD ldapd(8) — via
passthrough bind. No embedded directory, no service account.
Highlights
- Single static binary: Go backend with an embedded Svelte 5 SPA + JSON API.
- Passthrough-bind auth; admin = the ldapd
rootdn(configurable bind DN, logged at startup). - Opinionated layout:
ou=people(RDNuid),ou=groups(posixGroup only), shared default primary group. - Users with optional POSIX and Mail profiles; collision-safe uid/gid allocation; bcrypt
{CRYPT}passwords. - Group management with effective-group view (primary via gidNumber + supplementary via memberUid).
- uid rename via add → memberUid fix-up → delete (ldapd has no ModifyDN).
- Idempotent setup wizard that provisions the base entry, OUs and default group on an empty directory.
- Self-service (own profile/groups, own password) and a read-only user detail view.
- Bilingual UI (German/English) with a runtime toggle.
- Security: server-side sessions, HttpOnly/Secure/SameSite=Strict cookies, CSRF token, login rate limit, enforced TLS to LDAP (optional
-insecure), request logging. - OpenBSD operational examples:
ldapd.conf(schema + ACLs),rc.d,relayd.
Install (OpenBSD)
Download the attached static binary, or build it yourself with make build-openbsd.
doas install -o root -g bin -m 0555 weft.openbsd-amd64 /usr/local/bin/weftSee the README for ldapd.conf ACLs, the setup wizard, and running behind relayd.
Full notes: see CHANGELOG.md.