-
Notifications
You must be signed in to change notification settings - Fork 164
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
embed fscrypt into eve-alpine #2901
Conversation
Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>
We can create own packages and install them using the same mechanism into required packages. Signed-off-by: Petr Fedchenkov <giggsoff@gmail.com>
I like the idea of packaging external dependencies as apks. It is an approach others are taking, notably chainguard with their melange and apko. I do not think this should be in FROM lfedge/eve-dependencies:hijkl AS depends
FROM lfedge/eve-alpine:abcdef AS base
ENV PKGS bash curl git # etc. etc.
RUN eve-alpine-deploy.sh An alternative might be not to use apks, but yes have a dependency image. So we build and install lots of dependencies for the dependencies image, and the downstream looks like: FROM lfedge/eve-dependencies:hijkl AS depends
FROM lfedge/eve-alpine:abcdef AS base
ENV PKGS bash curl git # etc. etc.
RUN eve-alpine-deploy.sh
COPY --from=depends /pkg/fscrypt /src/fscrypt On the other hand, my concern with a single upstream |
Petr, do you have an understanding what we put inside a package or what we put inside a container? If you dont we need to define that. Otherwise there will be a zoo of build approaches. Also for me is not clear what benefits do we have hiding a tool inside the alpine package rather than a container. For me this only increases complexity of the build system, because now (as a developer) I should be aware how to construct an alpine package and frankly I don't have any interest to grasp this knowledge. |
Good point, it adds complexity of wrapping build process. Unfortunately I have no good answer what I would like to see as wrapped packages and what to leave as a separate package. This draft PR inspired by two another PRs:
I try to imagine how to refactor dependencies we have and wrap them into some kind of pattern we will able to parse later. |
No, we do not need it. This is an alternate approach, and one that is well worth considering. On the other hand, as @giggsoff and @rouming raised above, it increases complexity of the build process not just by adding a step, but also by requiring a different packaging process. I would like us to keep this open to discuss:
|
Let me close this until we will decide where to locate packages |
We can create own packages and install them using the same mechanism
into required packages.