Skip to content

fix(install): support ostree rpm hosts#1285

Draft
drew wants to merge 2 commits intomainfrom
1266-ostree-install
Draft

fix(install): support ostree rpm hosts#1285
drew wants to merge 2 commits intomainfrom
1266-ostree-install

Conversation

@drew
Copy link
Copy Markdown
Collaborator

@drew drew commented May 9, 2026

🏗️ build-from-issue-agent

Summary

Adds an ostree-specific install path in install.sh for RPM-based immutable hosts. The installer downloads and verifies RPM assets, extracts payloads into user-local paths, stages the systemd user unit from the RPM payload with only relocation/local-port adjustments, and starts/registers the local gateway without mutating /usr or requiring reboot.

Related Issue

Closes #1266

Changes

  • install.sh: detect ostree RPM hosts, extract RPM payloads locally, stage CLI/gateway/helper files, reuse the packaged RPM user unit with user-local path adjustments, and reuse gateway startup.
  • docs/about/installation.mdx, docs/get-started/quickstart.mdx: document ostree user-local install behavior.

Deviations from Plan

Implemented in install.sh because install-dev.sh was renamed before this work. Per review feedback, the ostree path now reuses the RPM payload user unit instead of generating a separate unit body in the installer.

Testing

  • mise run pre-commit passes
  • Unit tests added/updated (N/A per requested test script removal)
  • E2E tests added/updated (N/A)

Tests added:

  • Unit: N/A
  • Integration: N/A
  • E2E: N/A

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)

Documentation updated:

  • docs/about/installation.mdx
  • docs/get-started/quickstart.mdx

Closes #1266

Install RPM release payloads into user-local paths on ostree hosts so immutable deployments do not require package layering or reboot before starting the gateway service.

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 9, 2026

Comment thread install.sh
fi
}

install_ostree_payload_files() {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'd like to suggest this reused the user unit that's in the rpm payload instead of maintaining the unit in multiple places unless there is a compelling reason otherwise.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Agree. I pushed another change to reuse the rpm unit payload. It still seems like there are too many changes to the install script here to support this. I am not very familiar ostree or rpm. Is there a better approach we can take here that doesn't require adding another rpm-ostree path?

@drew drew marked this pull request as draft May 9, 2026 18:32
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 9, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

Stage the systemd user unit from the extracted RPM payload and patch only the user-local relocation and local gateway port fields. Remove the standalone installer shell test script and task hook.

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Comment thread install.sh
rpm)
install_linux_rpm
;;
rpm-ostree)
Copy link
Copy Markdown

@ericcurtin ericcurtin May 9, 2026

Choose a reason for hiding this comment

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

Might be better to refer to it as a bootc system... rpm-ostree is kinda the older version of bootc (loosely)...

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.

install-dev.sh: support ostree-based distros (Silverblue, Universal Blue)

3 participants