Repository navigation
Perl installer certificate trust remediation - #2306
aaronpowell merged 2 commits into
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 2306Or
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 2306" |
There was a problem hiding this comment.
🟡 Changes recommended
Installer-name collisions can silently skip a distinct requested Perl module.
1 open issue
What changed in this PR
This PR fixes Perl installer certificate trust for #2305 by using each resource’s Aspire certificate context instead of the AppHost process environment. It also includes the duplicate-package handling related to #2304.
Changes:
- Shares certificate configuration between Perl apps and their installers.
- Adds regression tests for certificate propagation, call ordering, and repeated package requests.
- Documents opt-in certificate trust and installer reuse behavior.
| File | Description |
|---|---|
tests/CommunityToolkit.Aspire.Hosting.Perl.Tests/WithPackageTests.cs |
Tests repeated package requests reuse one installer and completion dependency. |
tests/CommunityToolkit.Aspire.Hosting.Perl.Tests/WithCertificateTrustTests.cs |
Tests resource-specific certificate contexts, call ordering, and duplicate guards. |
src/CommunityToolkit.Aspire.Hosting.Perl/README.md |
Documents certificate trust and repeated-package behavior. |
src/CommunityToolkit.Aspire.Hosting.Perl/PerlAppResourceBuilderExtensions.PackageManager.cs |
Configures installer certificate trust and normalizes names before lookup. |
src/CommunityToolkit.Aspire.Hosting.Perl/PerlAppResourceBuilderExtensions.cs |
Extracts the shared certificate configuration callback. |
Review effort: Balanced
aaronpowell
left a comment
There was a problem hiding this comment.
Got a merge conflict here
|
Will fix tomorrow evening and address the copilot comment as well. |
8012c26 to
3c83d51
Compare
|
I lied, I ended up time sinking tonight on it: rebased off fresh main (which should address the readme merge conflict) and addressed the suggestion by copilot. |
There was a problem hiding this comment.
🟢 Approval recommended
Static review found no blocking issues, and the regression tests cover the changed certificate-trust, installer-reuse, and publish-mode behavior.
No open issues 🎉
1 resolved since last review
1 file not reviewed
examples/perl/CpanmApiIntegration.AppHost.TypeScript/package-lock.json: Generated file
Review effort: Balanced

Closes #2305
Replaced the
EnvironmentCallbackAnnotationwith a certificate trust configuration on the installeritself:
PR Checklist
Other information
I'm unclear if this should be stacked - and I wasn't clear how to do that cross fork - so I just chained it separately into main.
Could go on top of #2304 or could be reviewed after.
Let me know in comments if there is a better way to stack these - I am willing to do it differently if needed/desired.