feat: serve TUF metadata for Joomla update server endpoints #632

Closed
opened 2026-06-13 13:47:46 +00:00 by jmiller · 0 comments
Owner

Problem

Joomla 6 uses TUF (The Update Framework) to validate extension update metadata. MokoGitea's built-in update server serves updates.xml but no TUF metadata files. This causes Joomla 6 to reject updates with:

TUF Debug Message: Remote timestamp metadata expired
Update not possible because the offered update has expired.

Confirmed: /updates.xml serves correctly, but timestamp.json returns 404 at all attempted paths.

Required TUF Files

  • timestamp.json - short-lived, must be auto-refreshed (e.g. hourly)
  • snapshot.json - references current targets version
  • targets.json - lists update packages with hashes/sizes
  • root.json - trust anchor with signing keys

The critical piece is timestamp.json auto-refresh — if it expires, Joomla refuses updates entirely.

Affected

All repos using MokoGitea built-in /updates.xml endpoint (MokoSuiteBackup, MokoJoomHero, MokoOnyx, etc.)

Discovered testing MokoSuiteBackup on waas.dev.mokoconsulting.tech.

## Problem Joomla 6 uses TUF (The Update Framework) to validate extension update metadata. MokoGitea's built-in update server serves `updates.xml` but no TUF metadata files. This causes Joomla 6 to reject updates with: ``` TUF Debug Message: Remote timestamp metadata expired Update not possible because the offered update has expired. ``` Confirmed: `/updates.xml` serves correctly, but `timestamp.json` returns 404 at all attempted paths. ## Required TUF Files - `timestamp.json` - short-lived, must be auto-refreshed (e.g. hourly) - `snapshot.json` - references current targets version - `targets.json` - lists update packages with hashes/sizes - `root.json` - trust anchor with signing keys The critical piece is `timestamp.json` auto-refresh — if it expires, Joomla refuses updates entirely. ## Affected All repos using MokoGitea built-in `/updates.xml` endpoint (MokoSuiteBackup, MokoJoomHero, MokoOnyx, etc.) Discovered testing MokoSuiteBackup on waas.dev.mokoconsulting.tech.
Sign in to join this conversation.