summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-05-24 01:00:24 -0600
committermo khan <mo@mokhan.ca>2025-05-24 01:00:24 -0600
commit9481fb347af85bd946408b902dcdd5310ee38dd9 (patch)
tree5f2c09a941b89733b679922563ee41e313e3f878
parent8eb64aec1fc89a900dd2f3decaff86bf9097986c (diff)
fix: register oidc provider once
-rw-r--r--app/init.go2
-rw-r--r--cmd/sparkled/main.go10
-rw-r--r--pkg/web/transport.go13
-rw-r--r--test/integration/container.go1
4 files changed, 10 insertions, 16 deletions
diff --git a/app/init.go b/app/init.go
index a88fa4f..7b0c386 100644
--- a/app/init.go
+++ b/app/init.go
@@ -46,7 +46,7 @@ func init() {
},
}
})
- ioc.Register[*oidc.Provider](ioc.Default, func() *oidc.Provider {
+ ioc.RegisterSingleton[*oidc.Provider](ioc.Default, func() *oidc.Provider {
ctx := context.WithValue(
context.Background(),
oauth2.HTTPClient,
diff --git a/cmd/sparkled/main.go b/cmd/sparkled/main.go
index 161e8c1..adc7ed1 100644
--- a/cmd/sparkled/main.go
+++ b/cmd/sparkled/main.go
@@ -1,21 +1,19 @@
package main
import (
- "log"
+ "context"
"net/http"
"os"
"github.com/xlgmokha/x/pkg/env"
"github.com/xlgmokha/x/pkg/x"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app"
+ "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/pls"
)
func main() {
- bindAddr := env.Fetch("BIND_ADDR", ":8080")
- log.Printf("Listening on %v\n", bindAddr)
-
- log.Fatal(http.ListenAndServe(
- bindAddr,
+ pls.LogError(context.Background(), http.ListenAndServe(
+ env.Fetch("BIND_ADDR", ":8080"),
app.New(x.Must(os.Getwd())),
))
}
diff --git a/pkg/web/transport.go b/pkg/web/transport.go
index b8d728a..e3333f5 100644
--- a/pkg/web/transport.go
+++ b/pkg/web/transport.go
@@ -6,6 +6,7 @@ import (
"github.com/rs/zerolog"
"github.com/xlgmokha/x/pkg/log"
"github.com/xlgmokha/x/pkg/mapper"
+ "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/pls"
)
type Transport struct {
@@ -14,20 +15,16 @@ type Transport struct {
func (r *Transport) RoundTrip(request *http.Request) (*http.Response, error) {
ctx := r.Logger.WithContext(request.Context())
+ log.WithFields(ctx, mapper.MapFrom[*http.Request, log.Fields](request))
- defer func() {
- log.WithFields(ctx, mapper.MapFrom[*http.Request, log.Fields](request))
- zerolog.Ctx(ctx).Print()
- }()
+ defer pls.FlushLog(ctx)
response, err := http.DefaultTransport.RoundTrip(request)
if err != nil {
- r.Logger.Err(err)
+ pls.LogError(ctx, err)
return response, err
}
- log.WithFields(ctx, log.Fields{
- "status_code": response.StatusCode,
- })
+ log.WithFields(ctx, log.Fields{"status_code": response.StatusCode})
return response, nil
}
diff --git a/test/integration/container.go b/test/integration/container.go
index 6c346a5..c8149b5 100644
--- a/test/integration/container.go
+++ b/test/integration/container.go
@@ -25,7 +25,6 @@ func NewContainer(t *testing.T, ctx context.Context, envVars map[string]string)
testcontainers.WithLogConsumers(&Logger{TB: t}),
testcontainers.WithLogger(log.TestLogger(t)),
testcontainers.WithWaitStrategy(
- wait.ForLog("Listening on"),
wait.ForListeningPort(x.Must(nat.NewPort("tcp", "10000"))),
wait.ForListeningPort(x.Must(nat.NewPort("tcp", "10003"))),
wait.ForListeningPort(x.Must(nat.NewPort("tcp", "8080"))),