Skip to content

Commit d1798d5

Browse files
Merge branch 'main' into cap-urllib3-for-py38-support
2 parents 72af392 + 19b72f7 commit d1798d5

File tree

7 files changed

+96
-120
lines changed

7 files changed

+96
-120
lines changed
+56-56
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,68 @@
1-
opentelemetry-distro==0.50b0
1+
opentelemetry-distro==0.51b0
22

33
# We add an upper limit to urllib3 version else Python 3.8 support is dropped.
44
# TODO: Update autoinstrumentation image builds to support all supported Python versions
55
# https://github.com/open-telemetry/opentelemetry-operator/issues/3712
66
urllib3 < 2.3.0
77
# We don't use the distro[otlp] option which automatically includes exporters since gRPC is not appropriate for
88
# injected auto-instrumentation, where it has a strict dependency on the OS / Python version the artifact is built for.
9-
opentelemetry-exporter-otlp-proto-http==1.29.0
10-
opentelemetry-exporter-prometheus==0.50b0
9+
opentelemetry-exporter-otlp-proto-http==1.30.0
10+
opentelemetry-exporter-prometheus==0.51b0
1111

12-
opentelemetry-propagator-b3==1.29.0
13-
opentelemetry-propagator-jaeger==1.29.0
12+
opentelemetry-propagator-b3==1.30.0
13+
opentelemetry-propagator-jaeger==1.30.0
1414
opentelemetry-propagator-aws-xray==1.0.2
1515

16-
opentelemetry-instrumentation==0.50b0
17-
opentelemetry-propagator-ot-trace==0.50b0
16+
opentelemetry-instrumentation==0.51b0
17+
opentelemetry-propagator-ot-trace==0.51b0
1818

1919
# Copied in from https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation
20-
opentelemetry-instrumentation-aio-pika==0.50b0
21-
opentelemetry-instrumentation-aiohttp-client==0.50b0
22-
opentelemetry-instrumentation-aiohttp-server==0.50b0
23-
opentelemetry-instrumentation-aiokafka==0.50.b0
24-
opentelemetry-instrumentation-aiopg==0.50b0
25-
opentelemetry-instrumentation-asgi==0.50b0
26-
opentelemetry-instrumentation-asyncio==0.50b0
27-
opentelemetry-instrumentation-asyncpg==0.50b0
28-
opentelemetry-instrumentation-aws-lambda==0.50b0
29-
opentelemetry-instrumentation-boto==0.50b0
30-
opentelemetry-instrumentation-boto3sqs==0.50b0
31-
opentelemetry-instrumentation-botocore==0.50b0
32-
opentelemetry-instrumentation-cassandra==0.50b0
33-
opentelemetry-instrumentation-celery==0.50b0
34-
opentelemetry-instrumentation-click==0.50b0
35-
opentelemetry-instrumentation-confluent-kafka==0.50b0
36-
opentelemetry-instrumentation-dbapi==0.50b0
37-
opentelemetry-instrumentation-django==0.50b0
38-
opentelemetry-instrumentation-elasticsearch==0.50b0
39-
opentelemetry-instrumentation-falcon==0.50b0
40-
opentelemetry-instrumentation-fastapi==0.50b0
41-
opentelemetry-instrumentation-flask==0.50b0
42-
opentelemetry-instrumentation-grpc==0.50b0
43-
opentelemetry-instrumentation-httpx==0.50b0
44-
opentelemetry-instrumentation-jinja2==0.50b0
45-
opentelemetry-instrumentation-kafka-python==0.50b0
46-
opentelemetry-instrumentation-logging==0.50b0
47-
opentelemetry-instrumentation-mysql==0.50b0
48-
opentelemetry-instrumentation-mysqlclient==0.50b0
49-
opentelemetry-instrumentation-pika==0.50b0
50-
opentelemetry-instrumentation-psycopg==0.50b0
51-
opentelemetry-instrumentation-psycopg2==0.50b0
52-
opentelemetry-instrumentation-pymemcache==0.50b0
53-
opentelemetry-instrumentation-pymongo==0.50b0
54-
opentelemetry-instrumentation-pymysql==0.50b0
55-
opentelemetry-instrumentation-pyramid==0.50b0
56-
opentelemetry-instrumentation-redis==0.50b0
57-
opentelemetry-instrumentation-remoulade==0.50b0
58-
opentelemetry-instrumentation-requests==0.50b0
59-
opentelemetry-instrumentation-sqlalchemy==0.50b0
60-
opentelemetry-instrumentation-sqlite3==0.50b0
61-
opentelemetry-instrumentation-starlette==0.50b0
62-
opentelemetry-instrumentation-system-metrics==0.50b0
63-
opentelemetry-instrumentation-threading==0.50b0
64-
opentelemetry-instrumentation-tornado==0.50b0
65-
opentelemetry-instrumentation-tortoiseorm==0.50b0
66-
opentelemetry-instrumentation-urllib==0.50b0
67-
opentelemetry-instrumentation-urllib3==0.50b0
68-
opentelemetry-instrumentation-wsgi==0.50b0
20+
opentelemetry-instrumentation-aio-pika==0.51b0
21+
opentelemetry-instrumentation-aiohttp-client==0.51b0
22+
opentelemetry-instrumentation-aiohttp-server==0.51b0
23+
opentelemetry-instrumentation-aiokafka==0.51b0
24+
opentelemetry-instrumentation-aiopg==0.51b0
25+
opentelemetry-instrumentation-asgi==0.51b0
26+
opentelemetry-instrumentation-asyncio==0.51b0
27+
opentelemetry-instrumentation-asyncpg==0.51b0
28+
opentelemetry-instrumentation-aws-lambda==0.51b0
29+
opentelemetry-instrumentation-boto==0.51b0
30+
opentelemetry-instrumentation-boto3sqs==0.51b0
31+
opentelemetry-instrumentation-botocore==0.51b0
32+
opentelemetry-instrumentation-cassandra==0.51b0
33+
opentelemetry-instrumentation-celery==0.51b0
34+
opentelemetry-instrumentation-click==0.51b0
35+
opentelemetry-instrumentation-confluent-kafka==0.51b0
36+
opentelemetry-instrumentation-dbapi==0.51b0
37+
opentelemetry-instrumentation-django==0.51b0
38+
opentelemetry-instrumentation-elasticsearch==0.51b0
39+
opentelemetry-instrumentation-falcon==0.51b0
40+
opentelemetry-instrumentation-fastapi==0.51b0
41+
opentelemetry-instrumentation-flask==0.51b0
42+
opentelemetry-instrumentation-grpc==0.51b0
43+
opentelemetry-instrumentation-httpx==0.51b0
44+
opentelemetry-instrumentation-jinja2==0.51b0
45+
opentelemetry-instrumentation-kafka-python==0.51b0
46+
opentelemetry-instrumentation-logging==0.51b0
47+
opentelemetry-instrumentation-mysql==0.51b0
48+
opentelemetry-instrumentation-mysqlclient==0.51b0
49+
opentelemetry-instrumentation-pika==0.51b0
50+
opentelemetry-instrumentation-psycopg==0.51b0
51+
opentelemetry-instrumentation-psycopg2==0.51b0
52+
opentelemetry-instrumentation-pymemcache==0.51b0
53+
opentelemetry-instrumentation-pymongo==0.51b0
54+
opentelemetry-instrumentation-pymysql==0.51b0
55+
opentelemetry-instrumentation-pyramid==0.51b0
56+
opentelemetry-instrumentation-redis==0.51b0
57+
opentelemetry-instrumentation-remoulade==0.51b0
58+
opentelemetry-instrumentation-requests==0.51b0
59+
opentelemetry-instrumentation-sqlalchemy==0.51b0
60+
opentelemetry-instrumentation-sqlite3==0.51b0
61+
opentelemetry-instrumentation-starlette==0.51b0
62+
opentelemetry-instrumentation-system-metrics==0.51b0
63+
opentelemetry-instrumentation-threading==0.51b0
64+
opentelemetry-instrumentation-tornado==0.51b0
65+
opentelemetry-instrumentation-tortoiseorm==0.51b0
66+
opentelemetry-instrumentation-urllib==0.51b0
67+
opentelemetry-instrumentation-urllib3==0.51b0
68+
opentelemetry-instrumentation-wsgi==0.51b0

go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ require (
2121
github.com/oklog/run v1.1.0
2222
github.com/open-telemetry/opamp-go v0.15.0
2323
github.com/openshift/api v0.0.0-20240124164020-e2ce40831f2e
24-
github.com/operator-framework/api v0.27.0
24+
github.com/operator-framework/api v0.29.0
2525
github.com/operator-framework/operator-lib v0.16.0
2626
github.com/prometheus-operator/prometheus-operator v0.76.2
2727
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.76.2
@@ -214,7 +214,7 @@ require (
214214
golang.org/x/term v0.28.0 // indirect
215215
golang.org/x/text v0.21.0 // indirect
216216
golang.org/x/time v0.7.0 // indirect
217-
golang.org/x/tools v0.28.0 // indirect
217+
golang.org/x/tools v0.29.0 // indirect
218218
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
219219
google.golang.org/api v0.198.0 // indirect
220220
google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect

go.sum

+4-4
Original file line numberDiff line numberDiff line change
@@ -511,8 +511,8 @@ github.com/openshift/api v0.0.0-20240124164020-e2ce40831f2e h1:cxgCNo/R769CO23AK
511511
github.com/openshift/api v0.0.0-20240124164020-e2ce40831f2e/go.mod h1:CxgbWAlvu2iQB0UmKTtRu1YfepRg1/vJ64n2DlIEVz4=
512512
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
513513
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
514-
github.com/operator-framework/api v0.27.0 h1:OrVaGKZJvbZo58HTv2guz7aURkhVKYhFqZ/6VpifiXI=
515-
github.com/operator-framework/api v0.27.0/go.mod h1:lg2Xx+S8NQWGYlEOvFwQvH46E5EK5IrAIL7HWfAhciM=
514+
github.com/operator-framework/api v0.29.0 h1:TxAR8RCO+I4FjRrY4PSMgnlmbxNWeD8pzHXp7xwHNmw=
515+
github.com/operator-framework/api v0.29.0/go.mod h1:0whQE4mpMDd2zyHkQe+bFa3DLoRs6oGWCbu8dY/3pyc=
516516
github.com/operator-framework/operator-lib v0.16.0 h1:nVMdOGETGK/aBRfFwrxJBIWhyOCduFhPIEOwS2j6F1U=
517517
github.com/operator-framework/operator-lib v0.16.0/go.mod h1:DyiABYNFJn2cUfVihuhjWYfQMFkW5SDAHEINPRMz0x0=
518518
github.com/ovh/go-ovh v1.6.0 h1:ixLOwxQdzYDx296sXcgS35TOPEahJkpjMGtzPadCjQI=
@@ -932,8 +932,8 @@ golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc
932932
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
933933
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
934934
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
935-
golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=
936-
golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
935+
golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE=
936+
golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588=
937937
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
938938
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
939939
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

internal/components/extensions/healthcheckv1.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,27 @@ import (
1212
)
1313

1414
const (
15-
DefaultHealthcheckV1Path = "/"
16-
DefaultHealthcheckV1Port = 13133
15+
defaultHealthcheckV1Path = "/"
16+
defaultHealthcheckV1Port = 13133
1717
)
1818

1919
type healthcheckV1Config struct {
2020
components.SingleEndpointConfig `mapstructure:",squash"`
2121
Path string `mapstructure:"path"`
2222
}
2323

24-
// HealthCheckV1Probe returns the probe configuration for the healthcheck v1 extension.
24+
// healthCheckV1Probe returns the probe configuration for the healthcheck v1 extension.
2525
// Right now no TLS config is parsed.
26-
func HealthCheckV1Probe(logger logr.Logger, config healthcheckV1Config) (*corev1.Probe, error) {
26+
func healthCheckV1Probe(logger logr.Logger, config healthcheckV1Config) (*corev1.Probe, error) {
2727
path := config.Path
2828
if len(path) == 0 {
29-
path = DefaultHealthcheckV1Path
29+
path = defaultHealthcheckV1Path
3030
}
3131
return &corev1.Probe{
3232
ProbeHandler: corev1.ProbeHandler{
3333
HTTPGet: &corev1.HTTPGetAction{
3434
Path: path,
35-
Port: intstr.FromInt32(config.GetPortNumOrDefault(logger, DefaultHealthcheckV1Port)),
35+
Port: intstr.FromInt32(config.GetPortNumOrDefault(logger, defaultHealthcheckV1Port)),
3636
},
3737
},
3838
}, nil

internal/components/extensions/healthcheckv1_test.go

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright The OpenTelemetry Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4-
package extensions_test
4+
package extensions
55

66
import (
77
"fmt"
@@ -11,8 +11,6 @@ import (
1111
"github.com/stretchr/testify/assert"
1212
corev1 "k8s.io/api/core/v1"
1313
"k8s.io/apimachinery/pkg/util/intstr"
14-
15-
"github.com/open-telemetry/opentelemetry-operator/internal/components/extensions"
1614
)
1715

1816
func TestHealthCheckV1Probe(t *testing.T) {
@@ -55,7 +53,7 @@ func TestHealthCheckV1Probe(t *testing.T) {
5553
ProbeHandler: corev1.ProbeHandler{
5654
HTTPGet: &corev1.HTTPGetAction{
5755
Path: "/healthz",
58-
Port: intstr.FromInt32(extensions.DefaultHealthcheckV1Port),
56+
Port: intstr.FromInt32(defaultHealthcheckV1Port),
5957
},
6058
},
6159
},
@@ -91,7 +89,7 @@ func TestHealthCheckV1Probe(t *testing.T) {
9189
ProbeHandler: corev1.ProbeHandler{
9290
HTTPGet: &corev1.HTTPGetAction{
9391
Path: "/",
94-
Port: intstr.FromInt32(extensions.DefaultHealthcheckV1Port),
92+
Port: intstr.FromInt32(defaultHealthcheckV1Port),
9593
},
9694
},
9795
},
@@ -125,7 +123,7 @@ func TestHealthCheckV1Probe(t *testing.T) {
125123
ProbeHandler: corev1.ProbeHandler{
126124
HTTPGet: &corev1.HTTPGetAction{
127125
Path: "/",
128-
Port: intstr.FromInt32(extensions.DefaultHealthcheckV1Port),
126+
Port: intstr.FromInt32(defaultHealthcheckV1Port),
129127
},
130128
},
131129
},
@@ -154,7 +152,7 @@ func TestHealthCheckV1Probe(t *testing.T) {
154152
ProbeHandler: corev1.ProbeHandler{
155153
HTTPGet: &corev1.HTTPGetAction{
156154
Path: "/healthz",
157-
Port: intstr.FromInt32(extensions.DefaultHealthcheckV1Port),
155+
Port: intstr.FromInt32(defaultHealthcheckV1Port),
158156
},
159157
},
160158
},
@@ -164,7 +162,7 @@ func TestHealthCheckV1Probe(t *testing.T) {
164162

165163
for _, tt := range tests {
166164
t.Run(tt.name, func(t *testing.T) {
167-
parser := extensions.ParserFor("health_check")
165+
parser := ParserFor("health_check")
168166
got, err := parser.GetLivenessProbe(logr.Discard(), tt.args.config)
169167
if !tt.wantErr(t, err, fmt.Sprintf("GetLivenessProbe(%v)", tt.args.config)) {
170168
return

internal/components/extensions/helpers.go

+13-34
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,19 @@ import (
1111
)
1212

1313
// registry holds a record of all known receiver parsers.
14-
var registry = make(map[string]components.Parser)
15-
16-
// Register adds a new parser builder to the list of known builders.
17-
func Register(name string, p components.Parser) {
18-
registry[name] = p
19-
}
20-
21-
// IsRegistered checks whether a parser is registered with the given name.
22-
func IsRegistered(name string) bool {
23-
_, ok := registry[name]
24-
return ok
14+
var registry = map[string]components.Parser{
15+
"health_check": components.NewBuilder[healthcheckV1Config]().
16+
WithName("health_check").
17+
WithPort(13133).
18+
WithReadinessGen(healthCheckV1Probe).
19+
WithLivenessGen(healthCheckV1Probe).
20+
WithPortParser(func(logger logr.Logger, name string, defaultPort *corev1.ServicePort, config healthcheckV1Config) ([]corev1.ServicePort, error) {
21+
return components.ParseSingleEndpointSilent(logger, name, defaultPort, &config.SingleEndpointConfig)
22+
}).
23+
MustBuild(),
24+
"jaeger_query": components.NewSinglePortParserBuilder("jaeger_query", 16686).
25+
WithTargetPort(16686).
26+
MustBuild(),
2527
}
2628

2729
// ParserFor returns a parser builder for the given exporter name.
@@ -32,26 +34,3 @@ func ParserFor(name string) components.Parser {
3234
// We want the default for exporters to fail silently.
3335
return components.NewBuilder[any]().WithName(name).MustBuild()
3436
}
35-
36-
var (
37-
componentParsers = []components.Parser{
38-
components.NewBuilder[healthcheckV1Config]().
39-
WithName("health_check").
40-
WithPort(13133).
41-
WithReadinessGen(HealthCheckV1Probe).
42-
WithLivenessGen(HealthCheckV1Probe).
43-
WithPortParser(func(logger logr.Logger, name string, defaultPort *corev1.ServicePort, config healthcheckV1Config) ([]corev1.ServicePort, error) {
44-
return components.ParseSingleEndpointSilent(logger, name, defaultPort, &config.SingleEndpointConfig)
45-
}).
46-
MustBuild(),
47-
components.NewSinglePortParserBuilder("jaeger_query", 16686).
48-
WithTargetPort(16686).
49-
MustBuild(),
50-
}
51-
)
52-
53-
func init() {
54-
for _, parser := range componentParsers {
55-
Register(parser.ParserType(), parser)
56-
}
57-
}

internal/components/extensions/helpers_test.go

+9-10
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright The OpenTelemetry Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4-
package extensions_test
4+
package extensions
55

66
import (
77
"testing"
@@ -10,13 +10,12 @@ import (
1010
"github.com/stretchr/testify/assert"
1111

1212
"github.com/open-telemetry/opentelemetry-operator/internal/components"
13-
"github.com/open-telemetry/opentelemetry-operator/internal/components/extensions"
1413
"github.com/open-telemetry/opentelemetry-operator/internal/naming"
1514
)
1615

1716
func TestParserForReturns(t *testing.T) {
1817
const testComponentName = "test"
19-
parser := extensions.ParserFor(testComponentName)
18+
parser := ParserFor(testComponentName)
2019
assert.Equal(t, "test", parser.ParserType())
2120
assert.Equal(t, "__test", parser.ParserName())
2221
ports, err := parser.Ports(logr.Discard(), testComponentName, map[string]interface{}{
@@ -28,9 +27,8 @@ func TestParserForReturns(t *testing.T) {
2827

2928
func TestCanRegister(t *testing.T) {
3029
const testComponentName = "test"
31-
extensions.Register(testComponentName, components.NewSinglePortParserBuilder(testComponentName, 9000).MustBuild())
32-
assert.True(t, extensions.IsRegistered(testComponentName))
33-
parser := extensions.ParserFor(testComponentName)
30+
registry[testComponentName] = components.NewSinglePortParserBuilder(testComponentName, 9000).MustBuild()
31+
parser := ParserFor(testComponentName)
3432
assert.Equal(t, "test", parser.ParserType())
3533
assert.Equal(t, "__test", parser.ParserName())
3634
ports, err := parser.Ports(logr.Discard(), testComponentName, map[string]interface{}{})
@@ -49,11 +47,12 @@ func TestExtensionsComponentParsers(t *testing.T) {
4947
} {
5048
t.Run(tt.exporterName, func(t *testing.T) {
5149
t.Run("is registered", func(t *testing.T) {
52-
assert.True(t, extensions.IsRegistered(tt.exporterName))
50+
_, ok := registry[tt.exporterName]
51+
assert.True(t, ok)
5352
})
5453
t.Run("bad config errors", func(t *testing.T) {
5554
// prepare
56-
parser := extensions.ParserFor(tt.exporterName)
55+
parser := ParserFor(tt.exporterName)
5756

5857
// test throwing in pure junk
5958
_, err := parser.Ports(logr.Discard(), tt.exporterName, func() {})
@@ -64,7 +63,7 @@ func TestExtensionsComponentParsers(t *testing.T) {
6463

6564
t.Run("assigns the expected port", func(t *testing.T) {
6665
// prepare
67-
parser := extensions.ParserFor(tt.exporterName)
66+
parser := ParserFor(tt.exporterName)
6867

6968
// test
7069
ports, err := parser.Ports(logr.Discard(), tt.exporterName, map[string]interface{}{})
@@ -82,7 +81,7 @@ func TestExtensionsComponentParsers(t *testing.T) {
8281

8382
t.Run("allows port to be overridden", func(t *testing.T) {
8483
// prepare
85-
parser := extensions.ParserFor(tt.exporterName)
84+
parser := ParserFor(tt.exporterName)
8685

8786
// test
8887
ports, err := parser.Ports(logr.Discard(), tt.exporterName, map[string]interface{}{

0 commit comments

Comments
 (0)