Skip to content

Commit d822d43

Browse files
authored
Merge branch 'main' into feat/flagd-inprocess-eventing-and-grace-period
Signed-off-by: Simon Schrottner <[email protected]>
2 parents f64dd1d + 5f29be0 commit d822d43

File tree

99 files changed

+1486
-981
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+1486
-981
lines changed

.golangci.yaml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,46 @@
1+
---
2+
version: "2"
3+
4+
formatters:
5+
enable: []
6+
# - gofumpt
7+
# - gci
8+
9+
linters:
10+
default: none
11+
enable:
12+
- copyloopvar
13+
- dupword
14+
- errcheck
15+
- govet
16+
- ineffassign
17+
- intrange
18+
- misspell
19+
- staticcheck
20+
# - unused
21+
settings:
22+
staticcheck:
23+
checks:
24+
- "all"
25+
- "-ST1000" # package comment
26+
- "-ST1003" # incorrect identifier
27+
- "-ST1005" # incorrectly formatted error
28+
- "-QF1008" # omit embedded field from selector expression
29+
- "-SA1019" # using deprecated
30+
exclusions:
31+
paths:
32+
- tests/flagd
33+
34+
issues:
35+
max-issues-per-linter: 0
36+
max-same-issues: 0
37+
138
run:
239
timeout: 3m
40+
build-tags:
41+
- testtools
42+
modules-download-mode: readonly
43+
44+
output:
45+
sort-order:
46+
- file

Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ ALL_GO_MOD_DIRS := $(shell find . -type f -name 'go.mod' -exec dirname {} \; | s
22
MODULE_TYPE ?= providers
33
FLAGD_TESTBED = flagd-testbed
44
FLAGD_SYNC = sync-testbed
5+
GOLANGCI_LINT_VERSION := v2.4.0
6+
GOBIN := $(shell go env GOBIN)
57

68
workspace-init:
79
go work init
@@ -18,8 +20,8 @@ e2e:
1820
go clean -testcache && go list -f '{{.Dir}}/...' -m | xargs -I{} go test -timeout=2m -tags=e2e {}
1921

2022
lint:
21-
go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.8
22-
$(foreach module, $(ALL_GO_MOD_DIRS), ${GOPATH}/bin/golangci-lint run $(module)/...;)
23+
go install -v github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION)
24+
$(foreach module, $(ALL_GO_MOD_DIRS), ${GOBIN}/golangci-lint run $(module)/...;)
2325

2426
new-provider:
2527
mkdir ./providers/$(MODULE_NAME)

hooks/open-telemetry/go.mod

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
module github.com/open-feature/go-sdk-contrib/hooks/open-telemetry
22

3-
go 1.23.0
3+
go 1.24.0
44

55
require (
6-
github.com/open-feature/go-sdk v1.15.1
7-
go.opentelemetry.io/otel v1.37.0
8-
go.opentelemetry.io/otel/metric v1.37.0
9-
go.opentelemetry.io/otel/sdk v1.37.0
10-
go.opentelemetry.io/otel/sdk/metric v1.37.0
11-
go.opentelemetry.io/otel/trace v1.37.0
6+
github.com/open-feature/go-sdk v1.16.0
7+
go.opentelemetry.io/otel v1.38.0
8+
go.opentelemetry.io/otel/metric v1.38.0
9+
go.opentelemetry.io/otel/sdk v1.38.0
10+
go.opentelemetry.io/otel/sdk/metric v1.38.0
11+
go.opentelemetry.io/otel/trace v1.38.0
1212
)
1313

1414
require (
1515
github.com/go-logr/logr v1.4.3 // indirect
1616
github.com/go-logr/stdr v1.2.2 // indirect
1717
github.com/google/uuid v1.6.0 // indirect
1818
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
19-
go.uber.org/mock v0.5.2 // indirect
20-
golang.org/x/sys v0.33.0 // indirect
19+
go.uber.org/mock v0.6.0 // indirect
20+
golang.org/x/sys v0.35.0 // indirect
2121
)

