podman-desktop/product.json
Charlie Drage 62f0e71c4e
feat(managed-by): add linux managed configuration support for Flatpak (#15729)
### What does this PR do?

On flatpak, the traditional `/usr/share/` directory is not accessible,
and rather it's accessible via `/run/host/usr/share` from within the flatpak.

This is accessible by adding: `  - "--filesystem=host-os:ro"` to our
flatpak yaml, which gives read-only support for the host file system
with the ability to access the /usr/share/podman-desktop directory via
`/run/host/usr/share/podman-desktop`.

This change allows us to detect if we are running in a flatpak
environment and change where we are finding our managed configuration
file anyways.

We use `process.env.FLATPAK_ID` throughout Podman Desktop anyways :)

### Screenshot / video of UI

<!-- If this PR is changing UI, please include
screenshots or screencasts showing the difference -->

### What issues does this PR fix or reference?

<!-- Include any related issues from Podman Desktop
repository (or from another issue tracker). -->

Closes https://github.com/podman-desktop/podman-desktop/issues/15314

### How to test this PR?

1. Create file `/usr/share/podman-desktop/default-settings.json`:

```sh
  { "telemetry.enabled": false }
```

and

`/usr/share/podman-desktop/locked.json`:

```sh
  { "locked": ["telemetry.enabled"] }
```

2. Download the Flatpak manifest.

**SPECIAL NOTE:**

- This includes the upcoming changes to node24
- This pulls from this active branch the podman desktop build
- We pre-build podman desktop to get the artifacts / cache / enable
  network access to that we can test this build
- Has the new parameter added (`host-os:ro`)

```
curl -O 135596fa62/io.podman_desktop.PodmanDesktop.yml
```

3. Build:

```
flatpak-builder --force-clean --disable-rofiles-fuse --user \
  --install-deps-from=flathub --repo=repo builddir \
  io.podman_desktop.PodmanDesktop.yml
```

4. Install:

```
flatpak --user install repo io.podman_desktop.PodmanDesktop
```

5. Start podman desktop, go to Settings > Telemetry, see that it is not
   locked. You can also check your logs and see at the very top how it
   is now loading default-settings.json and locked.json from
   `/run/host`.

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
2026-01-19 10:01:52 -05:00

81 lines
2.4 KiB
JSON

{
"_comment": "This file is used to define product specific properties. Do not import it directly in renderer package. Only main package should import it.",
"name": "Podman Desktop",
"appId": "io.podman_desktop.PodmanDesktop",
"artifactName": "podman-desktop",
"urlProtocol": "podman-desktop",
"paths": {
"config": "containers/podman-desktop",
"managed": {
"macOS": "/Library/Application Support/io.podman_desktop.PodmanDesktop",
"windows": "%PROGRAMDATA%\\Podman Desktop",
"linux": "/usr/share/podman-desktop",
"flatpak": "/run/host/usr/share/podman-desktop"
}
},
"telemetry": {
"key": "Mhl7GXADk5M1vG6r9FXztbCqWRQY8XPy",
"acceptMessage": "Help improve Podman Desktop by allowing Red Hat to collect anonymous usage data.",
"infoLink": "Read our privacy statement",
"infoURL": "https://developers.redhat.com/article/tool-data-collection"
},
"catalog": {
"default": "https://registry.podman-desktop.io/api/extensions.json"
},
"extensions": {
"remote": []
},
"helpMenu": {
"items": [
{
"title": "Getting Started",
"icon": "fas fa-external-link-alt",
"link": "https://www.podman-desktop.io/docs/intro"
},
{
"title": "Troubleshooting",
"icon": "fas fa-lightbulb",
"command": "troubleshooting"
},
{
"title": "Report a Bug",
"icon": "fas fa-exclamation-triangle",
"link": "https://github.com/podman-desktop/podman-desktop/issues/new/choose"
},
{
"title": "Share Your Feedback",
"icon": "far fa-comment",
"command": "feedback"
},
{
"title": "Community",
"icon": "fas fa-list-ul"
},
{
"title": "#podman-desktop",
"tooltip": "Join Discord #podman-desktop channel",
"icon": "fab fa-discord",
"link": "https://discord.com/invite/x5GzFF6QH4"
},
{
"title": "#podman-desktop",
"tooltip": "Join Slack #podman-desktop channel",
"icon": "fab fa-slack",
"link": "https://slack.k8s.io"
},
{
"title": "@podman-desktop",
"tooltip": "Follow Podman Desktop LinkedIn account",
"icon": "fab fa-linkedin",
"link": "https://www.linkedin.com/company/podman-desktop/"
}
]
},
"releaseNotes": {
"url": "",
"blog": "",
"title": "",
"image": "",
"summary": ""
}
}