fleet/it-and-security/lib/linux/policies/check-fleet-desktop-extension-enabled.yml
Allen Houchins cc04d2a459
Updated script and policy for OpenSUSE support (#32779)
- Updated policy and script to support Fleet Desktop on OpenSUSE
2025-09-09 14:11:56 -05:00

41 lines
2 KiB
YAML

- name: Linux - Fleet Desktop extensions enabled
critical: false
description: This policy checks if the extension required for Fleet Desktop is installed and enabled.
resolution: |
Install and enable the AppIndicator extension by running the following commands on a terminal (as user, not root):
gdbus call --session \
--dest org.gnome.Shell.Extensions \
--object-path /org/gnome/Shell/Extensions \
--method org.gnome.Shell.Extensions.InstallRemoteExtension \
"appindicatorsupport@rgcjonas.gmail.com"
gnome-extensions enable "appindicatorsupport@rgcjonas.gmail.com"
platform: linux
query: |
SELECT 1 WHERE NOT EXISTS (
-- Policy succeeds on Linux distributions that are not Fedora, Debian, or OpenSUSE.
SELECT 1 FROM os_version WHERE
name = 'Fedora Linux' OR
platform = 'debian' OR
name LIKE '%openSUSE%' OR
platform = 'opensuse-leap' OR
platform = 'opensuse-tumbleweed'
) OR NOT EXISTS (
-- Policy succeeds on Linux hosts that do not have Fleet Desktop enabled or
-- Fleet Desktop is not running (e.g. logged out from GUI).
SELECT 1 FROM processes WHERE name = 'fleet-desktop' LIMIT 1
) OR EXISTS (
WITH fleet_desktop AS (SELECT TRIM(cwd, '/home/') AS username, cwd AS home FROM processes WHERE name = 'fleet-desktop' LIMIT 1)
SELECT 1 WHERE EXISTS (
-- Check if the extension is installed.
SELECT 1 FROM file WHERE path = CONCAT((SELECT home FROM fleet_desktop), '/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com') AND type = 'directory'
) AND EXISTS (
-- Check if the extension is enabled.
SELECT 1 FROM dconf_read WHERE
username = (SELECT fleet_desktop.username FROM fleet_desktop) AND
key = '/org/gnome/shell/enabled-extensions' AND
value like '%appindicatorsupport@rgcjonas.gmail.com%'
)
);
run_script:
path: ../scripts/install-fleet-desktop-required-extension.sh