The recipe catalogue problem #696

Open
opened 2026-10-19 09:15:19 +00:00 by decentral1se · 0 comments
Owner

I had mapped out a proposal in https://git.coopcloud.tech/toolshed/almanac but will copy in here:

Issues

  • The recipe catalogue is big and getting bigger. Cloning it locally when
    running the first commands with abra is now becoming super slow. Parsing
    versions and doing on-the-fly catalogue operations in abra is getting
    slower, and slower.
  • It would be better if abra didn't even have catalogue management
    functionality and simply was a "catalogue client" and not also producer. This
    reduces the scope of abra further which has benefits.
  • We need less manual work and more automation to support us so that our
    project remains sustainable as it scales out horizontally (more collectives,
    more recipes, more activity). It would be simpler to have automation which
    doesn't rely on a relatively complex CI/CD
    setup
    .

This was the sketch of a solution:

  • Single binary GUI-less web API instead of a monolithic Git repository (#604).
  • Minimal configuration: point it at a Gitea organsation and you're done.
  • Webhook API for on-demand catalogue generation.
  • Background scheduler for periodic catalogue generation.
  • Optimized recipe API for abra queries (auto-completion, recipe versions, etc.).
  • Re-use the abra catalogue sync command to maintain --offline support.

Feedback is welcome!

I had mapped out a proposal in https://git.coopcloud.tech/toolshed/almanac but will copy in here: > ## Issues > > * The recipe catalogue is big and getting bigger. Cloning it locally when > running the first commands with `abra` is now becoming *super* slow. Parsing > versions and doing on-the-fly catalogue operations in `abra` is getting > slower, and slower. > * It would be better if `abra` didn't even have catalogue management > functionality and simply was a "catalogue client" and not also producer. This > reduces the scope of `abra` further which has benefits. > * We need less manual work and more automation to support us so that our > project remains sustainable as it scales out horizontally (more collectives, > more recipes, more activity). It would be simpler to have automation which > doesn't rely on a [relatively complex CI/CD > setup](https://git.coopcloud.tech/toolshed/organising/issues/604#issuecomment-20279). This was the sketch of a solution: > * Single binary GUI-less web API instead of a monolithic Git repository ([`#604`](https://git.coopcloud.tech/toolshed/organising/issues/604)). > * Minimal configuration: point it at a Gitea organsation and you're done. > * Webhook API for on-demand catalogue generation. > * Background scheduler for periodic catalogue generation. > * Optimized recipe API for `abra` queries (auto-completion, recipe versions, etc.). > * Re-use the `abra catalogue sync` command to maintain `--offline` support. Feedback is welcome!
decentral1se added the enhancement label 2026-10-19 09:15:19 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: toolshed/organising#696