Linux Directory — shape of the present system

Current capabilities and design boundaries of Linux Directory.

Linux Directory — shape of the present system

What it is

Linux Directory (lindir) gathers identity, host policy, optional VPN plugins, and native fleet care — inventory, labels, packages across apt/pacman/dnf/zypper, energy policies, remote queries and scripts — together with day-to-day operations: an attention dashboard, account policy, enroll tokens, and searchable audit. See Fleet and Handbook §12.

Capabilities

Area What you have
Users, groups, hosts Full directory objects in SQL
Host enrollment Admin enroll, client enroll, and one-shot len_… tokens
Account policy Length, expiry, lockout, must-change, disable
HBAC Group↔host login rules (empty rule set allows all — tighten before production)
Central sudo Rules distributed on sync
SSH key distribution Public keys for users, applied on sync
OIDC / app SSO RS256, refresh tokens, public/PKCE clients
Passkeys / WebAuthn ES256 registration and OIDC sign-in
Offline / cached login Hardened client cache against 401/403
Read-only LDAP gateway Bind and search projection from SQL
Tailscale / Headscale / WireGuard Optional pluggable mesh providers
Admin API HTTP JSON (openapi.json)
Admin CLI lindir-admin
Admin Web UI Vue 3 at /admin
Ops attention /v1/ops/attention
Audit Filters, CSV export, expandable package-job logs
Fleet inventory & labels Distro-aware package and host metadata
Fleet packages Install, remove, upgrade, refresh, reboot, update-client; label targeting
Fleet vulnerability findings Ubuntu Security, Arch AVG, OSV (Debian/RHEL/SUSE); findings for operators
Fleet energy policies Idle sleep, screen blank/off, lid via logind/DPMS/dconf
MDM compliance Distro/encryption/password/custom scripts; lock and retire; OIDC device gate
Fleet queries & scripts Define and queue; results under Runs
Storage PostgreSQL or MySQL/MariaDB (plus in-memory for labs)
Platforms Ubuntu LTS and CachyOS (server + client); Debian, Fedora/RHEL-like, openSUSE clients
Packaging .deb, PKGBUILD, RPM, install scripts

Design commitments

  1. Server backend: D (dub; LDC preferred for release builds).
  2. Storage: PostgreSQL or MySQL/MariaDB — SQL is the system of record.
  3. Platforms: CachyOS and Ubuntu first-class for server and client; Debian, Fedora/RHEL-like, and openSUSE first-class for the client.
  4. VPN is optional; LAN-only fleets need no mesh provider.
  5. The product is built for Linux fleets — laptops and servers under one directory — without a Windows domain-protocol layer.
  6. Emphasis: remote care of hosts (packages, energy, compliance, optional VPN).

Natural boundaries

  • Kerberos realms, Dogtag CA, and integrated DNS remain external companions when you want them.
  • Compliance actions are lock and retire; there is no factory-reset wipe path.
  • Device posture can gate OIDC clients that require a compliant device.
  • Mail, calendar, and groupware live in companions such as Nextcloud via OIDC (Handbook §8.6).
  • LDAP is a read-only projection of SQL, not the primary store (LDAP Gateway).
  • Agent updates through packaged repos, or the fleet update-client job (Fleet).