4
Metadata-Settings
Jonathan Miller edited this page 2026-07-14 16:02:17 -05:00

Metadata Settings

Per-repo identity, governance, deployment, and build metadata stored in the database.

API

  • GET /api/v1/repos/{owner}/{repo}/metadata -- read settings (public, no auth required)
  • PUT /api/v1/repos/{owner}/{repo}/metadata -- update (merge semantics, only provided fields change)

Key Changes (v1.27.0)

  • Endpoint renamed from /manifest to /metadata
  • package_type renamed to extension_type
  • display_name is now read-only -- computed as {ExtensionType} - {Name} (e.g. Package - MokoSuiteBackup)
  • org is now read-only -- derived from the org profile (repository owner), not stored, so it never drifts on rename (#771)
  • platform dropdown options are now admin-configurable (see below) rather than hardcoded (#777)
  • .mokogit/manifest.xml file is no longer used -- metadata is API-only
  • GET endpoint is public (no authentication required)
  • Deploy fields added: deploy_host, deploy_port, deploy_user, deploy_path, docker_image, docker_registry, container_name, health_url

Web UI

Settings are available in repo Settings > Metadata tab. The web form supports: name, description, license, platform, extension type, entry point, and deploy fields. org is shown read-only (derived from the org profile).

Platform Options (admin-configurable)

The Platform dropdown values are configured instance-wide by an administrator, not hardcoded. Edit them at Admin -> Metadata; changes take effect immediately and are persisted to app.ini.

  • Default seed: joomla, dolibarr, go, npm, generic
  • Adding, removing, or renaming a platform needs no code change or redeploy
  • A repo's existing platform value stays selectable even if later removed from the list (no silent drop on save)

app.ini:

[metadata]
PLATFORM_OPTIONS = joomla,dolibarr,go,npm,generic

Deploy Fields

Used by CI/CD workflows for automated deployment:

Field Description
deploy_host SSH hostname for deployment
deploy_port SSH port
deploy_user SSH username
deploy_path Deployment directory on host
docker_image Docker image name
docker_registry Docker registry URL
container_name Docker container name
health_url URL to check after deployment