-
Notifications
You must be signed in to change notification settings - Fork 52
Description
Description: Currently, cockpit-navigator has a hard dependency on the cockpit meta-package.
Why this is problematic: For users managing multiple remote hosts through a single dashboard, the remote hosts (managed nodes) only require the plugin files and the bridge. By depending on cockpit, the package manager forces the installation of cockpit-ws which starts a web service on every managed machine. This violates the principle of least privilege and increases the attack surface on minimalist servers.
Technical Detail:
Actual Requirement: cockpit-navigator only needs cockpit-bridge to communicate with the management node and local tools (rsync, python3).
Current Dependency Tree: cockpit-navigator -> cockpit -> cockpit-ws.
Requested Change: Please update the control file (Debian) and .spec file (RPM) to depend on cockpit-bridge instead of the cockpit meta-package. This aligns with how other modular Cockpit plugins (like cockpit-podman or cockpit-machines) are packaged.
root@crew1:~# dpkg -l | grep cockpit
ii cockpit-bridge 287.1-0+deb12u3 amd64 Cockpit bridge server-side component
ii cockpit-networkmanager 287.1-0+deb12u3 all Cockpit user interface for networking
ii cockpit-pcp 287.1-0+deb12u3 amd64 Cockpit PCP integration
ii cockpit-system 287.1-0+deb12u3 all Cockpit admin interface for a system
root@crew1:~#
root@crew1:~# dpkg -s cockpit-pcp | grep -E "Depends|Recommends"
Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.67.1), libjson-glib-1.0-0 (>= 1.5.2), libpcp3, libsystemd0 (>= 235), cockpit-bridge (>= 287.1-0+deb12u3), pcp
root@crew2: ~# dnf list installed | grep cockpit
cockpit-bridge.noarch 344-1.el9.rocky.0.1 @baseos
cockpit-files.noarch 24-1.el9 @appstream
cockpit-system.noarch 344-1.el9.rocky.0.1 @baseos
root@crew2: ~# dnf repoquery --requires cockpit-bridge.noarch
Last metadata expiration check: 1:08:38 ago on Tue 27 Jan 2026 12:18:12 AM CST.
/usr/bin/python3
python(abi) = 3.9
root@crew2: ~#
root@captain:/tmp# dpkg -l | grep cockpit
ii cockpit 352-1~bpo24.04.1 all Web Console for Linux servers
ii cockpit-bridge 352-1~bpo24.04.1 all Cockpit bridge server-side component
ii cockpit-navigator 0.5.12-1jammy all A File System Browser for Cockpit.
ii cockpit-networkmanager 352-1~bpo24.04.1 all Cockpit user interface for networking
ii cockpit-packagekit 352-1~bpo24.04.1 all Cockpit user interface for apps and package updates
ii cockpit-storaged 352-1~bpo24.04.1 all Cockpit user interface for storage
ii cockpit-system 352-1~bpo24.04.1 all Cockpit admin interface for a system
ii cockpit-ws 352-1~bpo24.04.1 amd64 Cockpit Web Service
root@captain:/tmp#
root@captain:~# apt depends cockpit-navigator
cockpit-navigator
Depends: cockpit
Depends: python3
Depends: rsync
Depends: zip
Depends: file
Depends: coreutils
Depends: inotify-tools
root@captain:~# dpkg -s cockpit-navigator | grep -E "Depends|Recommends"
Depends: cockpit, python3, rsync, zip, file, coreutils, inotify-tools
root@captain:~# dpkg -s cockpit | grep -E "Depends|Recommends"
Depends: cockpit-bridge (>= 352-1~bpo24.04.1), cockpit-ws (>= 352-1~bpo24.04.1), cockpit-system (>= 352-1~bpo24.04.1)
Recommends: cockpit-storaged (>= 352-1~bpo24.04.1), cockpit-networkmanager (>= 352-1~bpo24.04.1), cockpit-packagekit (>= 352-1~bpo24.04.1)