Skip to content

Devolutions Agent package broker experimental support#4826

Merged
Marc-André Moreau (mamoreau-devolutions) merged 1 commit into
mainfrom
package-policies-new
Jul 22, 2026
Merged

Devolutions Agent package broker experimental support#4826
Marc-André Moreau (mamoreau-devolutions) merged 1 commit into
mainfrom
package-policies-new

Conversation

@vnikonov-devolutions

@vnikonov-devolutions Vladyslav Nikonov (vnikonov-devolutions) commented May 25, 2026

Copy link
Copy Markdown
Contributor

This PR adds experimental support for Devolutions Agent broker implemented in Devolutions/devolutions-gateway#1847

Closes: ARC-459

@vnikonov-devolutions Vladyslav Nikonov (vnikonov-devolutions) changed the title [DRAFT][WIP] Package policies Devolutions Agent package broker experimental support Jul 22, 2026
Vladyslav Nikonov (vnikonov-devolutions) added a commit to Devolutions/devolutions-gateway that referenced this pull request Jul 22, 2026
Implements now package broker (Also see UniGetUI WIP branch)
Devolutions/UniGetUI#4826)

#### Implemented
- Policy parsing (both json and yaml), evaluation, JSON scheme
generation.
- Dry-run executor
- Windows executor/command builder for winget & PowerShell; needs
refining but implements most of the functionality
- Elevated/non elevated execution with user impersonation.
- Pipe auth - validate effective user & calling executable signature
- Made some updated to initial PoC schema - cleaned up, renamed and
restructured some fields, added new request/response for polling
operation status

#### Not implemented yet
- Other managers except winget and powershell

#### Steps to run this branch:
- Compile and replace DevolutionsAgent.exe from this branch.
- Add new agent config fields:
- `"PackageBroker":{"Enabled":true, "PolicyPath":
"C:/path/to/policy.json"}`
- If testing with non-MSI UniGetUI isntallation, disable signature
validation:
       `"__debug__": { "skip_broker_signature_validation": true }`
- Create empty `UseAgentBroker` file at
`%LOCALAPPDATA%/UniGetUI/Configuration` (UniGetUI uses file-based
config)
- Start Agent
- Start UniGetUI, test
@vnikonov-devolutions
Vladyslav Nikonov (vnikonov-devolutions) marked this pull request as ready for review July 22, 2026 13:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds experimental Devolutions Agent routing for WinGet package operations.

Changes:

  • Adds broker dependencies and request mapping.
  • Routes opted-in WinGet operations through the broker.
  • Introduces the file-based UseAgentBroker setting.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/UniGetUI.Windows.slnx Registers the broker project.
src/UniGetUI.PackageEngine.Operations/UniGetUI.PackageEngine.Operations.csproj References broker integration.
src/UniGetUI.PackageEngine.Operations/PackageOperations.cs Implements broker execution and fallback.
src/UniGetUI.PackageEngine.AgentBroker/UniGetUI.PackageEngine.AgentBroker.csproj Defines broker dependencies.
src/UniGetUI.PackageEngine.AgentBroker/BrokerRequestBuilder.cs Maps UniGetUI operations to broker requests.
src/UniGetUI.Core.Settings/SettingsEngine_Names.cs Adds the broker opt-in key.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/UniGetUI.PackageEngine.AgentBroker/UniGetUI.PackageEngine.AgentBroker.csproj Outdated
Comment thread src/UniGetUI.PackageEngine.AgentBroker/BrokerRequestBuilder.cs
Comment thread src/UniGetUI.PackageEngine.AgentBroker/BrokerRequestBuilder.cs Outdated
Comment thread src/UniGetUI.PackageEngine.AgentBroker/BrokerRequestBuilder.cs Outdated
Comment thread src/UniGetUI.PackageEngine.Operations/PackageOperations.cs Outdated
Comment thread src/UniGetUI.PackageEngine.AgentBroker/BrokerRequestBuilder.cs Outdated
Comment thread src/UniGetUI.PackageEngine.AgentBroker/BrokerRequestBuilder.cs Outdated
Comment thread src/UniGetUI.PackageEngine.Operations/PackageOperations.cs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mamoreau-devolutions
Marc-André Moreau (mamoreau-devolutions) merged commit ee4ced5 into main Jul 22, 2026
5 checks passed
@mamoreau-devolutions
Marc-André Moreau (mamoreau-devolutions) deleted the package-policies-new branch July 22, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants