Commit graph

62 commits

Author SHA1 Message Date
Hikari
0d8fd93917
feat: snippets (#51)
## Goals

This PR adds snippets which is being discussed in #41 .

It will generate snippet lines for *ONLY* our containerfile module

- [x] allow for modules to specify snippets
- [x] append snippets to module run inside Containerfile
- [ ] write supporting test

## Preview
Recipe.yml

```yml
# image will be published to ghcr.io/<user>/<name>
name: orora

description: A starting point for further customization of uBlue images. Make your own! https://ublue.it/making-your-own/

base-image: ghcr.io/ublue-os/silverblue-main
image-version: latest # latest is also supported if you want new updates ASAP

modules:
  - type: signing
    snippets:
      - COPY --from=ghcr.io/blue-build/cli:latest-installer /out/BLUEBUILD /usr/bin/BLUEBUILD
```

Generated Container File snippet

```docker
RUN chmod +x /tmp/modules/signing/signing.sh && source /tmp/exports.sh && /tmp/modules/signing/signing.sh '{"type":"signing","snippets":["COPY --from=ghcr.io/blue-build/cli:latest-installer /out/BLUEBUILD /usr/bin/BLUEBUILD"]}'
COPY --from=ghcr.io/blue-build/cli:latest-installer /out/BLUEBUILD /usr/bin/BLUEBUILD
```

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-02-07 18:03:26 +00:00
Hikari
2492bb0eee
refactor!: rename bb to bluebuild (#50) 2024-02-06 19:55:38 -05:00
Gerald Pinder
c47f80232b chore: Switch back to crate format_serde_error 2024-02-05 22:01:47 -05:00
Gerald Pinder
245ddf032a Merge branch '40-refactor-clean-standard-implementation-of-cli-modules' 2024-02-05 21:35:50 -05:00
Gerald Pinder
d302875020 chore: Update README to show github action use 2024-02-05 20:52:36 -05:00
Gerald Pinder
aab4c0038f
fix: Lowecase registry and update IMAGE_REGISTRY arg (#49) 2024-02-05 18:45:09 -05:00
Gerald Pinder
96b680e4e7 refactor: Separate modules into individual templates 2024-02-04 22:23:22 -05:00
Hikari
8f44bf4ea0
fix: output better serde::yaml errors (#47)
Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-02-04 21:50:00 -05:00
Hikari
59c3cf55bd
fix: Update containerfile to check for presence of cosign.pub (#46)
Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-02-04 20:25:26 -06:00
Gerald Pinder
d7885ded63
feat: Allow default recipe path (#45) 2024-02-04 12:45:20 -06:00
Gerald Pinder
a1751f2f94
fix: Add missing container tags (#37) 2024-02-03 14:09:36 -06:00
Gerald Pinder
7f38fb04e6
feat: Use COPY syntax for files module (#38) 2024-02-03 14:42:42 -05:00
Gerald Pinder
3d56b029af fix: Change local build dir to /etc/bluebuild 2024-02-01 09:55:27 -05:00
Hikari
e069346e15
feat: Bugreport command (#28)
Add a bug report + completions command(not complete yet) so that new
users can easily submit bugs to us, and I wanted completions for bb
(super easy with clap)

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-01-31 09:51:13 -05:00
Gerald Pinder
bdbbcea7cc
refactor: Separate module template from recipe module (#32) 2024-01-28 19:36:20 -06:00
Gerald Pinder
331b91df35
chore: Enable Clippy Pedantic lint (#19) 2024-01-27 13:03:16 -06:00
Gerald Pinder
c32a0604ce
chore: Move recipe out to its own module (#18) 2024-01-27 11:22:30 -06:00
Gerald Pinder
c832bcd1aa
fix: Rebase path not being generated properly (#8)
* fix: Rebase path not being generated properly

* consolidate logic into generate_full_image_name

* Fix nightly build
2024-01-22 17:48:14 -05:00
N16hth4wk
dbbd087b5b
feat: run clippy + BlueBuildTrait (#4)
* feat: run clippy + BlueBuildTrait

* chore: add default run impl; more clippy

* chore: remove vscode folder; not needed

* cleanups

* Move to commands.rs

* Move functions; remove run function implementation from each command

* Remove run impl from init commands

* Use error log

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-01-21 22:26:35 -05:00
Gerald Pinder
e325d5d3a1 fix: Allow single module from-file 2024-01-21 19:25:05 -05:00
Gerald Pinder
b547a326fd feat!: Upgrade and Rebase commands 2024-01-21 23:23:36 +00:00
Gerald Pinder
1b950b08dc nightly(podman-api): Use podman-api crate for building images 2024-01-19 18:55:26 +00:00
Gerald Pinder
754b4516e7 feat!: remove containerfile arg since we use compiled time templates 2024-01-13 22:19:50 -05:00
Gerald Pinder
150aee028b fix: conflicting short args for build subcommand 2024-01-13 22:04:35 -05:00
Gerald Pinder
eaeb79f329 feat: Local image rebasing 2024-01-14 03:02:35 +00:00
Gerald Pinder
ebd399e960 fix: removed unwrap from template to handle with proper error message 2024-01-04 00:10:01 -05:00
Gerald Pinder
d663b7574b refactor: Use askama crate for compile-time template type checking 2024-01-03 23:39:57 -05:00
Gerald Pinder
938ddae891 refactor: inefficiency in generated Containerfile 2024-01-01 18:38:39 +00:00
Gerald Pinder
7dd3a8f0f9 fix: clippy error for image_tag 2024-01-01 12:33:34 -05:00
Gerald Pinder
ca95e3296d fix: Allow image_version to be a String 2024-01-01 12:31:35 -05:00
Gerald Pinder
d3ff4eed93 fix: rename ublue-rs to blue-build 2023-12-30 15:35:34 -05:00
Gerald Pinder
75dc31182f fix: logging 2023-12-30 11:34:00 -05:00
Gerald Pinder
6a15c56a90 feat(github): Add Github support in Build command 2023-12-30 16:32:57 +00:00
Gerald Pinder
7ce70480bf feat(github): Add basic templating support for Github Actions 2023-12-28 17:59:37 -05:00
Gerald Pinder
3b07758709 fix: add support for alpine image and using either podman or buildah 2023-12-28 16:28:34 -05:00
Gerald Pinder
249f852a3f feat(init): Adding new subcommand 2023-12-27 21:40:06 -05:00
Gerald Pinder
aa86f48a5d chore: Switch to using typed builders 2023-12-18 23:36:53 -05:00
Gerald Pinder
ebd861cd7e Refactor Command Structs and create Earthly build 2023-12-19 02:23:31 +00:00
Gerald Pinder
d936000577 Set some env vars for cosign; force color logs 2023-12-18 17:42:23 -05:00
Gerald Pinder
7f4f666b0a fix: improper trim of image digest 2023-12-18 10:05:46 -05:00
Gerald Pinder
b374d54683 fix: Remove single quotes from image_digest 2023-12-18 00:20:57 -05:00
Gerald Pinder
b83cf574b8 feat: Add logging 2023-12-18 00:17:15 -05:00
Gerald Pinder
f437bdaffa fix: clippy 2023-12-17 22:04:27 -05:00
Gerald Pinder
4ea6f772e0 feat(build): Finish build feature 2023-12-17 18:18:46 -05:00
Gerald Pinder
71d93977b9 Start work on build command 2023-12-17 15:34:32 -05:00
Gerald Pinder
785fc2f762 feat!: Remove legacy code" 2023-12-16 20:46:29 -05:00
Gerald Pinder
006966bb35 fix: Move command structs into bin 2023-12-16 20:41:36 -05:00
Gerald Pinder
c6f2e5b18d fix: print module context as json 2023-10-27 22:30:10 -04:00
Gerald Pinder
b1b2b0b2ac fix: Add support for legacy containerfiles and modules containerfiles 2023-10-27 17:07:03 -04:00
Gerald Pinder
85aadf73e5 feat(modules)!: Support new modules based starting point template 2023-10-27 20:26:14 +00:00