Elda Native Forge Hosting

May 30, 2026 ยท View on GitHub

Operator documentation for hosting Elda package metadata, recipe Git repositories, binary payloads, caches, and forge workflows. Behavior contracts live in SPEC.md.

Example maintainer used throughout:

  • developer: Rikona
  • GitHub user: Mjoyufull
  • project repo: https://github.com/Mjoyufull/Elda

What Elda Hosts (and What You Still Operate)

Elda ships the client/runtime pieces for native hosting:

SurfaceYou provideElda commands
ForgeGit host, review, tokens, CI runnerselda ci, elda forge
RemoteSigned index, optional packages_url, trust keyselda rmt *, elda sync
CacheStatic HTTP by content digestelda cache *, elda-populate
InteremoteUpstream overlay / srcpkgs Git repoelda rmt preview, elda sync
Snapshot importOne URL of foreign metadataelda a <url> (one-time local recipes)

Elda does not run a turnkey hosted binary service. Your CI or upload job still publishes to GitHub/GitLab/Gitea Releases, object storage, a static HTTP host, or a LAN mirror.

Choose Your Hosting Pattern

GoalStart here
AUR-like: recipes in Git, users build from sourcepatterns/aur-style-source-only.md
Binhost-style: prebuilt payloads + signed indexpatterns/binhost-style-binary.md
Full forge: Git review + CI + publish + clientspatterns/full-forge-with-ci.md
Mirror someone else's payloads locallypatterns/lan-cache-mirror-only.md
Consume Gentoo overlay or Void srcpkgs as a remoteinteremote-foreign-repos.md
One-time import, not a living remotesnapshot-import-vs-interemote.md

Pick a Git or HTTP Platform

PlatformGuide
GitHubplatforms/github.md
GitLab (hosted or self-hosted)platforms/gitlab.md
Gitea / Forgejoplatforms/gitea-forgejo.md
SourceHutplatforms/sourcehut.md
Any static HTTP / S3 / nginx / Caddyplatforms/generic-static-http.md
Bitbucket, Codeberg, plain git://platforms/bitbucket-and-others.md

Platform guides cover where to put the recipe repo, signed index, payloads, and submission tokens. The pattern guides explain what fields each deployment style needs.

Core Topics (Platform-Agnostic)

  1. Core model - forge vs remote vs cache vs interemote
  2. Repository layout - packages/<pkgname>/, published index tree, cache digests
  3. Getting recipes into Git - rc add, elda a, ci sub, vendor, bulk import
  4. Source-only native remote
  5. Binary / binhost native remote
  6. Trust and signing
  7. Cache server
  8. Interemote foreign repos
  9. Snapshot import vs interemote
  10. Host maintainer tools - host *, publish *, /etc/elda/host.d/
  11. Maintainer workflow - ci sub, ci run, publish steps
  12. Client setup recipes
  13. Recommended defaults
  14. Reference files in this repo

Quick Rules

  • elda sync reads remotes, not caches.
  • Remotes carry package names, versions, deps, packages_url, repo_commit, and optional binary asset_url / sha256 / payload_sig.
  • Caches only answer GET <cache base>/<sha256>.
  • Source-only remotes are real remotes when the signed index includes pkg_lua, repo_commit, and packages_url.
  • Interemotes re-sync from upstream Git; snapshot imports write editable local recipes once.