Support multiple app catalogues #139

Open
opened 2021-09-09 13:03:39 +00:00 by decentral1se · 5 comments
Owner

So folks don't have to rely on https://recipes.coopcloud.tech.

Will support using own set of releases, recipes etc.

Could support multiple? "official" / "custom" / etc. Unsure.

So folks don't have to rely on https://recipes.coopcloud.tech. Will support using own set of releases, recipes etc. Could support multiple? "official" / "custom" / etc. Unsure.
femmefaytale added the
enhancement
label 2021-09-09 13:26:43 +00:00
decentral1se added this to the Portability testing (software/hardware) milestone 2021-09-09 14:23:34 +00:00
Author
Owner

#321 is related.

https://git.coopcloud.tech/coop-cloud/organising/issues/321 is related.
Author
Owner

Some points while they're flying around in my head:

  • This could fit into #303 perhaps? You could specify which catalogue you want to target and read from there? This might be easy to specify a new catalogue but not multiple?

  • We could support ~/.abra/cataogues.d/... where people can just clone in some directory that has a convention of catalogue.json or something. Then ask abra to merge all those files and present the catalogue internally? How do we deal with conflicting versions though?

  • abra still internally polls git.coopcloud.tech for the recipes listing to build the catalogue on abra catalogue generate and also elsewhere, i believe. this would need a investigation to see how to consolidate catalogue reading into once place that is then pluggable for new catalogues? Unknown.

Some points while they're flying around in my head: - This could fit into https://git.coopcloud.tech/coop-cloud/organising/issues/303 perhaps? You could specify which catalogue you want to target and read from there? This might be easy to specify a new catalogue but not multiple? - We could support `~/.abra/cataogues.d/...` where people can just clone in some directory that has a convention of `catalogue.json` or something. Then ask `abra` to merge all those files and present the catalogue internally? How do we deal with conflicting versions though? - `abra` still internally polls git.coopcloud.tech for the recipes listing to build the catalogue on `abra catalogue generate` and also elsewhere, i believe. this would need a investigation to see how to consolidate catalogue reading into once place that is then pluggable for new catalogues? Unknown.
Author
Owner

Some hardcoded stuff 5739758c3a/pkg/config/env.go (L23-L26) 😬

Some hardcoded stuff https://git.coopcloud.tech/coop-cloud/abra/src/commit/5739758c3a93d724500bd3ca1263d30f13361d3e/pkg/config/env.go#L23-L26 😬
Owner

Like from the high level, we need:

  • A way to generate and maintain independent catalogs (with abra catalog generate or
    whatever)
  • A way of listing them for abra - as suggested above it could be a repo you checkout, but we could also do a sort of metacatalog or like have a catalog descriptor json that says where to get the json from (git or a url or whatever), similar to how apt does it.
  • Define what a catalog is, exactly, from the perspective of a separate organization (a list of repositories for recipes, with versions(tags) ultimately but maybe tightening it down so that running your own catalog wouldn't be too complicated)
  • The logic behind how we select which version of a given recipe (do we simply rank the catalogs and fill the request in rank order, or do we look at the versions across catalogs and take the highest by default unless otherwise specified) - in any case the user needs to be able to list every version of a given recipe which would show which catalog it comes from, and also select any version of a recipe and any version of a recipe+catalog (so i want to use version 1.0 from the cassowary catalog, or i want to use version 0.7 from the coopcloud catalog, there needs to be a way to do that even if the same version appears in multiple catalogs).
  • And still, the local checkout/local version/uncommitted stuff in recipes can override anything to do with that with --chaos at all times.
Like from the high level, we need: - A way to generate and maintain independent catalogs (with abra catalog generate or whatever) - A way of listing them for abra - as suggested above it could be a repo you checkout, but we could also do a sort of metacatalog or like have a catalog descriptor json that says where to get the json from (git or a url or whatever), similar to how apt does it. - Define what a catalog is, exactly, from the perspective of a separate organization (a list of repositories for recipes, with versions(tags) ultimately but maybe tightening it down so that running your own catalog wouldn't be too complicated) - The logic behind how we select which version of a given recipe (do we simply rank the catalogs and fill the request in rank order, or do we look at the versions across catalogs and take the highest by default unless otherwise specified) - in any case the user needs to be able to list every version of a given recipe which would show which catalog it comes from, and also select any version of a recipe and any version of a recipe+catalog (so i want to use version 1.0 from the cassowary catalog, or i want to use version 0.7 from the coopcloud catalog, there needs to be a way to do that even if the same version appears in multiple catalogs). - And still, the local checkout/local version/uncommitted stuff in `recipes` can override anything to do with that with --chaos at all times.
decentral1se added this to the Medium/large enhancements project 2023-06-08 09:33:31 +00:00
Author
Owner

Re-discussed this with @p4u1 again today and #303 definitely seems like a prerequisite for getting this done because we need to be able to define the alternate catalogues URLs (Git or otherwise).

Re-discussed this with @p4u1 again today and https://git.coopcloud.tech/coop-cloud/organising/issues/303 definitely seems like a prerequisite for getting this done because we need to be able to define the alternate catalogues URLs (Git or otherwise).
basebuilder modified the milestone from Portability testing (software/hardware) to Project Gitea Re-organisation 2024-04-15 07:07:48 +00:00
Sign in to join this conversation.
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: coop-cloud/organising#139
No description provided.