Skip to content

Conversation

kkaarreell
Copy link
Collaborator

@kkaarreell kkaarreell commented Oct 21, 2025

Summary by Sourcery

Include host SSH keys and resolv.conf in the bootc kernel IMA module test image build to maintain SSH access and DNS resolution

Enhancements:

  • Preserve host SSH keys and DNS configuration by copying /root/.ssh and /etc/resolv.conf into the build context in test.sh
  • Update Containerfile to include the .ssh directory in /var/roothome and overwrite /etc/resolv.conf in the container image

@kkaarreell kkaarreell self-assigned this Oct 21, 2025
Copy link

sourcery-ai bot commented Oct 21, 2025

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Enhance the test setup by preserving SSH keys and DNS resolver configuration through the build context and into the container image.

Flow diagram for copying SSH keys and resolv.conf during container build

flowchart TD
    A["Start Container Build"] --> B["COPY .ssh to /var/roothome/.ssh"]
    A --> C["COPY resolv.conf to /etc/resolv.conf"]
    B --> D["Container has SSH keys"]
    C --> E["Container has DNS config"]
Loading

File-Level Changes

Change Details Files
Add copying of SSH keys and resolver config to the working directory in the test script
  • Add command to copy /root/.ssh to CWD
  • Add command to copy /etc/resolv.conf to CWD
setup/bootc_configure_kernel_ima_module/test.sh
Include SSH keys and resolver config in the container image
  • COPY .ssh to /var/roothome/.ssh
  • COPY resolv.conf to /etc/resolv.conf
setup/bootc_configure_kernel_ima_module/Containerfile

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@kkaarreell kkaarreell merged commit 3b6bf2d into main Oct 21, 2025
1 of 2 checks passed
@kkaarreell kkaarreell deleted the backport/20251021_46586_main branch October 21, 2025 10:56
Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey there - I've reviewed your changes and they look great!

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location> `setup/bootc_configure_kernel_ima_module/Containerfile:8-10` </location>
<code_context>
 COPY 10-ima_kargs.toml /usr/lib/bootc/kargs.d/10-ima_kargs.toml
 COPY ima-policy /etc/ima/ima-policy
 COPY yum.repos.d/* /etc/yum.repos.d/
+COPY .ssh /var/roothome/.ssh
+COPY resolv.conf /etc/resolv.conf
 ARG KEYLIME_BOOTC_INSTALL_PACKAGES="rsync beakerlib selinux-policy-devel swtpm swtpm-tools nmap keylime expect"
</code_context>

<issue_to_address>
**🚨 suggestion (security):** Consider file permissions and ownership for copied SSH directory.

Ensure that after copying the .ssh directory, you set appropriate permissions and ownership to protect private keys and restrict access to the intended user. Consider adding a RUN command for this purpose.

```suggestion
COPY .ssh /var/roothome/.ssh
RUN chown -R root:root /var/roothome/.ssh && \
    chmod 700 /var/roothome/.ssh && \
    find /var/roothome/.ssh -type f -name "id_*" -exec chmod 600 {} \;
COPY resolv.conf /etc/resolv.conf
ARG KEYLIME_BOOTC_INSTALL_PACKAGES="rsync beakerlib selinux-policy-devel swtpm swtpm-tools nmap keylime expect"
```
</issue_to_address>

### Comment 2
<location> `setup/bootc_configure_kernel_ima_module/Containerfile:9` </location>
<code_context>
 COPY ima-policy /etc/ima/ima-policy
 COPY yum.repos.d/* /etc/yum.repos.d/
+COPY .ssh /var/roothome/.ssh
+COPY resolv.conf /etc/resolv.conf
 ARG KEYLIME_BOOTC_INSTALL_PACKAGES="rsync beakerlib selinux-policy-devel swtpm swtpm-tools nmap keylime expect"
 RUN dnf -y install ${KEYLIME_BOOTC_INSTALL_PACKAGES}
</code_context>

<issue_to_address>
**question (bug_risk):** Overwriting /etc/resolv.conf may interfere with container DNS resolution.

Copying resolv.conf may disrupt container DNS settings. Please confirm this is required, and if so, document the reason and provide a way to restore or update DNS configuration as needed.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines +8 to 10
COPY .ssh /var/roothome/.ssh
COPY resolv.conf /etc/resolv.conf
ARG KEYLIME_BOOTC_INSTALL_PACKAGES="rsync beakerlib selinux-policy-devel swtpm swtpm-tools nmap keylime expect"
Copy link

Choose a reason for hiding this comment

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

🚨 suggestion (security): Consider file permissions and ownership for copied SSH directory.

Ensure that after copying the .ssh directory, you set appropriate permissions and ownership to protect private keys and restrict access to the intended user. Consider adding a RUN command for this purpose.

Suggested change
COPY .ssh /var/roothome/.ssh
COPY resolv.conf /etc/resolv.conf
ARG KEYLIME_BOOTC_INSTALL_PACKAGES="rsync beakerlib selinux-policy-devel swtpm swtpm-tools nmap keylime expect"
COPY .ssh /var/roothome/.ssh
RUN chown -R root:root /var/roothome/.ssh && \
chmod 700 /var/roothome/.ssh && \
find /var/roothome/.ssh -type f -name "id_*" -exec chmod 600 {} \;
COPY resolv.conf /etc/resolv.conf
ARG KEYLIME_BOOTC_INSTALL_PACKAGES="rsync beakerlib selinux-policy-devel swtpm swtpm-tools nmap keylime expect"

COPY ima-policy /etc/ima/ima-policy
COPY yum.repos.d/* /etc/yum.repos.d/
COPY .ssh /var/roothome/.ssh
COPY resolv.conf /etc/resolv.conf
Copy link

Choose a reason for hiding this comment

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

question (bug_risk): Overwriting /etc/resolv.conf may interfere with container DNS resolution.

Copying resolv.conf may disrupt container DNS settings. Please confirm this is required, and if so, document the reason and provide a way to restore or update DNS configuration as needed.

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.

1 participant