abra app deploy throws R011 when removing a service
#562
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
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?
Hello, I'm working on the
matrix-synapserecipe where I'm trying to remove our dependency on nginx: coop-cloud/matrix-synapse#47When I try to remove the nginx service from
compose.ymland then runabra app deploy, I get:lint error in matrix-synapse configs: "all services have images" failed lint checks (R011).Steps to reproduce:
~/.abra/recipes/matrix-synapse/compose.ymlto match mine here: https://git.coopcloud.tech/coop-cloud/matrix-synapse/pulls/48/files#diff-31039bcded788fa49a167378a8b1ee509c366f91abra app deploy <domain> -C -dI checked the code briefly but couldn't understand how this would happen, unless abra is pulling the list of services from somewhere other than my edited version of
compose.yml.@mac-chaffee I believe this is happening because in the other
*.compose.ymlyou still have thewebservice but in your changes to the maincompose.yml, you've removed thewebservice. However, the internal do a config merge and then it has no image? For example:In this case, it would seem that the lint logic is linting all
*.compose.ymlfiles which seems wrong? It should probably respect theCOMPOSE_YML=...of the app env vars in the.envfile. However, in this case, it probably is helping catch a "recipe wide" issue. I'm not sure.Thanks for the report.
Ah that was it, thanks!
Yeah seems like the question "should we lint all compose files" could go either way. I'm kinda surprised that combining all of the compose files didn't cause a parsing error. Surely one day a recipe will have conflicting compose files.
If anyone finds this thread in the future, you can view the combined compose file with:
It does print an invalid compose file with duplicate keys.