WIP feat: introduce local recipes #742

Open
p4u1 wants to merge 3 commits from p4u1/abra:local-recipes into main
Owner
No description provided.
p4u1 added 3 commits 2025-12-30 14:16:30 +00:00
feat: introduce local recipes
Some checks failed
continuous-integration/drone/pr Build is failing
8cbf118f66
fix
Some checks failed
continuous-integration/drone/pr Build is failing
e3fe1029da
Author
Owner

@decentral1se @ammaratef45 and others: what do you think about the general idea? If others like this, I can add integratoin tests

@decentral1se @ammaratef45 and others: what do you think about the general idea? If others like this, I can add integratoin tests
decentral1se reviewed 2026-02-02 14:32:08 +00:00
decentral1se left a comment
Owner

Thanks, sounds good to me! People have asked for it also several times.

What happens with a local recipe that doesn't exist in the catalogue? It would be good to write some integration tests indeed that don't just test the direct functionality but also how a local recipe behaves with all the usual commands (abra app deploy, upgrade, etc.). It would be good to adjust some existing tests and make the recipe local and see what explodes.

Thanks, sounds good to me! People have asked for it also several times. What happens with a local recipe that doesn't exist in the catalogue? It would be good to write some integration tests indeed that don't just test the direct functionality but also how a local recipe behaves with all the usual commands (`abra app deploy`, `upgrade`, etc.). It would be good to adjust some existing tests and make the recipe local and see what explodes.
@ -133,0 +128,4 @@
sshURL := ""
dir := ""
local := false
if strings.HasPrefix(name, "./") {
Owner

This needs a docs patch for https://docs.coopcloud.tech/maintainers/handbook/ to explain how you create a "local only" recipe. We have too often created features which go undiscovered for years 🙃 Docs might help avoid this...

This needs a docs patch for https://docs.coopcloud.tech/maintainers/handbook/ to explain how you create a "local only" recipe. We have too often created features which go undiscovered for years 🙃 Docs might help avoid this...
@ -133,0 +129,4 @@
dir := ""
local := false
if strings.HasPrefix(name, "./") {
dir = path.Join(config.ABRA_DIR, name)
Owner

we should also check if the local recipe dir exists.

we should also check if the local recipe dir exists.
Member

The feature makes sense to me, unsure from reading the code but it seems like local recipes will use whatever exists in the directory, so it won't look for a release tag

I wonder if local recipes should also be expected to be a git directory but without the need for a remote (one can exist but abra won't need it)

wdyt?

The feature makes sense to me, unsure from reading the code but it seems like local recipes will use whatever exists in the directory, so it won't look for a release tag I wonder if local recipes should also be expected to be a git directory but without the need for a remote (one can exist but abra won't need it) wdyt?
Some checks failed
continuous-integration/drone/pr Build is failing
This pull request has changes conflicting with the target branch.
  • pkg/app/app.go
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u local-recipes:p4u1-local-recipes
git checkout p4u1-local-recipes
Sign in to join this conversation.
No description provided.