-
Notifications
You must be signed in to change notification settings - Fork 11
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
Only include yq in the resulting image when modules require it at runtime #261
Comments
I would rather just #216
Refactoring modules to not need Depending on which approach is chosen for including Nushell, conditionally including
cli/template/templates/stages.j2 Line 28 in c774a80
|
I agree. However, @RoyalOughtness might consider this move as adding additional attack surface, since bash already exists. I would like to know his opinion on this regarding security. We'll likely only install nushell when necessary, like you mentioned.
Yes, that's correct. |
True. Nushell is probably alright regarding security (based on vibes alone) and I wouldn't imagine it having a similar issue as |
Do we store files as YAML at all, or are they stored as JSON? Because if they're stored as JSON, we can probably get away with just installing JQ instead. |
According to #216, they are provided as JSON. I can switch And with that, I think that we can just install |
Perfect! Let's go with this path then. |
Ok there appears to be more than just
How does that sound? |
What I meant by only
|
I'm not sure what you mean. This is all inside the build, not in the CLI itself. The CLI can handle reading YAML and JSON without the need for |
I think Step 3 should be done for the |
Ok, we've got a patch out that ensures that |
@gmpinder Should we make a successor function for |
Hmm, yeah, that would probably be better for consistency's sake. |
Added a comment about using New GitHub UI might make my comment harder to see on commit, so typing here. |
Good point. I will go in and change that. |
It's changed and I made a release, however I've come across some bugs that I hadn't noticed before so I'm working on getting those taken care of before I do another patch release. @xynydev @fiftydinar if you can hold off on merging any |
One concern; doesn't removing Edit: apparently both versions are kept now, and will be removed in |
Ok, I've got the new |
This prepare for |
I see that currently |
The advantage of this approach is that we'll likely get newer versions of Don't know how COPY in container behaves when file already exists though, like in current situation. It probably overwrites it? |
I think it overwrites it, yeah. |
1st v1.7.1 version that appeared on Fedora is on 5th January 2024. so there's a little delay on Fedora's side. |
Those are the files that Fedora's spec file copies (ommited documentation & copyright stuff):
This lib should be removed to not conflict with container Or we can be safe to not install |
The lib might be used by something. I wouldn't imagine there's a conflict. We could check if |
Too complicated to do since that would require running the image as a container before generating the Containerfile. |
Ah, good point. Maybe we can just keep it as-is, which reduces support for non-Fedora distros, but oh well. Or see if the container image includes |
If this is a library that is installed from Fedora packaging, then we could inadvertently break someone's build by replacing the jq binary with a newer version. I'm voting on keeping it installed with |
Currently only Fedora is the supported Distro here, so I honestly don't care. There's been no movement to anything else in months so I'm not going to waste time optimizing for a theoretical |
That's a self-fulfilling prophecy, but sure. The reasoning in this case seems solid. |
@RoyalOughtness |
Currently, all images built with bluebuild will include yq, regardless of whether they need it.
yq consistently lags behind on golang versions, meaning it triggers a number of trivy findings if included. So ideally, it would only be included in images that require it at runtime.
The text was updated successfully, but these errors were encountered: