-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support NginxProxy CRD and global tracing settings #1870
Conversation
Local OSS build works, so not sure about the pipeline failure... |
@sjberman |
@pleshakov Or 390x it seems. I guess we could ping the core team about building the module for those architectures, but who knows when that would actually happen... We may just have to build it ourselves. |
or drop those platforms... |
@lucacome What do you think? Do we know if these architectures are popular enough to keep support for them right now? We could open an issue on the otel-module repo to support these, and we remove support until that point. |
It looks like it was a choice to only support amd64 and arm64 at least for the Docker image oxpa/docker-official-images@e23a9b5
Maybe they're going to add the other platforms in the future, we should probably talk to @thresheek I'm not sure how popular these architectures are...do we have anything in our telemetry data? |
Indeed, this was an explicit choice not to overload docker library machines with compiling code on less-than-popular architectures... I mean we can technically extend this list, but in reality I'd like to see real users/customers demand for otel on s390x or ppc64... |
Oh and we definitely didnt build any alpine ppc64le/s390x packages on nginx.org, too |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1870 +/- ##
==========================================
- Coverage 86.12% 86.07% -0.06%
==========================================
Files 83 85 +2
Lines 5586 5492 -94
Branches 50 0 -50
==========================================
- Hits 4811 4727 -84
+ Misses 726 716 -10
Partials 49 49 ☔ View full report in Codecov by Sentry. |
343c671
to
2731246
Compare
2731246
to
99719fe
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM docs-wise but the docs changes are minimal, so I will not give an approval.
2e10400
to
8397536
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
ba197c0
to
69f42f0
Compare
Problem: As a user of NGF I want to set the collection point for my traces for my installation of NGF So that I can ensure all my traces are sent to the same collection platform. Solution: Implement the NginxProxy CRD which contains the fields required to configure the collection point for tracing. This resource is attached to the GatewayClass. If the resource is not found, a condition will be set on the GatewayClass to indicate this. The GatewayClass will continue to be Accepted even if the parametersRef is invalid. This configuration sets the `http` context-level otel directives. The otel module is loaded conditionally based on the existence of this configuration. Note: tracing is not enabled by this configuration, this only sets high level options. #1828 is required to actually enable tracing on a per-route basis.
6c9afbf
to
30df54e
Compare
Problem: As a user of NGF
I want to set the collection point for my traces for my installation of NGF So that I can ensure all my traces are sent to the same collection platform.
Solution: Implement the NginxProxy CRD which contains the fields required to configure the collection point for tracing. This resource is attached to the GatewayClass. If the resource is not found, a condition will be set on the GatewayClass to indicate this. The GatewayClass will continue to be Accepted even if the parametersRef is invalid.
This configuration sets the
http
context-level otel directives. The otel module is loaded conditionally based on the existence of this configuration.Note: tracing is not enabled by this configuration, this only sets high level options. #1828 is required to actually enable tracing on a per-route basis.
Testing: Manually verified that the otel configuration is populated in the nginx.conf when appropriate. Conditions are also properly set on the GatewayClass.
Closes #1827
Closes #1775
Checklist
Before creating a PR, run through this checklist and mark each as complete.
Release notes
If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.