Skip to content

Epic: Add support for deployment profiles #3649

Closed
@jandubois

Description

@jandubois

Deployment profiles are installed on a machine before the software itself is installed (or maybe before first run).

The profile has the same content as our settings.json file and serves two purposes:

  1. It provides the initial first-run configuration if settings.json does not yet exist. If all required settings are provided, then no first-run dialog will be shown.

  2. It provides "locked" settings. Currently there is just a single lockable setting1: the Allowed Images list. Locked settings are applied on each app start and override whatever is in settings.json. Locked settings also cannot be changed in the Preferences dialog (or via rdctl). Settings can only be locked via profile; the locked state in settings.json will always be false (because there would be no mechanism to unlock again).

Deployment profiles can be installed either at the system or the user level and must be deployable by system management software in enterprise settings (Group Policy, Apple profiles, etc). The system level profile takes precedence over a user level profile, if both exist (i.e. the user profile is ignored if the system profile exists).

Profiles should be stored in the registry (on Windows) and probably as .plist files instead of JSON on macOS.

Install locations still to be determined.

Deployment profiles are not part of the app installation and will not be removed by a Factory Reset.

Any initial configuration provided by an installer program will go into the regular settings.json file and not be stored as a profile. Locked setting from profiles will still overrule installer configurations.

There is no UI component to deployment profiles, although we may provide a tooltip on the 🔒 icon that explains that the setting has been locked by deployment profile.

Stories

Acceptance Criteria

Each of the stories above should have their own acceptance criteria.

Release notes

  • Make sure that deployment profiles are labelled as an experimental feature!

Footnotes

  1. Another candidate for lockable settings would be installable extensions.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions