Skip to content

engineering: Add launcher binary#593

Merged
fintelia merged 14 commits into
mainfrom
user/jbehrens/ula
Apr 14, 2026
Merged

engineering: Add launcher binary#593
fintelia merged 14 commits into
mainfrom
user/jbehrens/ula

Conversation

@fintelia
Copy link
Copy Markdown
Contributor

@fintelia fintelia commented Apr 9, 2026

🔍 Description

This PR restores much of the old harpoon code to connect to Omaha servers, and implements a simple launcher binary that queries an Omaha server then connects to trident and does an update with the indicated COSI file

Copilot AI review requested due to automatic review settings April 9, 2026 22:28
@fintelia fintelia requested a review from a team as a code owner April 9, 2026 22:28
@fintelia fintelia force-pushed the user/jbehrens/ula branch from cb15b15 to 4dc818a Compare April 9, 2026 22:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR reintroduces an Omaha (Nebraska) client flow by adding a new launcher binary/crate and wiring it into existing provisioning/update pathways so test images can download and (eventually) use it alongside Trident.

Changes:

  • Added a new Rust workspace member crates/launcher implementing basic Omaha request/response handling and a CLI entrypoint.
  • Integrated launcher into netlaunch RCP file injection and the test image systemd unit that downloads binaries.
  • Updated build tooling to produce bin/launcher (via AZL3 Docker build) and copy launcher during Trident self-upgrade provisioning.

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
tools/pkg/netlaunch/netlaunch.go Injects bin/launcher into the RCP-served files for test/provisioning flows.
tests/images/trident-mos/files/download-trident.service Downloads /usr/bin/launcher alongside existing downloaded binaries.
Makefile Builds launcher in build-azl3, installs to bin/launcher, and adds it to run-netlaunch prerequisites.
crates/trident/src/subsystems/management.rs Copies /usr/bin/launcher into the target OS when SELF_UPGRADE_TRIDENT is enabled.
crates/launcher/src/omaha/xml.rs Adds helper macro for deserializing nested “list” XML elements.
crates/launcher/src/omaha/status.rs Defines Omaha status enums and helpers (+ unit tests).
crates/launcher/src/omaha/response.rs Implements Omaha response parsing/validation (+ unit tests).
crates/launcher/src/omaha/request.rs Implements Omaha request modeling and XML serialization (+ unit tests).
crates/launcher/src/omaha/mod.rs Implements blocking Omaha request execution and event validation (+ unit tests).
crates/launcher/src/omaha/event.rs Defines Omaha event payloads and acknowledgement parsing.
crates/launcher/src/omaha/app.rs Adds AppVersion wrapper around semver::Version (+ unit tests).
crates/launcher/src/main.rs Adds launcher CLI + Trident gRPC update trigger + query logic (+ unit tests).
crates/launcher/src/id.rs Adds machine ID/hostname sourcing for Omaha identifiers.
crates/launcher/src/error.rs Adds HarpoonError error model for launcher/Omaha operations.
crates/launcher/Cargo.toml Defines the new launcher crate dependencies.
Cargo.toml Adds crates/launcher to the workspace members.
Cargo.lock Updates lockfile for the new crate/dependency graph.

Comment thread crates/trident/src/subsystems/management.rs Outdated
Comment thread crates/launcher/src/id.rs Outdated
Comment thread crates/launcher/src/omaha/mod.rs
Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/src/main.rs
Comment thread Makefile Outdated
Comment thread crates/launcher/Cargo.toml Outdated
Copilot AI review requested due to automatic review settings April 9, 2026 22:37
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 15 out of 16 changed files in this pull request and generated 5 comments.

Comment thread tools/pkg/netlaunch/netlaunch.go Outdated
Comment thread Makefile Outdated
Comment thread Makefile
Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/Cargo.toml Outdated
Comment thread crates/trident/src/subsystems/management.rs Outdated
Comment thread crates/launcher/src/main.rs
Copilot AI review requested due to automatic review settings April 10, 2026 22:06
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 16 out of 17 changed files in this pull request and generated 5 comments.

Comment thread crates/trident/src/subsystems/management.rs
Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/src/omaha/app.rs
@frhuelsz frhuelsz changed the title Add launcher binary engineering: Add launcher binary Apr 10, 2026
frhuelsz
frhuelsz previously approved these changes Apr 10, 2026
Comment thread crates/launcher/src/main.rs
@fintelia
Copy link
Copy Markdown
Contributor Author

/AzurePipelines run [GITHUB]-trident-pr-e2e

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copilot AI review requested due to automatic review settings April 13, 2026 21:38
@fintelia fintelia force-pushed the user/jbehrens/ula branch from 3cbb404 to 9d9b68f Compare April 13, 2026 21:38
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 16 out of 17 changed files in this pull request and generated 2 comments.

Comment thread crates/launcher/src/omaha/response.rs
Comment thread crates/launcher/src/omaha/xml.rs
@fintelia fintelia force-pushed the user/jbehrens/ula branch from 9d9b68f to 4de9c15 Compare April 13, 2026 22:18
@fintelia
Copy link
Copy Markdown
Contributor Author

/AzurePipelines run [GITHUB]-trident-pr-e2e

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copilot AI review requested due to automatic review settings April 14, 2026 19:21
@fintelia
Copy link
Copy Markdown
Contributor Author

/AzurePipelines run [GITHUB]-trident-pr-e2e

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 18 out of 19 changed files in this pull request and generated 7 comments.

Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/src/main.rs
Comment thread crates/launcher/src/omaha/response.rs
Comment thread crates/launcher/src/error.rs
Comment thread crates/launcher/src/omaha/mod.rs
@fintelia fintelia merged commit 0e32c6c into main Apr 14, 2026
98 checks passed
@fintelia fintelia deleted the user/jbehrens/ula branch April 14, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants