Repository navigation
Description
User Story
As an Ubuntu user, I want the install.sh script to install the openshell snap by default, so that I can get automatic updates in the future without needing to manually update.
Problem Statement
I want install.sh to automatically select the snap packaging format when snapd is available on the host system, and install the openshell snap package from the Snap Store instead of installing the standalone .deb or .rpm file.
Impact / Why This Matters
Without this feature, users must manually re-run install.sh whenever they want to update to a new version of OpenShell. Linux users usually expect packages to be managed by their system package manager and receive updates from their package repositories, so manually updating a standalone .deb or .rpm package is rather onerous.
Proposed Design
When snapd is available on the host system, indicated by snap version printing a version (this queries the snapd API), then the snap package should be selected by install.sh. Other checks already exist in install.sh to ensure compatibility with the openshell snap, so the only piece left is to update linux_package_method() to once again select the snap by default, rather than limiting snap selection to only if there's an existing openshell snap installation.
Acceptance Criteria
- running
install.shon Ubuntu with the (non-snap) Docker daemon installed results in theopenshellsnap package being installed and a gateway configured to work with Docker
Alternatives Considered
Current alternatives require more manual intervention from the end user. Installing the snap automatically on supported systems provides the smoothest end-user experience. On Ubuntu, an alternative could be to ship OpenShell in the Ubuntu archives (.deb packages), but OpenShell receives many updates and the SRU process for backporting package updates to stable releases cannot keep up with the rate at which OpenShell is released. The snap package is independent of release-specific package archives and can be updated as quickly as desired.
Agent Investigation
No response
Checklist
- I've reviewed existing issues and the published docs
- This is a design proposal, not a "please build this" request
Activity
olivercalder commentedon Oct 14, 2026
Addressed by #4380
elezar commentedon Oct 14, 2026
Assessment: feasible feature request needing clarification.
The automatic-update goal is reasonable, and OpenShell already supports explicit Snap installation. However, the proposed selection rule (Snap whenever snapd is available) is broader than the acceptance criterion, which requires non-Snap Docker. Reviewing #4380 and comparing its installer selection with the base confirmed that fresh hosts with the Docker snap or no Docker now select Snap, then fail its Docker preflight. This also affects Docker-free Podman or VM setups. The focused installer tests pass, but no real Snap/Docker integration test was run.
Please clarify the proposal and extend the acceptance criteria:
Native fallback must not imply that native OpenShell works with the Docker snap: #3666 attributes the incompatibility to the Docker daemon's AppArmor confinement, which changing the OpenShell package alone does not establish as resolved.
Once these points are clarified, a maintainer can decide whether to accept the default change and its migration behavior. The implementation concern in #4380 does not invalidate the feature request. Recommended assessment state:
state:needs-info.