Commit Graph

10 Commits

Author SHA1 Message Date
Charly Koza
960166b0f7 fix(builder-herokuish): fix ARG default value
[Documentation](https://docs.docker.com/reference/dockerfile/#arg)
indicates that arguments must be passed using equal sign `=`.

This fixes error "ARG requires exactly one argument" using Docker
20.10.12 (and possibly many other versions).
2024-09-16 11:21:01 +02:00
Jose Diaz-Gonzalez
7aae7c3788 fix: set permissions correctly on all files in the builder-release process
Due to the execution of profile files when running /exec, it was possible to get into a state where files owned by root would exist in a built herokuish image.

We now instead chown the files directly, which ensures profile files only get executed at runtime.

Closes gliderlabs/herokuish#1212
Refs dokku/dokku#6851
2024-06-22 14:35:34 -04:00
Jose Diaz-Gonzalez
9d6201985e fix: ensure everything in /app is correctly chowned 2024-04-04 02:58:48 -04:00
Jose Diaz-Gonzalez
2937ffb880 fix: make the env vars available to containers created during the pre-release process
We still re-add them in the builder-release phase to ensure users don't set incorrect ones in a custom trigger.
2024-04-04 02:29:01 -04:00
Jose Diaz-Gonzalez
8265517a96 fix: ensure files get created with the correct permissions when building with herokuish
This will allow us to skip more chown operations - and hopefully eventually drop them completely.
2024-03-28 17:09:59 -04:00
Jose Diaz-Gonzalez
681dc93ad9 feat: disable setuidgid as the app is already running as the correct user 2024-03-12 22:27:42 -04:00
Jose Diaz-Gonzalez
dd26850854 chore: double-quote 2024-03-12 22:27:42 -04:00
Jose Diaz-Gonzalez
68d05b230d refactor: simplify file ownership in the container by setting the process ownership during the build process
Rather than require a heavy chown operation across various paths, just chown the files already in the built image during the release process. This ensures we can skip not-only the chown process during the container start that herokuish injects, but also the one that Dokku runs which modifies mounted container paths as well during the pre-deploy.

Note that users will need to ensure any mounted volumes don't have permissions reset by other processes or containers won't be able to access them.
2024-03-12 22:27:39 -04:00
Jose Diaz-Gonzalez
2c47284b31 refactor: copy code into initial base image via docker build
The previous method used an ephemeral container, which was slightly more convoluted and required cleanup. The new method also allows us to set an initial WORKDIR, which is useful for ensuring 'docker exec' works as expected.
2024-02-25 12:40:03 -05:00
Jose Diaz-Gonzalez
3d4252f43c refactor: use a Dockerfile to speed up env var injection for herokuish app builds
Herokuish app builds currently spin up a temporary container and then commit that container. The new approach uses a Dockerfile to perform those same actions, avoiding the need for the temporary container.
2021-08-18 03:16:11 -04:00