You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(install): install the snap package by default when supported #4525
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.sh on Ubuntu with the (non-snap) Docker daemon installed results in the openshell snap 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
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:
Define supported automatic selection: for fresh installations, select Snap only when compatible Docker is available; otherwise retain native DEB/RPM selection.
Cover Docker-snap hosts, absent Docker with Podman/VM use, explicit package overrides, existing OpenShell Snap installations, and pinned/prerelease versions. Explicit Snap requests should retain compatibility errors, and existing OpenShell Snap installations should remain on the Snap path rather than silently installing a second gateway.
Describe the existing explicit-Snap workaround and why it is insufficient for your workflow. Automatic updates are already available through that path; the requested capability is automatic package selection.
Add the first-hand OpenShell use case required by the issue guidance: how you personally use OpenShell and where manual installation or update steps affect that workflow. The current generic Ubuntu user story does not provide that context.
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.
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.