Skip to content
Hoody.com

Hoody Run is a multi-source application resolver. It searches configured package sources for an application, resolves a request into an exact shell command, and exposes the supporting objects (sources, profiles, recipes, and asynchronous jobs) that make resolution deterministic and repeatable across containers.

A source is one of the catalogs the resolver queries (nix, pkgx, appimage, oci, registry, system). A profile is a named set of default selector values and source overrides, with one profile marked active for the service. A recipe is a saved, named selector template together with the overrides a caller may change. Resolution itself, and the execution of a recipe, are synchronous. Background jobs cover only two things: source syncs, which always run as jobs, and application searches that are queued as a job (a search is otherwise answered directly).

  • Find an application across the configured package sources, not only ones already installed on the container.
  • Resolve a request into the exact shell command that would launch it, with the chosen source and any overrides applied.
  • Manage the catalogs the resolver queries (add a source, list, update, sync, remove).
  • Maintain named profiles that change which sources and default selector values the resolver uses.
  • Define recipes that package a selector and its overrides, so the same application launch can be replayed by name.
  • Track search and sync jobs, and cancel a search job, through the jobs endpoints. Source-sync jobs cannot be cancelled.

Resolve

Search for applications across the configured sources and resolve a request to an exact shell command. Covers application search, lookup, and command resolution as synchronous operations.

Open Resolve

Sources

Manage the catalogs the resolver queries: list, create, fetch, update, delete, and trigger a sync of a source. A source is one of the supported package types (nix, pkgx, appimage, oci, registry, system).

Open Sources

Profiles

Manage named profiles, each a set of default selector values and source overrides. One profile is active for the service at a time and determines the defaults the resolver applies.

Open Profiles

Recipes

Create, list, fetch, update, delete, run, and search recipes. A recipe is a saved, named selector template together with the overrides a caller may change, so the same application launch can be replayed by name.

Open Recipes

Jobs

Track background work: create a search job, list jobs, fetch a job status, and cancel a search job. A search can be queued as a job, and source syncs always run as jobs; resolution and recipe runs do not.

Open Jobs