TestVibe 0.4.0
All release notes · Self-hosted upgrade guide
Archived release. Superseded initial release. Appliance copies shared secrets and installation identity; do not install these images.
The administration console. License, mail, single sign-on, AI provider and capacity are configured in a UI instead of by editing environment files, and settings take effect without a restart.
- New administration console — a separate service on its own port (
5120), with a guided setup checklist. It is deliberately not exposed by the Kubernetes chart's ingress: publishing an administrative console should be an explicit decision. - Mail through your own SMTP relay. Earlier self-hosted installs had no supported mail path at
all, so invitations, verification and notifications could not send. Use port
587(submission, STARTTLS) or25; implicit-TLS465is not supported — every mainstream relay offers587. - Single sign-on via OpenID Connect — Entra ID, Okta, Keycloak, Auth0, Ping — plus GitHub and Google, all configurable at run time. The SSO panel prints the exact redirect URI to register with your provider; a mismatch there is the most common reason a first sign-in fails.
- Settings are stored in the instance database and read live. Environment variables still win, and the console marks those fields as locked so it is obvious why one cannot be edited.
- License activation moved into the console — copy the install id, paste the license, no restart.
- Kubernetes — a Helm chart, shipped in the bundle under
kubernetes/and published as an OCI artifact atoci://testvibe.azurecr.io/charts/testvibe. - Appliance — bootable VHDX (Hyper-V Generation 2) and OVA (VMware / VirtualBox) images that run the whole stack natively under systemd, with no Docker and no registry access. Two disks: the OS disk is replaced by an upgrade, the data disk keeps your database, artifacts, identity and license.
Required configuration
Both are set in .env (or your Helm values) before the first start, and the stack refuses to
start without them rather than booting into a broken state.
TV_ADMIN_PASSWORD(orTV_ADMIN_PASSWORD_FILE) — without it the console refuses every sign-in. It fails closed by design, so a broken single sign-on can never lock you out of the console you would use to fix it.TESTVIBE_SECRET_PROTECTION_KEY— required to store credentials in the console. Back it up. It is not a password you rotate; it is the only key to that data, and changing or losing it makes every stored secret permanently unreadable.
TESTVIBE_SECRET_PROTECTION_KEY is not required any more. The line above describes 0.4.0 and
is kept for the record. Since V0274 (shipped in 0.4.6) the app derives its own key into
its own database the first time it needs one, and both the app and the administration console read
it from there — so a new install should not set one, and compose no longer refuses to start
without it.
If your install already sets one, leave it set. An explicit key still wins over the automatic one, and removing it makes everything already encrypted under it permanently unreadable. It is still honoured exactly as described above wherever it is present.
VirtualBox users: set firmware to EFI before the first boot. The appliance is UEFI/GPT. VMware
and ESXi read that from the OVA automatically; VirtualBox does not, and stops at "No bootable
medium found!". Fix it in Settings → System → Motherboard → Enable EFI, or with
VBoxManage modifyvm "<vm-name>" --firmware efi — where <vm-name> is the name the import
gave the machine, which carries the release version (TestVibe-0.4.3 for the 0.4.3 OVA, and so
on). VBoxManage list vms prints it. The OVA's import wizard says so too.