Skip to main content

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) or 25; implicit-TLS 465 is not supported — every mainstream relay offers 587.
  • 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 at oci://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 (or TV_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.
info

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.

warning

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.