Conversation
💙 Build successful! 💙Preview deployment: https://recipe-v2-bluebuild-website.xyny.workers.dev/ |
|
I started writing this, and, well, trying to document something truly might be an ultimate test of whether it makes sense or not. It turns out, I might have been too eager to approve the Recipe V2 spec as it is... Here are some things that hurt my brain while writing this:
|
| # repository: bluebuild/base-images/fedora-silverblue | ||
| # tag: gts | ||
|
|
||
| # we can now verify the base image using a public key |
There was a problem hiding this comment.
The code for this hasn't been written quite yet
There was a problem hiding this comment.
Maybe it should be done before V2 is out?
There was a problem hiding this comment.
Yes definitely. I'll put it behind a feature flag until it's all ready in case I gotta push a patch out
|
|
||
| That's alright. You do not need to use it. | ||
|
|
||
| ## Refactoring a Recipe from V1 to V2 |
There was a problem hiding this comment.
I'm planning on adding a recipe subcommand which will allow upgrading the recipe file automatically, though this process would end up deleting any comments the user added. That way it's easier for the user to upgrade.
There was a problem hiding this comment.
Good call. I shall document this in the announcement as well. I think having both the manual instructions and the automatic method is good, especially since it deletes comments.
| cosign: none | ||
| nushell: none |
There was a problem hiding this comment.
By default in v2, cosign and nushell won't be automatically installed unless a version is explicitly set, so removing these 2 lines would be equivalent to setting them as none in v1. The bluebuild CLI still follows the v1 pattern though where it's automatically installed since it's our tool.
There was a problem hiding this comment.
Oh, I guess I should refactor this part then. We don't need these tools on image anymore?
Oh and BTW, I don't/didn't think Nushell was ever installed in PATH. At least on my machine I added /usr/libexec/bluebuild/nu to PATH manually for testing purposes. The only purpose of Nushell on the image is to make dependent modules work, and using the BlueBuild Nushell version is very much opt-in.
If it isn't automatically installed, what happens to modules like default-flatpaks? Does Nushell get installed automatically when a dependent module is installed?
There was a problem hiding this comment.
If it isn't automatically installed, what happens to modules like default-flatpaks? Does Nushell get installed automatically when a dependent module is installed?
Wait are the scripts used by systemd written in nushell? Not just the module?
There was a problem hiding this comment.
Yes, and small CLI bluebuild-flatpak-manager too. They all use a #!/usr/libexec/bluebuild/nu/nu shebang so that Nu need not be in path.
There was a problem hiding this comment.
Ok, I'll change the logic for nushell then. Cosign isn't needed by default since the CLI has the sigstore crate. That will become the only method the CLI uses for cosign activities in 1.0
There was a problem hiding this comment.
We should probably deprecate cosign installation when it become unused then? There's no need to have a feature in BlueBuild that just installs one program that is not needed IMO.
I'm fine with changing it. We haven't released the changes yet. |
The whole point was to make the schema more extensible for any new features we might end up adding. Also there's nothing saying we couldn't also support TOML or JSON for the recipes later. |
I'd be fine making it optional. |
|
Yeah, I don't think we have to do anything about this. It's all fine. It was just something that stuck out to me. |
I think it would make sense, but since our template has a description and the description can be an empty string, it's not a huge deal, and we can make the change whenever. |

No description provided.