abra app run escaping and environment issues #790
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?
related to coop-cloud/peertube#21 coop-cloud/nextcloud#58
we're running into issues with
abra app runbecause it's inconsistent on escaping shell commands, specially flags (see related issues), but we just ran (!) into an issue where peertube npm run needed access to an environmental secret that was set by the custom entrypoint, butabra app rundoesn't use it by default, so with everything combined the command to reset admin password became:That
-- --is killing me 😆This is usually solved by migrated the env vars into the
abra.sh👇Uhm, I don't know how to reproduce this issue as it currently stands without deploying peertube which I'm not going to do 😛 Do you have a simple reproduction of this issue that can be run locally? You could re-use https://git.coopcloud.tech/toolshed/abra-test-recipe for this.
It's not exactly clear how we want to improve the situation specifically. Can you go a bit more into detail on how you think this can be made better? Obviously the command you had to run is hilariously wild but it's not obvious to me how to improve it 🙃
ah that's nice to know thanks. some ideas:
abra app runsets default user as dockerfile'sUSERUSERisrootsu -c "$@" usercommands that are currently breaking escaping (i'm assuming they're nested sometimes)docker exechas a--userflagabra app runstops parsing flags after the domain or service name--(the second one on my example was required bynpm)abra app runorabra.shreceive env vars by default according to serviceabra.sh'senvironmentfunction but we already set env vars on.envand several.compose.ymlso it feels a bit repetitive / prone to forgetfulnessalso, somewhere here, maybe at yunoesque discussion? mentioned rootless containers, so maybe
abra app runis a complete sidecar in the future?so ideally it would've been like this:
as in "prefix anything the official docs say with abra app run"
i saw this yesterday for further inspiration: https://github.com/bibendi/dip