From 1bc7f0b4869ed43719b495a17dd5d6cfbd842007 Mon Sep 17 00:00:00 2001 From: Owen Cabalceta Date: Mon, 9 Dec 2024 16:27:25 -0500 Subject: [PATCH 1/2] refactor: simplify ancla setup and startup - simplify ancla setup and startup with `anclafx.Provide()` --- go.mod | 18 +++++------ go.sum | 34 ++++++++++---------- main.go | 4 ++- primaryHandler.go | 79 +++++++++++++++++------------------------------ tr1d1um.yaml | 8 ++--- 5 files changed, 59 insertions(+), 84 deletions(-) diff --git a/go.mod b/go.mod index 1a9450af..e4120688 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/xmidt-org/tr1d1um -go 1.21 +go 1.23 require ( github.com/go-kit/kit v0.13.0 @@ -11,7 +11,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.9.0 - github.com/xmidt-org/ancla v0.3.13-0.20241008222046-37a4b62a9fa8 + github.com/xmidt-org/ancla v0.3.13-0.20241209210550-bcd326dfa238 github.com/xmidt-org/arrange v0.4.0 github.com/xmidt-org/bascule v0.11.6 github.com/xmidt-org/candlelight v0.1.19 @@ -34,14 +34,14 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/goccy/go-json v0.10.2 // indirect + github.com/goccy/go-json v0.10.3 // indirect github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect @@ -51,9 +51,9 @@ require ( github.com/klauspost/compress v1.17.9 // indirect github.com/lestrrat-go/blackmagic v1.0.2 // indirect github.com/lestrrat-go/httpcc v1.0.1 // indirect - github.com/lestrrat-go/httprc v1.0.5 // indirect + github.com/lestrrat-go/httprc v1.0.6 // indirect github.com/lestrrat-go/iter v1.0.2 // indirect - github.com/lestrrat-go/jwx/v2 v2.0.21 // indirect + github.com/lestrrat-go/jwx/v2 v2.1.2 // indirect github.com/lestrrat-go/option v1.0.1 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -89,11 +89,11 @@ require ( go.opentelemetry.io/proto/otlp v1.3.1 // indirect go.uber.org/dig v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.25.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect google.golang.org/grpc v1.65.0 // indirect diff --git a/go.sum b/go.sum index 77fdaa73..4c9b63d7 100644 --- a/go.sum +++ b/go.sum @@ -114,8 +114,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -162,8 +162,8 @@ github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ4 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= -github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -335,12 +335,12 @@ github.com/lestrrat-go/blackmagic v1.0.2 h1:Cg2gVSc9h7sz9NOByczrbUvLopQmXrfFx//N github.com/lestrrat-go/blackmagic v1.0.2/go.mod h1:UrEqBzIR2U6CnzVyUtfM6oZNMt/7O7Vohk2J0OGSAtU= github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= -github.com/lestrrat-go/httprc v1.0.5 h1:bsTfiH8xaKOJPrg1R+E3iE/AWZr/x0Phj9PBTG/OLUk= -github.com/lestrrat-go/httprc v1.0.5/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= +github.com/lestrrat-go/httprc v1.0.6 h1:qgmgIRhpvBqexMJjA/PmwSvhNk679oqD1RbovdCGW8k= +github.com/lestrrat-go/httprc v1.0.6/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= -github.com/lestrrat-go/jwx/v2 v2.0.21 h1:jAPKupy4uHgrHFEdjVjNkUgoBKtVDgrQPB/h55FHrR0= -github.com/lestrrat-go/jwx/v2 v2.0.21/go.mod h1:09mLW8zto6bWL9GbwnqAli+ArLf+5M33QLQPDggkUWM= +github.com/lestrrat-go/jwx/v2 v2.1.2 h1:6poete4MPsO8+LAEVhpdrNI4Xp2xdiafgl2RD89moBc= +github.com/lestrrat-go/jwx/v2 v2.1.2/go.mod h1:pO+Gz9whn7MPdbsqSJzG8TlEpMZCwQDXnFJ+zsUVh8Y= github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= @@ -481,10 +481,8 @@ github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSW github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= -github.com/xmidt-org/ancla v0.3.13-0.20241008222046-37a4b62a9fa8 h1:WjDZhfsOsz0sttiUOIf59zfSMlDF9+WQ0mOa5b7wZU8= -github.com/xmidt-org/ancla v0.3.13-0.20241008222046-37a4b62a9fa8/go.mod h1:rFd0rT41jSNx7lzVkF7JkIPLgVOx9WlXpYG+yRg0Mw8= -github.com/xmidt-org/ancla v0.3.13-0.20241108154956-ca4c7817340e h1:sq5BEeu3uZvkGDNEIvYrc3Go8Cl7YEx5pM3GRPx5J18= -github.com/xmidt-org/ancla v0.3.13-0.20241108154956-ca4c7817340e/go.mod h1:vk1pz4uivrZXbVwBxK7xYyb8lbmQ7O9GIPR5UMHnxt8= +github.com/xmidt-org/ancla v0.3.13-0.20241209210550-bcd326dfa238 h1:CCrUcd+UwMvSaizBnVNm/MntKoEeUvgE5inO8J3yW5I= +github.com/xmidt-org/ancla v0.3.13-0.20241209210550-bcd326dfa238/go.mod h1:uMF1DSs1J7pvgsbJl/+uPKCHyFJxGKiswz3XnDh2PVI= github.com/xmidt-org/arrange v0.4.0 h1:DmJJTK58C44B4efyBV78SmMH0mn0G54n3caVn5BopUU= github.com/xmidt-org/arrange v0.4.0/go.mod h1:MA1eKUZYxaSMIKJL3D/iJEMQruiefmhq+s5E9J4UJv0= github.com/xmidt-org/bascule v0.11.6 h1:i46FAI97XPMt3OKraiNyKa+mt36AhLO8iuInAypXKNM= @@ -584,8 +582,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -785,8 +783,8 @@ golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -798,8 +796,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/main.go b/main.go index 5ed6b85e..26fcade9 100644 --- a/main.go +++ b/main.go @@ -49,6 +49,7 @@ const ( reducedTransactionLoggingCodesKey = "logging.reducedLoggingResponseCodes" authAcquirerKey = "authAcquirer" webhookConfigKey = "webhook" + anclaClientConfigKey = "webhook.BasicClientConfig" tracingConfigKey = "tracing" ) @@ -182,6 +183,7 @@ func tr1d1um(arguments []string) (exitCode int) { os.Exit(0) } + l = l.With(zap.Time("ts", time.Now().UTC()), zap.Any("caller", zap.WithCaller(true))) app := fx.New( arrange.LoggerFunc(l.Sugar().Infof), fx.Supply(l), @@ -207,7 +209,7 @@ func tr1d1um(arguments []string) (exitCode int) { Target: configureArgusClientTimeout, }, loadTracing, - newHTTPClient, + provideAnclaHTTPClient, ), provideAuthChain("authx.inbound"), provideServers(), diff --git a/primaryHandler.go b/primaryHandler.go index cdc60cb6..785e7645 100644 --- a/primaryHandler.go +++ b/primaryHandler.go @@ -4,7 +4,6 @@ package main import ( - "context" "errors" "fmt" "net" @@ -17,7 +16,6 @@ import ( "github.com/xmidt-org/arrange" "github.com/xmidt-org/bascule/acquire" "github.com/xmidt-org/candlelight" - "github.com/xmidt-org/sallust" "github.com/xmidt-org/touchstone" "github.com/xmidt-org/touchstone/touchhttp" "github.com/xmidt-org/tr1d1um/stat" @@ -50,14 +48,20 @@ type authAcquirerConfig struct { type provideWebhookHandlersIn struct { fx.In - Lifecycle fx.Lifecycle - V *viper.Viper - WebhookConfig ancla.Config + Lifecycle fx.Lifecycle + V *viper.Viper + WebhookConfig ancla.Config + Logger *zap.Logger + Tracing candlelight.Tracing + Tf *touchstone.Factory + AnclaSvc *ancla.ClientService +} + +type provideAnclaHTTPClientIn struct { + fx.In + ArgusClientTimeout httpClientTimeout `name:"argus_client_timeout"` - Logger *zap.Logger - Measures *chrysom.Measures Tracing candlelight.Tracing - Tf *touchstone.Factory } type provideWebhookHandlersOut struct { @@ -84,6 +88,10 @@ type ServiceOptionsOut struct { TranslationServiceOptions *translation.ServiceOptions } +func provideAnclaHTTPClient(in provideAnclaHTTPClientIn) chrysom.HTTPClient { + return newHTTPClient(in.ArgusClientTimeout, in.Tracing) +} + func newHTTPClient(timeouts httpClientTimeout, tracing candlelight.Tracing) *http.Client { var transport http.RoundTripper = &http.Transport{ Dial: (&net.Dialer{ @@ -114,72 +122,40 @@ func createAuthAcquirer(config authAcquirerConfig) (acquire.Acquirer, error) { } func v2WebhookValidators(c ancla.Config) ([]webhook.Option, error) { - checker, err := c.Validation.BuildURLChecker() + checker, err := ancla.BuildURLChecker(c.Validation) if err != nil { return nil, err } - v := c.Validation.BuildOptions(checker) - return v, nil + return c.Validation.BuildOptions(checker), nil } func provideWebhookHandlers(in provideWebhookHandlersIn) (out provideWebhookHandlersOut, err error) { // Webhooks (if not configured, handlers are not set up) - if !in.V.IsSet(webhookConfigKey) { + if !in.V.IsSet(anclaClientConfigKey) { in.Logger.Info("Webhook service disabled") return } - webhookConfig := in.WebhookConfig - webhookConfig.Logger = in.Logger - listenerMeasures := ancla.ListenerConfig{ - Measures: *in.Measures, - } - webhookConfig.BasicClientConfig.HTTPClient = newHTTPClient(in.ArgusClientTimeout, in.Tracing) - - svc, err := ancla.NewService(webhookConfig, sallust.Get) - if err != nil { - return out, fmt.Errorf("failed to initialize webhook service: %s", err) - } + out.GetAllWebhooksHandler = ancla.NewGetAllWebhooksHandler(in.AnclaSvc, ancla.HandlerConfig{}) - stopWatches, err := svc.StartListener(listenerMeasures, sallust.With) - if err != nil { - return out, fmt.Errorf("webhook service start listener error: %s", err) - } - in.Logger.Info("Webhook service enabled") - - in.Lifecycle.Append(fx.Hook{ - OnStop: func(_ context.Context) error { - stopWatches() - return nil - }, - }) - - out.GetAllWebhooksHandler = ancla.NewGetAllWebhooksHandler(svc, ancla.HandlerConfig{ - GetLogger: sallust.Get, - }) - - checker, err := webhookConfig.Validation.BuildURLChecker() + checker, err := ancla.BuildURLChecker(in.WebhookConfig.Validation) if err != nil { return out, fmt.Errorf("failed to set up url checker for validation: %s", err) } - validationOpts := webhookConfig.Validation.BuildOptions(checker) - out.AddWebhookHandler = ancla.NewAddWebhookHandler(svc, ancla.HandlerConfig{ - V: validationOpts, - DisablePartnerIDs: webhookConfig.DisablePartnerIDs, - GetLogger: sallust.Get, + out.AddWebhookHandler = ancla.NewAddWebhookHandler(in.AnclaSvc, ancla.HandlerConfig{ + V: in.WebhookConfig.Validation.BuildOptions(checker), + DisablePartnerIDs: in.WebhookConfig.DisablePartnerIDs, }) - - v2Validators, err := v2WebhookValidators(webhookConfig) + v2Validators, err := v2WebhookValidators(in.WebhookConfig) if err != nil { return out, fmt.Errorf("failed to setup v2 webhook validators: %s", err) } - out.V2AddWebhookHandler = ancla.NewAddWebhookHandler(svc, ancla.HandlerConfig{ + out.V2AddWebhookHandler = ancla.NewAddWebhookHandler(in.AnclaSvc, ancla.HandlerConfig{ V: v2Validators, - DisablePartnerIDs: webhookConfig.DisablePartnerIDs, - GetLogger: sallust.Get, + DisablePartnerIDs: in.WebhookConfig.DisablePartnerIDs, }) in.Logger.Info("Webhook service enabled") @@ -191,6 +167,7 @@ func provideHandlers() fx.Option { arrange.ProvideKey(authAcquirerKey, authAcquirerConfig{}), fx.Provide( arrange.UnmarshalKey(webhookConfigKey, ancla.Config{}), + arrange.UnmarshalKey(anclaClientConfigKey, chrysom.BasicClientConfig{}), arrange.UnmarshalKey("prometheus", touchstone.Config{}), arrange.UnmarshalKey("prometheus.handler", touchhttp.Config{}), provideWebhookHandlers, diff --git a/tr1d1um.yaml b/tr1d1um.yaml index 9572c930..68ab2b12 100644 --- a/tr1d1um.yaml +++ b/tr1d1um.yaml @@ -202,11 +202,9 @@ webhook: # (Optional). Defaults to 'simple'. JWTParserType: "raw" BasicClientConfig: - # listen is the subsection that configures the listening feature of the argus client + # pullInterval provides how often the current webhooks list gets refreshed. # (Optional) - listen: - # pullInterval provides how often the current webhooks list gets refreshed. - pullInterval: 5s + pullInterval: 5s # bucket is the partition name where webhooks will be stored. bucket: "webhooks" @@ -218,7 +216,7 @@ webhook: auth: # basic configures basic authentication for argus. # Must be of form: 'Basic xyz==' - basic: "Basic dXNlcjpwYXNz" + # basic: "Basic dXNlcjpwYXNz" # # # jwt configures jwt style authentication for argus. # JWT: From 0a89a2103076f8e0a32a285b6579798fad5b596b Mon Sep 17 00:00:00 2001 From: Owen Cabalceta Date: Mon, 9 Dec 2024 16:44:43 -0500 Subject: [PATCH 2/2] chore: fix typos --- main.go | 4 ++-- tr1d1um.yaml | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 26fcade9..4eb727bf 100644 --- a/main.go +++ b/main.go @@ -12,7 +12,7 @@ import ( "runtime" "time" - "github.com/xmidt-org/ancla" + "github.com/xmidt-org/ancla/anclafx" "github.com/xmidt-org/arrange" "github.com/xmidt-org/arrange/arrangepprof" "github.com/xmidt-org/touchstone" @@ -193,7 +193,7 @@ func tr1d1um(arguments []string) (exitCode int) { arrange.ProvideKey("argusClientTimeout", httpClientTimeout{}), touchstone.Provide(), touchhttp.Provide(), - ancla.ProvideMetrics(), + anclafx.Provide(), arrangepprof.HTTP{ RouterName: "server_pprof", }.Provide(), diff --git a/tr1d1um.yaml b/tr1d1um.yaml index 68ab2b12..45136597 100644 --- a/tr1d1um.yaml +++ b/tr1d1um.yaml @@ -212,11 +212,11 @@ webhook: # address is Argus' network location. address: "http://localhost:6600" - # auth the authentication method for argus. - auth: - # basic configures basic authentication for argus. - # Must be of form: 'Basic xyz==' - # basic: "Basic dXNlcjpwYXNz" + # auth the authentication method for argus. + auth: + # basic configures basic authentication for argus. + # Must be of form: 'Basic xyz==' + basic: "Basic dXNlcjpwYXNz" # # # jwt configures jwt style authentication for argus. # JWT: