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

manifest: Enable cliwrap #830

Closed
wants to merge 1 commit into from

Conversation

cgwalters
Copy link
Member

@cgwalters cgwalters commented Jan 28, 2021

This functionality has been around for quite a while in rpm-ostree
but I'm not aware of anyone using it. I'd like to turn it
on here so we can gain the benefits, which right now are
better protection against non-ostree-aware commands run as
root (rpm and dracut namely).

A bit more in coreos/rpm-ostree#1789

Closes coreos/fedora-coreos-tracker#730.

@jlebon
Copy link
Member

jlebon commented Feb 1, 2021

This probably deserves higher visibility. Let's discuss it in Wednesday's community meeting.

@bgilbert
Copy link
Contributor

bgilbert commented Feb 2, 2021

Filed meeting ticket at coreos/fedora-coreos-tracker#730.

@jlebon
Copy link
Member

jlebon commented Feb 17, 2021

This was discussed in the community meeting:

AGREED: We will turn on cliwrap in the FCOS next stream to gain feedback. We will document it, and send an email to coreos-status. We will file an f35 Change before turning it on on all streams (as well as possibly other rpm-ostree variants like FSB and IoT).

@cgwalters cgwalters changed the base branch from testing-devel to next-devel February 18, 2021 00:30
This functionality has been around for quite a while in rpm-ostree
but I'm not aware of anyone using it.  I'd like to turn it
on here so we can gain the benefits, which right now are
better protection against non-ostree-aware commands run as
root (`rpm` and `dracut` namely).

A bit more in coreos/rpm-ostree#1789
@cgwalters
Copy link
Member Author

OK rebased 🏄 on next-devel per discussion.

@jlebon
Copy link
Member

jlebon commented Feb 18, 2021

So because of how the branches are setup, to only turn this on for next-devel and next requires is a bit awkward. Basically something like this:

  • PR to next-devel to turn on cliwrap: true in manifest.yaml.
  • PR to next to turn on cliwrap: true in manifest.yaml.
  • PR to testing-devel for the test, which would be conditional on the stream being next*.

@cgwalters
Copy link
Member Author

Ahh right OK. And we should e.g. rpm-ostree status -b | grep -q next-devel in the test to find the stream? I'll look at this soon I hope.

@jlebon
Copy link
Member

jlebon commented Feb 18, 2021

Ahh right OK. And we should e.g. rpm-ostree status -b | grep -q next-devel in the test to find the stream? I'll look at this soon I hope.

Yeah, exactly (maybe just next instead of next-devel for extra greppiness).

@cgwalters
Copy link
Member Author

OK I thought about this more, and I think a better way to go about getting small-scale real world testing for cliwrap is to make it easier to enable client side. We can circle back to enabling it by default later.

@cgwalters cgwalters closed this Mar 3, 2021
cgwalters added a commit to cgwalters/rpm-ostree that referenced this pull request May 14, 2021
This is a better alternative to coreos/fedora-coreos-config#830

Basically rather than trying to send this out to all FCOS users,
it's much saner to allow people to opt-in to it locally.

If we'd finished coreos#2326
then this would be something as trivial as:
```
$ echo 'cliwrap: true' > /etc/rpm-ostree.d/cliwrap.yaml
$ rpm-ostree rebuild
```

Unfortunately that's not the world we live in, so a whole lot of
layers here need crossing to just propagate a boolean.  And it
interacts in a tricky way with our change detection code.

But, it works and will allow people to try this out.

Other fixed problems:

- Our `rpm --verify` wrapping was broken
- Dropping privileges clashed with the default directory being `/root`,
  so `chdir(/)` too
cgwalters added a commit to cgwalters/rpm-ostree that referenced this pull request May 18, 2021
This is a better alternative to coreos/fedora-coreos-config#830

Basically rather than trying to send this out to all FCOS users,
it's much saner to allow people to opt-in to it locally.

If we'd finished coreos#2326
then this would be something as trivial as:
```
$ echo 'cliwrap: true' > /etc/rpm-ostree.d/cliwrap.yaml
$ rpm-ostree rebuild
```

Unfortunately that's not the world we live in, so a whole lot of
layers here need crossing to just propagate a boolean.  And it
interacts in a tricky way with our change detection code.

But, it works and will allow people to try this out.

Other fixed problems:

- Our `rpm --verify` wrapping was broken
- Dropping privileges clashed with the default directory being `/root`,
  so `chdir(/)` too
cgwalters added a commit to cgwalters/rpm-ostree that referenced this pull request May 18, 2021
This is a better alternative to coreos/fedora-coreos-config#830

Basically rather than trying to send this out to all FCOS users,
it's much saner to allow people to opt-in to it locally.

If we'd finished coreos#2326
then this would be something as trivial as:
```
$ echo 'cliwrap: true' > /etc/rpm-ostree.d/cliwrap.yaml
$ rpm-ostree rebuild
```

Unfortunately that's not the world we live in, so a whole lot of
layers here need crossing to just propagate a boolean.  And it
interacts in a tricky way with our change detection code.

But, it works and will allow people to try this out.

Other fixed problems:

- Our `rpm --verify` wrapping was broken
- Dropping privileges clashed with the default directory being `/root`,
  so `chdir(/)` too
cgwalters added a commit to cgwalters/rpm-ostree that referenced this pull request May 19, 2021
This is a better alternative to coreos/fedora-coreos-config#830

Basically rather than trying to send this out to all FCOS users,
it's much saner to allow people to opt-in to it locally.

If we'd finished coreos#2326
then this would be something as trivial as:
```
$ echo 'cliwrap: true' > /etc/rpm-ostree.d/cliwrap.yaml
$ rpm-ostree rebuild
```

Unfortunately that's not the world we live in, so a whole lot of
layers here need crossing to just propagate a boolean.  And it
interacts in a tricky way with our change detection code.

But, it works and will allow people to try this out.

Other fixed problems:

- Our `rpm --verify` wrapping was broken
- Dropping privileges clashed with the default directory being `/root`,
  so `chdir(/)` too
cgwalters added a commit to cgwalters/rpm-ostree that referenced this pull request May 19, 2021
This is a better alternative to coreos/fedora-coreos-config#830

Basically rather than trying to send this out to all FCOS users,
it's much saner to allow people to opt-in to it locally.

If we'd finished coreos#2326
then this would be something as trivial as:
```
$ echo 'cliwrap: true' > /etc/rpm-ostree.d/cliwrap.yaml
$ rpm-ostree rebuild
```

Unfortunately that's not the world we live in, so a whole lot of
layers here need crossing to just propagate a boolean.  And it
interacts in a tricky way with our change detection code.

But, it works and will allow people to try this out.

Other fixed problems:

- Our `rpm --verify` wrapping was broken
- Dropping privileges clashed with the default directory being `/root`,
  so `chdir(/)` too
cgwalters added a commit to cgwalters/rpm-ostree that referenced this pull request May 19, 2021
This is a better alternative to coreos/fedora-coreos-config#830

Basically rather than trying to send this out to all FCOS users,
it's much saner to allow people to opt-in to it locally.

If we'd finished coreos#2326
then this would be something as trivial as:
```
$ echo 'cliwrap: true' > /etc/rpm-ostree.d/cliwrap.yaml
$ rpm-ostree rebuild
```

Unfortunately that's not the world we live in, so a whole lot of
layers here need crossing to just propagate a boolean.  And it
interacts in a tricky way with our change detection code.

But, it works and will allow people to try this out.

Other fixed problems:

- Our `rpm --verify` wrapping was broken
- Dropping privileges clashed with the default directory being `/root`,
  so `chdir(/)` too
cgwalters added a commit to cgwalters/rpm-ostree that referenced this pull request May 19, 2021
This is a better alternative to coreos/fedora-coreos-config#830

Basically rather than trying to send this out to all FCOS users,
it's much saner to allow people to opt-in to it locally.

If we'd finished coreos#2326
then this would be something as trivial as:
```
$ echo 'cliwrap: true' > /etc/rpm-ostree.d/cliwrap.yaml
$ rpm-ostree rebuild
```

Unfortunately that's not the world we live in, so a whole lot of
layers here need crossing to just propagate a boolean.  And it
interacts in a tricky way with our change detection code.

But, it works and will allow people to try this out.

Other fixed problems:

- Our `rpm --verify` wrapping was broken
- Dropping privileges clashed with the default directory being `/root`,
  so `chdir(/)` too
jlebon added a commit to jlebon/fedora-coreos-config that referenced this pull request Feb 16, 2024
As part of the bootable containers effort, we want to put emphasis on a
consistent experience when deriving images. A big part of that is being
able to type `dnf install -y ...` in one's `Containerfile`.

Let's turn on cliwrap for this. This was previously agreed[[1]], but
we ended never shipping it since there was a less invasive way to test
it.[[2]]

Eventually, once dnf5 is ready, it could take on this role (including
package layering on the client-side), at which point we will no longer
need to wrap it.

[1]: coreos#830 (comment)
[2]: coreos#830 (comment)
jlebon added a commit to jlebon/fedora-coreos-config that referenced this pull request Feb 16, 2024
As part of the bootable containers effort, we want to put emphasis on a
consistent experience when deriving images. A big part of that is being
able to type `dnf install -y ...` in one's `Containerfile`.

Let's turn on cliwrap for this. This was previously agreed[[1]], but
we ended never shipping it since there was a less invasive way to test
it.[[2]] Here, we bundle it as part of the Fedora 40 change. This will
naturally allow it to bake in `branched` and `next` for a while before
making it to `stable`.

