Performance issue with retrieving recipes #377
Labels
No Label
abra
abra-gandi
awaiting-feedback
backups
bug
build
ci/cd
community organising
contributing
coopcloud.tech
democracy
design
documentation
duplicate
enhancement
finance
funding
good first issue
help wanted
installer
kadabra
performance
proposal
question
recipes.coopcloud.tech
security
test
wontfix
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: coop-cloud/organising#377
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Disco bash one-liner/script to move all the recipes to a new gitea organisation, e.g.
coop-cloud-recipes
.Perhaps:
coop-cloud
namespace?coop-cloud-chaos-patchs
org to thecoop-cloud
org and have all the co-op cloud docker images there too? (see #369)Yeh, that sounds good! Potentially gnarly bit of coordination 😬
Is there such a thing as use repository tags or is there some other way to filter?
@decentral1se you mean tag/filter to avoid needing a separate organisation, or to help with the one-off move?
If it's the one-off, I was thinking of just reusing the list in the abra source.
If it's instead of a separate organisation, I'm not aware of anything. We could feasibly add hashtags to the repo descriptions and use those in
catalogue generate
to skip non-recipe repos, but it wouldn't give the benefit of a separate organisation in terms of making it easier to look on Gitea "what non-recipe repos do we have".I don't mind doing the leg-work, either way.
Coördination-wise, yeah, I guess this could be a fairly breaking change, depending on how well Gitea's magic redirection-from-old-repo-names feature works. If the answer is "badly", we'd need to roll a new
abra
release, and possibly One, Even More Final abra-bash release, and make a big noise for folks to update.If that's the case an alternative could be moving the non-recipe repos instead? And if Gitea handles renaming an org better than moving a recipe then you could for example rename this one to
recipes
and move other repos to new orgs liketooling
,organising
andwebsites
. Just ideas...Interesting idea, thanks @mayel! Maybe the next step is to do a couple of tests, see whether Gitea handles a repo move or an organisation rename better.
Great plan 💯
Sad news, Gitea doesn't handle either transferring a repo or renaming an org very well with SSH connections -
Gitea: Unauthorized
in both cases.Maybe a new
coop-cloud-organisation
organisation is the move? Or something less repetitive? 😅 Personally just one more seems good.To come on my "would tags work?" thing, I meant this thing called "topics":
Which produces this
?q=recipes
search:So, I guess that means we can filter by that too with
abra
and other tooling.Workable?
Not against a big move churn in principle but seems like it wouldn't be much fun.
@3wordchant @mayel any further thoughts on #377 (comment)?
It would indeed be great to get rid of the
CatalogueSkipList
hack.consider moving recipe repos to e.g. coop-cloud-recipes orgto Consider moving recipe repos to e.g. coop-cloud-recipes orgGentle reminder @3wordchant @mayel 👀
Thanks for the ping! Yeah I see what you mean about tags / topics, promising so far.
My questions (will research myself unless someone beats me to it):
Maybe tags / topics =
recipe
&dont-generate
I'm definitely thinking to make a move on this sooner than later following this approach btw!
@3wordchant
Diving into the code finally... opened https://github.com/go-gitea/gitea/issues/27456!
The catalogue generation codes makes one additional request per-repo to the topics endpoint now.
WIP PR is coop-cloud/abra#368, it already works.
I added the
recipe
topic to https://git.coopcloud.tech/coop-cloud/example but then indeed, as mentioned in #377 (comment) I needed to special caseexample
.Seems fine? I'm happy to do the manual labelling labours.
Moar ping @mayel @3wordchant any further concerns? Can pick this up otherwise.
OK, went ahead with it as it doesn't seem controversial at this point. Tagged every recipe by hand. Was unable to tag https://git.coopcloud.tech/coop-cloud/matomo with
recipe
topic? Can anyone do it? Idk maybe a permissions thing 🤷♀️There is a performance cost to this. After commit 76f95fe766 the "retrieving recipe repos list" step of
abra catalogue generate
now takes around 28 seconds instead of 2 seconds. This change also relies on Gitea features and an undocumented convention, which would make rolling alternative app catalogues (see #139) harder.I think this mechanism should rely more on previous
recipes.json
content to generate the updated version - it already includes repository url for each recipe. That way for an alternative catalogue it would be possible to push new repos torecipes.json
by hand and also have them kept up to date. Checking organization's projects and their topics could then proceed only for those repositories that weren't included before in a previous pass (so to proceed like it does now, but hopefully with less requests).Another solution could be to use a configuration file that lists ignored repositories and organizations that are watched to find recipes. I hear that some configuration file support is coming with #303, but maybe this should be stored somewhere in coop-cloud/recipes-catalogue-json repo instead.
I might be misunderstanding the catalogue though, it's not yet documented throughly (#523). I like the idea of custom catalogues, and although it could be easier for the project to decide on having "a single source of truth", I hope in the end it will actually get easier to decentralize the catalogue too without relying on a deployment identical to the official one. Having a configurable path to
recipes-catalogue-json
repo inabra
and relying more onrecipes.json
overall will go a long way in that direction.Re-opening & renaming for #377 (comment)
Consider moving recipe repos to e.g. coop-cloud-recipes orgto Performance issue with retrieving recipes@wykwit please DM me on Matrix and let's plan out something? It'd be good to have this working fast again and certainly the points you mention are important. Happy to support you making some progress on this.
decentral1se referenced this issue2024-03-27 06:57:14 +00:00
#569