Skip to content
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

Add source for osbuild-deploy-container command #11

Merged
merged 15 commits into from
Nov 28, 2023
Merged

Add source for osbuild-deploy-container command #11

merged 15 commits into from
Nov 28, 2023

Conversation

achilleas-k
Copy link
Member

@achilleas-k achilleas-k commented Nov 24, 2023

Partially replaces #5.

This PR adds the source code for the osbuild-deploy-container command, which up until now was only available in a branch on my fork of the images repository.

It depends on some open PRs in the osbuild/images repository for now.

Depends on:

@ondrejbudai
Copy link
Member

Since we have no intentions of pushing this to RHEL for now, what if we don't vendor? We can always start if we need to.

@achilleas-k
Copy link
Member Author

Sure, we can drop the vendoring. I imagine that might make builds a bit slower (and annoying when rebuilding locally) since after cloning the repo and starting the container build, it will have to fetch all the dependencies inside the container.

@achilleas-k
Copy link
Member Author

Noticed a couple of other issues here:

  • We need to get dnf-json from images or osbuild (we should actually start using the new packaged version from osbuild).
  • The Containerfile doesn't copy the sources into the builder.

@ondrejbudai
Copy link
Member

Sure, we can drop the vendoring. I imagine that might make builds a bit slower (and annoying when rebuilding locally) since after cloning the repo and starting the container build, it will have to fetch all the dependencies inside the container.

That's true. 🤔 Not sure if this trade-off is worth it.

@achilleas-k
Copy link
Member Author

Sure, we can drop the vendoring. I imagine that might make builds a bit slower (and annoying when rebuilding locally) since after cloning the repo and starting the container build, it will have to fetch all the dependencies inside the container.

That's true. 🤔 Not sure if this trade-off is worth it.

Easy to fix if it gets annoying.

Single-use binary for deploying a container image using rpm-ostree.
Add a pipelines function based on the Fedora CoreOS deployment pipelines
and partition tables.
Hardcode the container source for now.

A NullWorkload is defined that implements the images Workload interface.
The manifest builds and boots successfully when run manually through
osbuild.
The dnf depsolver, dnf-json, is now packages as osbuild-depsolve-dnf.
Let's install it from the package instead of relying on the images
repository.
Update the entrypoint with double minus for long flags.
- The imgref is now a positional argument.
- The config option requires two dashes.
@achilleas-k achilleas-k marked this pull request as ready for review November 28, 2023 18:31
@achilleas-k
Copy link
Member Author

This is ready now.

Copy link
Member

@teg teg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥳

@achilleas-k
Copy link
Member Author

achilleas-k commented Nov 28, 2023

FTR: Tested working on a Fedora 39 host, built (and booted) quay.io/centos-boot/fedora-tier-1:eln

@teg teg added this pull request to the merge queue Nov 28, 2023
Merged via the queue into osbuild:main with commit ffb24c1 Nov 28, 2023
4 checks passed
@achilleas-k achilleas-k deleted the build-command branch November 29, 2023 11:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants