Repository navigation
Perl otlp endpoint protocol mismatch - #2309
Merged
aaronpowell merged 1 commit intoOct 28, 2026
Merged
aaronpowell merged 1 commit into
aaronpowell merged 1 commit into
Conversation
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 2309Or
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 2309" |
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
Static review identified no blocking issues in the configuration changes or regression coverage; builds and tests were not run.
No open issues 🎉
1 file not reviewed
examples/perl/CpanmApiIntegration.AppHost.TypeScript/package-lock.json: Generated file
What changed in this PR
This PR fixes #2308 by aligning Perl telemetry with the dashboard’s HTTP OTLP endpoint and JSON protocol. It also includes installer identity checks and certificate-trust remediation layered after #2306.
Changes:
- Select HTTP/JSON for Perl telemetry and defer Perl-specific variables to final standard values in run mode.
- Reject installer-name collisions and configure certificate trust from each resource’s own context.
- Add regression tests, document configuration behavior, and enable HTTP OTLP endpoints in examples.
| File | Description |
|---|---|
| tests/CommunityToolkit.Aspire.Hosting.Perl.Tests/WithPackageTests.cs | Tests installer collisions and reuse after command changes. |
| tests/CommunityToolkit.Aspire.Hosting.Perl.Tests/WithCertificateTrustTests.cs | Tests resource-specific certificate trust and isolates process-environment changes. |
| tests/CommunityToolkit.Aspire.Hosting.Perl.Tests/PublishModeWiringTests.cs | Verifies publish mode retains module requests without installers. |
| tests/CommunityToolkit.Aspire.Hosting.Perl.Tests/OtlpConfigurationTests.cs | Covers endpoint selection, overrides, mirroring, and publish behavior. |
| src/CommunityToolkit.Aspire.Hosting.Perl/README.md | Documents OTLP requirements, installer collisions, and certificate trust. |
| src/CommunityToolkit.Aspire.Hosting.Perl/PerlOtelEnvironmentVariableMirror.cs | Adds deferred resolution of Perl-specific telemetry variables. |
| src/CommunityToolkit.Aspire.Hosting.Perl/PerlAppResourceBuilderExtensions.PackageManager.cs | Validates installer identity and wires resource-specific certificate trust. |
| src/CommunityToolkit.Aspire.Hosting.Perl/PerlAppResourceBuilderExtensions.cs | Selects HTTP/JSON and configures telemetry variables by execution mode. |
| src/CommunityToolkit.Aspire.Hosting.Perl/Annotations/PerlModuleInstallerAnnotation.cs | Records the original module identity for installer validation. |
| examples/perl/CpanmApiIntegration.AppHost/Properties/launchSettings.json | Adds HTTP OTLP endpoints to C# launch profiles. |
| examples/perl/CpanmApiIntegration.AppHost.TypeScript/package-lock.json | Updates peer-dependency metadata. |
| examples/perl/CpanmApiIntegration.AppHost.TypeScript/aspire.config.json | Adds the TypeScript example’s HTTP OTLP endpoint. |
Review effort: Balanced
Member
|
Because it branched a branch it's now got a merge conflict. |
…matching between aspire and called perl resources. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Omnideth
force-pushed
the
perl-otlp-endpoint-protocol-mismatch
branch
from
October 28, 2026 01:31
cf8f9d5 to
e01c025
Compare
Contributor
Author
|
Was able to address and if that was the only blocker, it's ready for merge now. |
aaronpowell
approved these changes
Oct 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
**Closes #2308 **
Layered after: PR #2306
WithOtlpExporter()withWithOtlpExporterIfEndpointAvailable(OtlpProtocol.HttpJson).http/json, nothttp/protobuf. Both are supported by Perl and the dashboard, but JSON doesnot require
Google::ProtocolBuffers::Dynamic. Requiring protobuf without that module onlyfalls back to JSON after a warning.
OTEL_EXPORTER_OTLP_ENDPOINT.internal deferred value provider. It reads the matching standard variable when Aspire resolves
values, after every environment callback has run. If the standard variable has been removed,
the Perl-specific variable resolves to no value.
supply the endpoint and protocol later from the
OtlpExporterAnnotation.OTEL_PERL_*precedence in the README.PR Checklist
Other information
Since I rebased on the outstanding PR noted above, I don't expect any conflicts this time when it goes to main.