Skip to content

Commit b592dd6

Browse files
committed
chore: Refactor internal/version into root version folder (#3145)
* refactor internal/version into root version folder * update component doc for ocb use case * ci * dont return cfg func
1 parent 8aea63d commit b592dd6

22 files changed

Lines changed: 93 additions & 60 deletions

File tree

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -648,3 +648,14 @@ updates:
648648
commit-message:
649649
prefix: "deps"
650650
include: "scope"
651+
- package-ecosystem: "gomod"
652+
directory: "/version"
653+
schedule:
654+
interval: "weekly"
655+
ignore:
656+
# Opentelemetry updates will be done manually
657+
- dependency-name: "github.com/open-telemetry/opentelemetry-collector*"
658+
- dependency-name: "go.opentelemetry.io/*"
659+
commit-message:
660+
prefix: "deps"
661+
include: "scope"

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ version:
3737
# Builds the collector for current GOOS/GOARCH pair
3838
.PHONY: collector
3939
collector:
40-
CGO_ENABLED=0 builder --config="./manifests/observIQ/manifest.yaml" --ldflags "-s -w -X github.com/observiq/bindplane-otel-collector/internal/version.version=$(VERSION)"
40+
CGO_ENABLED=0 builder --config="./manifests/observIQ/manifest.yaml" --ldflags "-s -w -X github.com/observiq/bindplane-otel-collector/version.version=$(VERSION)"
4141
mkdir -p $(OUTDIR); cp ./builder/bindplane-otel-collector $(OUTDIR)/collector_$(GOOS)_$(GOARCH)$(EXT)
4242

4343
# Builds a custom distro for the current GOOS/GOARCH pair using the manifest specified

exporter/googlecloudexporter/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,13 @@ When trace data is received by the Google Cloud Exporter, it is processed in the
4646
## Metric Labels
4747

4848
Unlike the official Google Cloud Exporter, this extension transforms all resource attributes into metric labels by default. Users may still use the `resource_filters` field in the metric config to overwrite this behavior.
49+
50+
## OCB
51+
52+
This component relies on the `github.com/observiq/bindplane-otel-collector/version` package to get a version value. This version is used to construct a User-Agent header value.
53+
54+
When using this component with the OpenTelemetry Collector Builder (OCB), use the `--ldflags` CLI argument to set the version value at build time. For example:
55+
56+
```sh
57+
builder --config "manifest.yaml" --ldflags "-s -w -X github.com/observiq/bindplane-otel-collector/version.version=v1.2.3"
58+
```

exporter/googlecloudexporter/config.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
"path/filepath"
2323

2424
"github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector"
25-
"github.com/observiq/bindplane-otel-collector/internal/version"
25+
"github.com/observiq/bindplane-otel-collector/version"
2626
gcp "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter"
2727
"go.opentelemetry.io/collector/component"
2828
"go.opentelemetry.io/collector/processor/batchprocessor"
@@ -119,14 +119,12 @@ func (c *Config) updateProjectFromFile(fileName string) error {
119119
}
120120

121121
// createDefaultConfig creates the default config for the exporter
122-
func createDefaultConfig() func() component.Config {
122+
func createDefaultConfig() component.Config {
123123
collectorVersion := version.Version()
124-
return func() component.Config {
125-
return &Config{
126-
GCPConfig: createDefaultGCPConfig(collectorVersion),
127-
BatchConfig: createDefaultBatchConfig(),
128-
AppendHost: true,
129-
}
124+
return &Config{
125+
GCPConfig: createDefaultGCPConfig(collectorVersion),
126+
BatchConfig: createDefaultBatchConfig(),
127+
AppendHost: true,
130128
}
131129
}
132130

exporter/googlecloudexporter/config_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
"testing"
2020

2121
"github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector"
22-
"github.com/observiq/bindplane-otel-collector/internal/version"
22+
"github.com/observiq/bindplane-otel-collector/version"
2323
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter"
2424
"github.com/stretchr/testify/require"
2525
"google.golang.org/api/option"
@@ -28,7 +28,7 @@ import (
2828
func TestCreateDefaultConfig(t *testing.T) {
2929
collectorVersion := version.Version()
3030

31-
cfg := createDefaultConfig()()
31+
cfg := createDefaultConfig()
3232
googleCfg, ok := cfg.(*Config)
3333
require.True(t, ok)
3434

exporter/googlecloudexporter/factory.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ const (
4444
func NewFactory() exporter.Factory {
4545
return exporter.NewFactory(
4646
componentType,
47-
createDefaultConfig(),
47+
createDefaultConfig,
4848
exporter.WithMetrics(createMetricsExporter, stability),
4949
exporter.WithLogs(createLogsExporter, stability),
5050
exporter.WithTraces(createTracesExporter, stability),

exporter/googlecloudexporter/factory_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func TestCreateMetricExporterSuccess(t *testing.T) {
4242
}()
4343

4444
factory := NewFactory()
45-
cfg := createDefaultConfig()()
45+
cfg := createDefaultConfig()
4646
ctx := context.Background()
4747
set := exportertest.NewNopSettings(typ)
4848

@@ -69,7 +69,7 @@ func TestCreateLogsExporterSuccess(t *testing.T) {
6969
}()
7070

7171
factory := NewFactory()
72-
cfg := createDefaultConfig()()
72+
cfg := createDefaultConfig()
7373
ctx := context.Background()
7474
set := exportertest.NewNopSettings(typ)
7575

@@ -96,7 +96,7 @@ func TestCreateTracesExporterSuccess(t *testing.T) {
9696
}()
9797

9898
factory := NewFactory()
99-
cfg := createDefaultConfig()()
99+
cfg := createDefaultConfig()
100100
ctx := context.Background()
101101
set := exportertest.NewNopSettings(typ)
102102

@@ -118,7 +118,7 @@ func TestCreateExporterFailure(t *testing.T) {
118118
}()
119119

120120
factory := NewFactory()
121-
cfg := createDefaultConfig()()
121+
cfg := createDefaultConfig()
122122
ctx := context.Background()
123123
set := exportertest.NewNopSettings(typ)
124124

exporter/googlecloudexporter/go.mod

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.24.11
44

55
require (
66
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.55.0
7-
github.com/observiq/bindplane-otel-collector/internal/version v1.93.0
7+
github.com/observiq/bindplane-otel-collector/version v1.93.0
88
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.145.0
99
github.com/stretchr/testify v1.11.1
1010
go.opentelemetry.io/collector/component v1.51.0
@@ -108,5 +108,4 @@ require (
108108
google.golang.org/genproto/googleapis/rpc v0.0.0-20260203192932-546029d2fa20 // indirect
109109
)
110110

111-
// Needed until 'version' package changes are included in a release
112-
replace github.com/observiq/bindplane-otel-collector/internal/version => ../../internal/version
111+
replace github.com/observiq/bindplane-otel-collector/version => ../../version

exporter/googlemanagedprometheusexporter/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,13 @@ service:
6363
processors: [resource, batch]
6464
exporters: [googlemanagedprometheus]
6565
```
66+
67+
## OCB
68+
69+
This component relies on the `github.com/observiq/bindplane-otel-collector/version` package to get a version value. This version is used to construct a User-Agent header value.
70+
71+
When using this component with the OpenTelemetry Collector Builder (OCB), use the `--ldflags` CLI argument to set the version value at build time. For example:
72+
73+
```sh
74+
builder --config "manifest.yaml" --ldflags "-s -w -X github.com/observiq/bindplane-otel-collector/version.version=v1.2.3"
75+
```

exporter/googlemanagedprometheusexporter/config.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"os"
2222
"path/filepath"
2323

24-
"github.com/observiq/bindplane-otel-collector/internal/version"
24+
"github.com/observiq/bindplane-otel-collector/version"
2525
gmp "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter"
2626
"go.opentelemetry.io/collector/component"
2727
"google.golang.org/api/option"
@@ -108,12 +108,10 @@ func (c *Config) updateProjectFromFile(fileName string) error {
108108
}
109109

110110
// createDefaultConfig creates the default config for the exporter
111-
func createDefaultConfig() func() component.Config {
111+
func createDefaultConfig() component.Config {
112112
collectorVersion := version.Version()
113-
return func() component.Config {
114-
return &Config{
115-
GMPConfig: createDefaultGCPConfig(collectorVersion),
116-
}
113+
return &Config{
114+
GMPConfig: createDefaultGCPConfig(collectorVersion),
117115
}
118116
}
119117

0 commit comments

Comments
 (0)