Commit graph

66 commits

Author SHA1 Message Date
Gerald Pinder
9b93713527
feat: Use GitHub's OIDC for signing images (#62)
This change will follow the patter that was established with the GitLab
pipeline. Users will be able to have their images signed by GitHub's
OIDC. This will allow users to rebase directly onto a signed image and
forego using the siging module.
2024-02-14 01:43:47 +00:00
Gerald Pinder
d973f330cb
feat: Alias update for upgrade subcommand (#60)
Co-authored-by: Hikari <lecoqjacob@gmail.com>
2024-02-13 04:40:39 +00:00
Gerald Pinder
fec33d8c98 chore: Rename registry-path arg to registry-namespace but keep previous as alias 2024-02-12 20:32:26 -05:00
Gerald Pinder
6b4c86f01f refactor: Enable clippy nursery lint 2024-02-10 15:32:20 -05:00
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