v1.30.0 — renamed to theta-suite
[v1.30.0] - 2026-08-01
The project is renamed theta-env → theta-suite — it has grown from a
docker-compose wiring two projects into an integrated suite of four
applications around a shared OpenBao secrets store, and the name should reflect
that. The GitHub repository is renamed theta42/theta-env →
theta42/theta-suite (old URLs redirect), and the docs site moves to
https://theta42.github.io/theta-suite/.
Changed (theta-suite orchestration)
- Renamed theta-env → theta-suite across the superproject:
docs/_config.yml
(title+baseurl: /theta-suite+ repo URLs),README.md,setup.sh
(incl. theTHETA_SUITE_REEXECEDself-update sentinel),docker-compose.yml,
bootstrap/bootstrap.js,.github/workflows/lint.yml,config.example/*,
docs/robots.txt, all docs pages, and this changelog. - Compose project name note: docker compose derives the project name from
the clone directory, so named volumes follow it (<project>_openbao-data).
A freshgit cloneoftheta-suiteuses thetheta-suiteproject name; an
existing deployment that keeps itstheta-envdirectory keeps its
theta-env_*volumes — no data migration is required, just don't mix the two. - Docs site baseurl is now
/theta-suite, matching the renamed repo's
GitHub Pages URL.
Docs
architecture.mdrewritten. Replaced the outdated "The two containers"
/ "The three repos" framing with the actual topology — four always-on
services (openbao,sso-manager,proxy,jump-host) plus the
ldap-clienthost-enrollment tool — a real diagram, a full Secrets
(OpenBao) section (central store, scoped per-app policies/tokens, the
@simpleworkjs/bao-confboot overlay, per-user KV, external-app minting),
and an OpenBao-aware "how config reaches the apps". Removed the
LDAP-"legacy apps" wording (direct LDAP binds are first-class: Linux hosts
PAM/SSSD, sudo, SSH keys).index.md— integrated-suite framing; added Central secrets (OpenBao)
and ldap-client to "What you get" and "Related projects".standalone.md+README.md— standalone is now framed as an advanced
opt-in; the integrated./setup.shstack is the supported path.
Submodule bump
- sso-manager-node → v1.16.1 — fixes the 401 on
/confand/vaultfor
a logged-in admin. Both view routes 401'd because this app's auth-token is a
header set by client JS (localStorage), not a cookie, soreq.useris
undefined on a browser navigation; the routes now render the shell and gate
client-side (app.auth.forceLogin), with/api/conf+/api/vaultstill
enforcing auth + OpenBao scope server-side. See the
sso v1.16.1 release.