hooks/open-telemetry/go.sum

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
1111
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
1212
github.com/open-feature/go-sdk v1.15.1 h1:TC3FtHtOKlGlIbSf3SEpxXVhgTd/bCbuc39XHIyltkw=
1313
github.com/open-feature/go-sdk v1.15.1/go.mod h1:2WAFYzt8rLYavcubpCoiym3iSCXiHdPB6DxtMkv2wyo=
14+
github.com/open-feature/go-sdk v1.16.0 h1:5NCHYv5slvNBIZhYXAzAufo0OI59OACZ5tczVqSE+Tg=
15+
github.com/open-feature/go-sdk v1.16.0/go.mod h1:EIF40QcoYT1VbQkMPy2ZJH4kvZeY+qGUXAorzSWgKSo=
1416
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
1517
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
1618
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
@@ -19,20 +21,34 @@ go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJyS
1921
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
2022
go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
2123
go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
24+
go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8=
25+
go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM=
2226
go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
2327
go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
28+
go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA=
29+
go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI=
2430
go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
2531
go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
32+
go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E=
33+
go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg=
2634
go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc=
2735
go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
36+
go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM=
37+
go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA=
2838
go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
2939
go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
40+
go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE=
41+
go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
3042
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
3143
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
3244
go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko=
3345
go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o=
46+
go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y=
47+
go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU=
3448
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
3549
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
50+
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
51+
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
3652
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
3753
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
3854
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

hooks/open-telemetry/pkg/metrics_test.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package otel
22

