Create HTTP web service which generates Recipes Catalogue dynamically #604
Open
opened 2024-04-02 09:04:00 +00:00 by basebuilder
·
7 comments
Labels
Clear labels
abra
awaiting-feedback
backups
bug
build
ci/cd
community organising
contributing
coopcloud.tech
design
documentation
duplicate
enhancement
fedi
fedi-infra
finance
funding
good first issue
help wanted
installer
legal
performance
proposal
question
security
test
wontfix
Everything to do with abra
Ping/pong on comms
Something is not working
Go build related issues
Getting the robots into the mix
Opening this thing up
Contributors stuff
Our main website
Design thinking required
Let's write things together
This issue or pull request already exists
New feature
Democratic decision making
Money things
Anything related to grant funding
Easy start with development
Need some help
Installation related issues
Performance related
Large change which requires feedback & decisin making
More information is needed
Securing our shit
Unit or integration test suite
This won't be fixed
No labels
proposal
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
3wordchant
aadil (Aadil Ayub)
abra-bot (Abra Bot)
ammaratef45
amras (Sarma)
Apfelwurm
BornDeleuze
Brooke
carla
cas (Cassowary)
coopcloud
cyrnel
decentral1se (d1)
dede
devydave
fauno (fauno)
iexos
jade (Jade Ambrose)
jjsfunhouse
jmakdah2 (Jackie Makdah)
joe-irving (Joe Irving)
kawaiipunk (KawaiiPunk)
knoflook
kolaente
lambdabundesverband
linnealovespie (April)
moosemower
moritz
notplants
oxaliq (sorrel)
p4u1
pharaohgraphy (Andrew 🐦🔥❤️🔥✴️)
renovate-bot (Comrade Renovate Bot)
ripclap
simon
sixsmith (Sixsmith)
stevensting
trav (Trav Fryer)
val (val (he/him))
yksflip
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: toolshed/organising#604
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
I mentioned to @decentral1se last week the idea of generating the
recipes-catalogue-jsonin a new fashion which is dynamically via a minimal HTTP server which could be found atrecipes.coopcloud.tech/apior such.If I understand correctly, the current flow revolves around manually running
abra catalogue generateand committing that to the repo and pushing it. My proposal, I think, would allow that to just happen automagically whenever a new recipe version is published.This would benefit from migration to
coopcloud.tech/recipesorganization detailed in #569 and possibly relate to #599 and also benefit #603Thanks for opening! Under "Operator Collaboration / General Version Improvement" on coop-cloud/organising#583 and in the last fedi meeting (notes: https://docs.coopcloud.tech/federation/minutes/2024-03-29/) we touched on a few ways that we could remove the need for the catalogue repository requirement on the
abraside. But we didn't have an answer for how to still provide pre-computed data for catalogue web UI. This/apicould deffo sort this. And I'm curious on the overlap between ideas of @p4u1 and your ideas @basebuilder. Hopefully to be discussed at the next fedi meeting 🎉It's already automatic for some (many? most?) recipes.
abra recipe sync wordpress/abra recipe release wordpress→ generates and pushes a git tagauto-recipes-catalogue-jsonauto-recipes-catalogue-jsonrebuilds the catalogue and makes a commit torecipes-catalogue-jsonThere's also a daily Drone job which runs
auto-recipes-catalogue-jsonwhich will pick up recipes which don't have thedrone/downstreamstep (either ones created not usingabra recipe new/ the repo template, or older recipes which didn't have that step added afterwards).The main issues I see with the current set-up are:
Copying the above comment into the TODO on Maintainer Handbook could be a start towards addressing (1).
For (2), I think it would be interesting to understand more about the use-cases for 3rd-party recipe catalogues, and maybe make some more progress on the recipe-generation code itself first (i.e. how could we make
abra catalogue generatework if.abra/recipescontains recipes which aren't in git.coopcloud.tech/coop-cloud).It's unlikely that we'll be switching over to a whole new system like this so let's close this one off for now. There are more and more pain points coming up with the release process, so I think it will definitely be something to focus on after the next
abrarelease comes out. As mentioned above, this will most likely be a social process of figuring out what people need to be improved here.I've heard a few hints at this and if it should be a thing, re-opening!
Starting to play around with something for this: https://git.coopcloud.tech/toolshed/almanac
toolshed/recipes-catalogue-json#9