Commit Graph

24 Commits

Author SHA1 Message Date
gerblesh
7a74af7342 fix: remove remnants from earlier image signing method 2023-07-24 00:26:03 -07:00
gerblesh
958b616eb8 style: prepend the entry in the JSON rather than append 2023-07-23 23:31:15 -07:00
gerblesh
28735a25ae Merge branch 'template' into image-signing 2023-07-23 19:45:43 -07:00
Jorge O. Castro
0447b185c9 Revert "refactor: clean up image signing to line up more with upstream" 2023-07-23 16:25:37 -04:00
gerblesh
cf41e52129 refactor: fix jq, rename cosign.yaml and cosign.pub 2023-07-23 12:10:12 -07:00
gerblesh
e85e8f6304 style: format whitespace 2023-07-22 23:40:33 -07:00
gerblesh
211a7b05a8 feat: add signature rather than replace to allow rebasing back to uBlue main 2023-07-22 23:38:42 -07:00
gerblesh
23d8b2dddb refactor: clean up image signing to line up more with upstream 2023-07-22 22:07:25 -07:00
gerblesh
978bd6193c fix: fix build arguments 2023-07-21 09:11:59 -07:00
gerblesh
d2c98237f4 feat: add support for image signing 2023-07-20 22:35:59 -07:00
JosSamLoh
2582585ecd refactor: Shorten FEDORA_VERSION line (#90) 2023-06-01 15:50:23 +00:00
Arcitec
3920ba9ab5 fix: remove RPMs after installing RPMs, to guarantee cleanup
This is necessary because the `rpm-ostree install` command lacks any way to exclude "recommended dependency" packages. It installs everything and the kitchen sink.

Therefore, installing something will often pull in a bunch of unwanted dependencies. The best we can do with the current situation is to run the removal after the install, so that users can remove those unwanted components manually and can be sure that they're actually removed.
2023-05-24 17:20:31 +00:00
Arcitec
e8b5be6e83 fix!: optimize container layers and reduce image size
Every individual RUN, COPY and ADD action creates an extra container layer, so there was plenty of room for improvement in our Containerfile.

This optimization gets rid of 4 useless layers from our final container image, and shrinks the final OCI download size as follows:

- Removing the "mkdir /tmp/scripts" layer. It's not necessary to manually create the target directory for the container copy action.

- Removing the manual "chmod +x" for the scripts, and putting that step inside "build.sh" instead.

- Removing the manual copying of "build.sh", by instead placing it at "scripts/build.sh" so that it's automatically copied together with all the other scripts in one layer instead.

- Removing the separate "chmod +x build.sh && run build script" step by merging it with the "cleanup temp files and then finalize the container" step, so that we don't create a pointless extra filesystem layer just for the build.sh script execution.

These changes also reduce the size of the final image, because we're cleaning up the image in the exact same step that we run the "build.sh". If we didn't combine these steps, we'd still be keeping a useless extra layer with all the /tmp/ and /var/ junk files that were left over after the build.

Most seriously, the "/var/cache" folder contained copies of ALL RPM FILES that build.sh installed via "rpm-ostree install". This meant that we were generating a very big layer with a lot of junk data that shipped in the final image.

Our build now only generates 7 layers (instead of 11), and users will have a much smaller OCI download since we aren't shipping the cached RPM "build leftovers" or temp files via useless extra layers anymore.
2023-05-20 08:07:46 +00:00
Eino Rauhala
2fb860e6c1 docs: fix: clarity and grammar updates for scripts docs 2023-05-11 13:57:00 +00:00
ER
6ecd35bc91 docs: add section about creating scripts 2023-05-10 20:05:57 +03:00
ER
ce17069ecf docs: refactor: mv inline docs in autorun.sh
Moving most of the inline docs in autorun.sh to scripts/README.md.
This makes the documentation more discoverable and approachable
(no need to read source code).

This commit also removes redundancies from the inline docs,
clears up some phrasing,
and uses more standard formatting and phrasing such as:
- using `` instead of ""
- calling itself `autorun.sh`
- calling pre and post "execution phases"
2023-05-10 20:05:57 +03:00
ER
69c8b16abc docs: info about manually listed scripts & autorun
removed from recipe.yml in previous commit
2023-05-10 20:05:57 +03:00
ER
4f261a2e8b docs: refactor: create a seprte README for scripts 2023-05-10 20:05:57 +03:00
Arcitec
f0946f74b9 fix: pre-generate empty "pre" and "post" script directories
This saves developers a bit of time by not having to type `mkdir scripts/pre/` anymore. Could things get any lazier than this? ;)
2023-05-10 18:44:25 +03:00
Arcitec
5cacb2fcd8 feat: ultimate laziness achieved with a powerful new script runner
It's so easy that even Homer Simpson could use it to automate the nuclear plant. Enjoy!
2023-05-10 18:44:25 +03:00
Arcitec
20e0a06588 fix: remove extremely verbose "x" flag
The debug "x" flag that prints every command is really excessive.
2023-05-10 18:44:25 +03:00
Arcitec
f24c4072fd fix: use proper shebang line
This is the most portable shebang line and should always be used.
2023-05-10 18:44:25 +03:00
Arcitec
4b9fe0b05b fix: add flags to ensure that build aborts if there are errors 2023-05-10 18:44:25 +03:00
Emmett Wasik (Viv)
37143b0e23 feat: add per-recipe shell script support (#38) 2023-04-24 18:40:51 +00:00