33
import (
4-
"context"
54
"errors"
65
"reflect"
76
"testing"
@@ -18,7 +17,7 @@ func TestMetricsHook_BeforeStage(t *testing.T) {
1817
// given
1918
manualReader := metric.NewManualReader()
2019

21-
ctx := context.Background()
20+
ctx := t.Context()
2221

2322
hookHints := openfeature.NewHookHints(map[string]any{})
2423

@@ -61,7 +60,7 @@ func TestMetricsHook_AfterStage(t *testing.T) {
6160
// given
6261
manualReader := metric.NewManualReader()
6362

64-
ctx := context.Background()
63+
ctx := t.Context()
6564

6665
evalDetails := openfeature.InterfaceEvaluationDetails{
6766
Value: true,
@@ -116,7 +115,7 @@ func TestMetricsHook_ErrorStage(t *testing.T) {
116115
// given
117116
manualReader := metric.NewManualReader()
118117

119-
ctx := context.Background()
118+
ctx := t.Context()
120119

121120
evalError := errors.New("some eval error")
122121
hookHints := openfeature.NewHookHints(map[string]any{})
@@ -169,7 +168,7 @@ func TestMetricsHook_FinallyStage(t *testing.T) {
169168
// given
170169
manualReader := metric.NewManualReader()
171170

172-
ctx := context.Background()
171+
ctx := t.Context()
173172

174173
evalDetails := openfeature.InterfaceEvaluationDetails{
175174
Value: true,
@@ -222,7 +221,7 @@ func TestMetricsHook_ActiveCounterShouldBeZero(t *testing.T) {
222221
// given
223222
manualReader := metric.NewManualReader()
224223

225-
ctx := context.Background()
224+
ctx := t.Context()
226225

227226
evalDetails := openfeature.InterfaceEvaluationDetails{
228227
Value: true,
@@ -295,7 +294,7 @@ func TestMetricsHook_ActiveCounterShouldBeZero(t *testing.T) {
295294
func TestMetricHook_MetadataExtractionOptions(t *testing.T) {
296295
// given
297296
manualReader := metric.NewManualReader()
298-
ctx := context.Background()
297+
ctx := t.Context()
299298

300299
evalDetails := openfeature.InterfaceEvaluationDetails{
301300
Value: true,

hooks/open-telemetry/pkg/traces_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func TestHookMethods(t *testing.T) {
2323
trace.WithSyncer(exp),
2424
)
2525
otel.SetTracerProvider(tp)
26-
ctx, span := otel.Tracer("test-tracer").Start(context.Background(), "Run")
26+
ctx, span := otel.Tracer("test-tracer").Start(t.Context(), "Run")
2727
hook := NewTracesHook()
2828
err := hook.After(
2929
ctx,
@@ -93,7 +93,7 @@ func TestHookMethods(t *testing.T) {
9393
trace.WithSyncer(exp),
9494
)
9595
otel.SetTracerProvider(tp)
96-
ctx, span := otel.Tracer("test-tracer").Start(context.Background(), "Run")
96+
ctx, span := otel.Tracer("test-tracer").Start(t.Context(), "Run")
9797
hook := NewTracesHook()
9898
err := errors.New("a terrible error")
9999
hook.Error(ctx, openfeature.HookContext{}, err, openfeature.HookHints{})
@@ -124,7 +124,7 @@ func TestHookMethods(t *testing.T) {
124124
trace.WithSyncer(exp),
125125
)
126126
otel.SetTracerProvider(tp)
127-
ctx, span := otel.Tracer("test-tracer").Start(context.Background(), "Run")
127+
ctx, span := otel.Tracer("test-tracer").Start(t.Context(), "Run")
128128

129129
// build traceHook with option WithErrorStatusEnabled
130130
hook := NewTracesHook(WithErrorStatusEnabled())
@@ -149,7 +149,7 @@ func TestHookMethods(t *testing.T) {
149149
flagKey := "flag-key"
150150
providerName := "provider-name"
151151
variant := "variant"
152-
ctx := context.Background()
152+
var ctx context.Context
153153
hook := NewTracesHook()
154154

155155
err := hook.After(
@@ -210,7 +210,7 @@ func TestTracesHook_MedataExtractionOption(t *testing.T) {
210210
hook := NewTracesHook(WithTracesAttributeSetter(extractionCallback))
211211

212212
// when
213-
ctx, span := otel.Tracer("test-tracer").Start(context.Background(), "Run")
213+
ctx, span := otel.Tracer("test-tracer").Start(t.Context(), "Run")
214214
err := hook.After(ctx, openfeature.HookContext{}, evaluationDetails, openfeature.HookHints{})
215215
if err != nil {
216216
t.Fatal(err)

hooks/validator/go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
module github.com/open-feature/go-sdk-contrib/hooks/validator
22

3-
go 1.23.0
3+
go 1.24.0
44

5-
require github.com/open-feature/go-sdk v1.15.1
5+
require github.com/open-feature/go-sdk v1.16.0
66

77
require (
88
github.com/go-logr/logr v1.4.3 // indirect
9-
go.uber.org/mock v0.5.2 // indirect
9+
go.uber.org/mock v0.6.0 // indirect
1010
)

hooks/validator/go.sum

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
22
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
3-
github.com/open-feature/go-sdk v1.15.0 h1:FEZl4kCH6H2drhnQ0dheDBxLvwwzO7zvzdUl8zzZLX4=
4-
github.com/open-feature/go-sdk v1.15.0/go.mod h1:LkqPL/17XMGcRvTdk1qqwSSG1ICe/D2MQP0blDaXfh0=
53
github.com/open-feature/go-sdk v1.15.1 h1:TC3FtHtOKlGlIbSf3SEpxXVhgTd/bCbuc39XHIyltkw=
64
github.com/open-feature/go-sdk v1.15.1/go.mod h1:2WAFYzt8rLYavcubpCoiym3iSCXiHdPB6DxtMkv2wyo=
5+
github.com/open-feature/go-sdk v1.16.0 h1:5NCHYv5slvNBIZhYXAzAufo0OI59OACZ5tczVqSE+Tg=
6+
github.com/open-feature/go-sdk v1.16.0/go.mod h1:EIF40QcoYT1VbQkMPy2ZJH4kvZeY+qGUXAorzSWgKSo=
77
go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko=
88
go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o=
9-
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
10-
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
9+
go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y=
10+
go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU=
11+
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
12+
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=

providers/aws-ssm/go.mod

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
module github.com/open-feature/go-sdk-contrib/providers/aws-ssm
22

3-
go 1.23.0
3+
go 1.24.0
44

55
require (
6-
github.com/aws/aws-sdk-go-v2 v1.36.6
7-
github.com/aws/aws-sdk-go-v2/config v1.29.18
8-
github.com/aws/aws-sdk-go-v2/service/ssm v1.60.2
9-
github.com/open-feature/go-sdk v1.15.1
6+
github.com/aws/aws-sdk-go-v2 v1.39.4
7+
github.com/aws/aws-sdk-go-v2/config v1.31.15
8+
github.com/aws/aws-sdk-go-v2/service/ssm v1.66.2
9+
github.com/open-feature/go-sdk v1.16.0
1010
)
1111

1212
require (
13-
github.com/aws/aws-sdk-go-v2/credentials v1.17.71 // indirect
14-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.33 // indirect
15-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.37 // indirect
16-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.37 // indirect
17-
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
18-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.4 // indirect
19-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.18 // indirect
20-
github.com/aws/aws-sdk-go-v2/service/sso v1.25.6 // indirect
21-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.4 // indirect
22-
github.com/aws/aws-sdk-go-v2/service/sts v1.34.1 // indirect
23-
github.com/aws/smithy-go v1.22.4 // indirect
13+
github.com/aws/aws-sdk-go-v2/credentials v1.18.19 // indirect
14+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.11 // indirect
15+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.11 // indirect
16+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.11 // indirect
17+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
18+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.2 // indirect
19+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.11 // indirect
20+
github.com/aws/aws-sdk-go-v2/service/sso v1.29.8 // indirect
21+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.3 // indirect
22+
github.com/aws/aws-sdk-go-v2/service/sts v1.38.9 // indirect
23+
github.com/aws/smithy-go v1.23.1 // indirect
2424
github.com/go-logr/logr v1.4.3 // indirect
25-
go.uber.org/mock v0.5.2 // indirect
25+
go.uber.org/mock v0.6.0 // indirect
2626
)

0 commit comments

Comments
 (0)