Eventually, once dnf5 is ready, it could take on this role (including
package layering on the client-side), at which point we will no longer
need to wrap it.

[1]: coreos#830 (comment)
[2]: coreos#830 (comment)
jlebon added a commit to jlebon/fedora-coreos-config that referenced this pull request Feb 16, 2024
As part of the bootable containers effort, we want to put emphasis on a
consistent experience when deriving images. A big part of that is being
able to type `dnf install -y ...` in one's `Containerfile`.

Let's turn on cliwrap for this. This was previously agreed[[1]], but
we ended never shipping it since there was a less invasive way to test
it.[[2]] Here, we bundle it as part of the Fedora 40 rebase. This will
naturally allow it to bake in `branched` and `next` for a while before
making it to `stable`.

Eventually, once dnf5 is ready, it could take on this role (including
package layering on the client-side), at which point we will no longer
need to wrap it.

[1]: coreos#830 (comment)
[2]: coreos#830 (comment)
jlebon added a commit to jlebon/fedora-coreos-config that referenced this pull request Feb 16, 2024
As part of the bootable containers effort, we want to put emphasis on a
consistent experience when deriving images. A big part of that is being
able to type `dnf install -y ...` in one's `Containerfile`.

Let's turn on cliwrap for this. This was previously agreed[[1]], but
we ended never shipping it since there was a less invasive way to test
it.[[2]] Here, we bundle it as part of the Fedora 40 rebase. This will
naturally allow it to bake in `branched` and `next` for a while before
making it to `stable`.

Eventually, once dnf5 is ready, it could take on this role (including
package layering on the client-side), at which point we will no longer
need to wrap it.

[1]: coreos#830 (comment)
[2]: coreos#830 (comment)
jlebon added a commit to jlebon/fedora-coreos-config that referenced this pull request Feb 16, 2024
As part of the bootable containers effort, we want to put emphasis on a
consistent experience when deriving images. A big part of that is being
able to type `dnf install -y ...` in one's `Containerfile`.

Let's turn on cliwrap for this. This was previously agreed[[1]], but
we ended never shipping it since there was a less invasive way to test
it.[[2]] Here, we bundle it as part of the Fedora 40 rebase. This will
naturally allow it to bake in `branched` and `next` for a while before
making it to `stable`.

Eventually, once dnf5 is ready, it could take on this role (including
package layering on the client-side), at which point we will no longer
need to wrap it.

[1]: coreos#830 (comment)
[2]: coreos#830 (comment)
jlebon added a commit to jlebon/fedora-coreos-config that referenced this pull request Feb 22, 2024
As part of the bootable containers effort, we want to put emphasis on a
consistent experience when deriving images. A big part of that is being
able to type `dnf install -y ...` in one's `Containerfile`.

Let's turn on cliwrap for this. This was previously agreed[[1]], but
we ended never shipping it since there was a less invasive way to test
it.[[2]] Here, we bundle it as part of the Fedora 40 rebase. This will
naturally allow it to bake in `branched` and `next` for a while before
making it to `stable`.

Eventually, once dnf5 is ready, it could take on this role (including
package layering on the client-side), at which point we will no longer
need to wrap it.

[1]: coreos#830 (comment)
[2]: coreos#830 (comment)
jlebon added a commit that referenced this pull request Feb 26, 2024
As part of the bootable containers effort, we want to put emphasis on a
consistent experience when deriving images. A big part of that is being
able to type `dnf install -y ...` in one's `Containerfile`.

Let's turn on cliwrap for this. This was previously agreed[[1]], but
we ended never shipping it since there was a less invasive way to test
it.[[2]] Here, we bundle it as part of the Fedora 40 rebase. This will
naturally allow it to bake in `branched` and `next` for a while before
making it to `stable`.

Eventually, once dnf5 is ready, it could take on this role (including
package layering on the client-side), at which point we will no longer
need to wrap it.

[1]: #830 (comment)
[2]: #830 (comment)
aaradhak pushed a commit to aaradhak/fedora-coreos-config that referenced this pull request Mar 18, 2024
As part of the bootable containers effort, we want to put emphasis on a
consistent experience when deriving images. A big part of that is being
able to type `dnf install -y ...` in one's `Containerfile`.

Let's turn on cliwrap for this. This was previously agreed[[1]], but
we ended never shipping it since there was a less invasive way to test
it.[[2]] Here, we bundle it as part of the Fedora 40 rebase. This will
naturally allow it to bake in `branched` and `next` for a while before
making it to `stable`.

Eventually, once dnf5 is ready, it could take on this role (including
package layering on the client-side), at which point we will no longer
need to wrap it.

[1]: coreos#830 (comment)
[2]: coreos#830 (comment)
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.

Discuss enabling rpm-ostree cliwrap
3 participants